From dcf6140f778e0df2e1f49ab7f52dda149c25d33c Mon Sep 17 00:00:00 2001 From: marcos <15697303+gmarcosb@users.noreply.github.com> Date: Tue, 24 Sep 2024 16:51:19 -0600 Subject: [PATCH] Generated via ./scripts/tools/zap_regen_all.py --- docs/zap_clusters.md | 268 +- .../air-purifier-app.matter | 7 + .../air-quality-sensor-app.matter | 7 + .../all-clusters-app.matter | 7 + .../all-clusters-minimal-app.matter | 7 + .../bridge-common/bridge-app.matter | 7 + ...p_rootnode_dimmablelight_bCwGYSDpoe.matter | 7 + .../rootnode_airpurifier_73a6fe2651.matter | 7 + ...umiditysensor_thermostat_56de3d5f45.matter | 7 + ...ootnode_airqualitysensor_e63187f6c9.matter | 7 + ...ootnode_basicvideoplayer_0ff86e943b.matter | 7 + ...de_colortemperaturelight_hbUnzYVeyn.matter | 7 + .../rootnode_contactsensor_27f76aeaf5.matter | 7 + .../rootnode_contactsensor_lFAGG1bfRO.matter | 7 + .../rootnode_dimmablelight_bCwGYSDpoe.matter | 7 + ...tnode_dimmablepluginunit_f8a9a0b9d4.matter | 7 + .../rootnode_dishwasher_cc105034fe.matter | 7 + .../rootnode_doorlock_aNKYAreMXE.matter | 7 + ...tnode_extendedcolorlight_8lcaaYJVAa.matter | 7 + .../devices/rootnode_fan_7N2TobIlOX.matter | 7 + .../rootnode_flowsensor_1zVxHedlaV.matter | 7 + .../rootnode_genericswitch_2dfff6e516.matter | 7 + .../rootnode_genericswitch_9866e35d0b.matter | 7 + ...tnode_heatingcoolingunit_ncdGai1E5a.matter | 7 + .../rootnode_humiditysensor_Xyj4gda6Hb.matter | 7 + .../rootnode_laundrywasher_fb10d238c8.matter | 7 + .../rootnode_lightsensor_lZQycTFcJK.matter | 7 + ...rootnode_occupancysensor_iHyVgifZuo.matter | 7 + .../rootnode_onofflight_bbs1b7IaOV.matter | 7 + .../rootnode_onofflight_samplemei.matter | 7 + ...ootnode_onofflightswitch_FsPlMr090Q.matter | 7 + ...rootnode_onoffpluginunit_Wtf8ss5EBY.matter | 7 + .../rootnode_pressuresensor_s0qC9wLH4k.matter | 7 + .../devices/rootnode_pump_5f904818cc.matter | 7 + .../devices/rootnode_pump_a811bb33a0.matter | 7 + ...eraturecontrolledcabinet_ffdb696680.matter | 7 + ...ode_roboticvacuumcleaner_1807ff0c49.matter | 7 + ...tnode_roomairconditioner_9cf3607804.matter | 7 + .../rootnode_smokecoalarm_686fe0dcb8.matter | 7 + .../rootnode_speaker_RpzeXdimqA.matter | 7 + ...otnode_temperaturesensor_Qy1zkNW7c3.matter | 7 + .../rootnode_thermostat_bm3fb8dhYi.matter | 7 + ...otnode_waterleakdetector_0b067acfa3.matter | 7 + .../rootnode_windowcovering_RLCxaGi9Yx.matter | 7 + .../contact-sensor-app.matter | 7 + .../nxp/zap-lit/contact-sensor-app.matter | 7 + .../nxp/zap-sit/contact-sensor-app.matter | 7 + .../dishwasher-common/dishwasher-app.matter | 7 + .../energy-management-app.matter | 7 + .../fabric-bridge-app.matter | 7 + .../nxp/zap/laundry-washer-app.matter | 7 + .../light-switch-app.matter | 7 + .../light-switch-app/qpg/zap/switch.matter | 7 + .../lighting-common/lighting-app.matter | 7 + .../data_model/lighting-app-ethernet.matter | 7 + .../data_model/lighting-app-thread.matter | 7 + .../data_model/lighting-app-wifi.matter | 7 + .../lighting-common/lighting-app.matter | 7 + .../nxp/zap/lighting-on-off.matter | 7 + examples/lighting-app/qpg/zap/light.matter | 7 + .../data_model/lighting-thread-app.matter | 7 + .../data_model/lighting-wifi-app.matter | 7 + .../lit-icd-common/lit-icd-server-app.matter | 7 + examples/lock-app/lock-common/lock-app.matter | 7 + examples/lock-app/nxp/zap/lock-app.matter | 7 + examples/lock-app/qpg/zap/lock.matter | 7 + .../log-source-common/log-source-app.matter | 7 + .../microwave-oven-app.matter | 7 + .../network-manager-app.matter | 7 + .../ota-provider-app.matter | 7 + .../ota-requestor-app.matter | 7 + .../placeholder/linux/apps/app1/config.matter | 7 + .../placeholder/linux/apps/app2/config.matter | 7 + examples/pump-app/pump-common/pump-app.matter | 7 + .../silabs/data_model/pump-thread-app.matter | 7 + .../silabs/data_model/pump-wifi-app.matter | 7 + .../pump-controller-app.matter | 7 + .../refrigerator-app.matter | 7 + examples/rvc-app/rvc-common/rvc-app.matter | 7 + .../smoke-co-alarm-app.matter | 7 + .../temperature-measurement.matter | 7 + .../nxp/zap/thermostat_matter_thread.matter | 7 + .../nxp/zap/thermostat_matter_wifi.matter | 7 + .../qpg/zap/thermostaticRadiatorValve.matter | 7 + .../thermostat-common/thermostat.matter | 7 + .../thread-br-common/thread-br-app.matter | 7 + examples/tv-app/tv-common/tv-app.matter | 7 + .../tv-casting-common/tv-casting-app.matter | 7 + .../virtual-device-app.matter | 7 + examples/window-app/common/window-app.matter | 7 + .../data_model/controller-clusters.matter | 832 + .../chip/devicecontroller/ChipClusters.java | 4252 +++++ .../devicecontroller/ChipEventStructs.java | 557 + .../chip/devicecontroller/ChipStructs.java | 2424 +++ .../devicecontroller/ClusterIDMapping.java | 1248 ++ .../devicecontroller/ClusterInfoMapping.java | 12999 ++++++++------ .../devicecontroller/ClusterReadMapping.java | 1042 ++ .../devicecontroller/ClusterWriteMapping.java | 540 + .../chip/devicecontroller/cluster/files.gni | 28 + .../java/matter/controller/cluster/files.gni | 34 + .../CHIPAttributeTLVValueDecoder.cpp | 3250 ++++ .../CHIPEventTLVValueDecoder.cpp | 921 + .../python/chip/clusters/CHIPClusters.py | 975 ++ .../python/chip/clusters/Objects.py | 3529 ++++ .../MTRAttributeSpecifiedCheck.mm | 372 + .../MTRAttributeTLVValueDecoder.mm | 1275 ++ .../CHIP/zap-generated/MTRBaseClusters.h | 1204 ++ .../CHIP/zap-generated/MTRBaseClusters.mm | 5287 ++++++ .../CHIP/zap-generated/MTRClusterConstants.h | 181 + .../CHIP/zap-generated/MTRClusterNames.mm | 566 + .../CHIP/zap-generated/MTRClusters.h | 449 + .../CHIP/zap-generated/MTRClusters.mm | 1759 ++ .../zap-generated/MTRCommandPayloadsObjc.h | 1290 ++ .../zap-generated/MTRCommandPayloadsObjc.mm | 4483 +++++ .../MTRCommandPayloads_Internal.h | 252 + .../zap-generated/MTRCommandTimedCheck.mm | 72 + .../zap-generated/MTREventTLVValueDecoder.mm | 428 + .../CHIP/zap-generated/MTRStructsObjc.h | 255 + .../CHIP/zap-generated/MTRStructsObjc.mm | 1112 ++ .../zap-generated/attributes/Accessors.cpp | 597 + .../zap-generated/attributes/Accessors.h | 108 + .../app-common/zap-generated/callback.h | 464 + .../zap-generated/cluster-enums-check.h | 222 + .../app-common/zap-generated/cluster-enums.h | 291 + .../zap-generated/cluster-objects.cpp | 3669 +++- .../zap-generated/cluster-objects.h | 3856 +++++ .../app-common/zap-generated/ids/Attributes.h | 436 + .../app-common/zap-generated/ids/Clusters.h | 18 + .../app-common/zap-generated/ids/Commands.h | 204 + .../app-common/zap-generated/ids/Events.h | 32 + .../zap-generated/cluster/Commands.h | 5895 +++++-- .../cluster/ComplexArgumentParser.cpp | 1059 ++ .../cluster/ComplexArgumentParser.h | 125 + .../cluster/logging/DataModelLogger.cpp | 14391 +++++++++------- .../cluster/logging/DataModelLogger.h | 110 + .../cluster/logging/EntryToText.cpp | 401 + .../zap-generated/cluster/Commands.h | 13144 ++++++++++++++ 137 files changed, 83770 insertions(+), 13759 deletions(-) diff --git a/docs/zap_clusters.md b/docs/zap_clusters.md index 9171d07c2ad3f8..7abf30317e7ea4 100644 --- a/docs/zap_clusters.md +++ b/docs/zap_clusters.md @@ -10,137 +10,137 @@ Generally regenerate using one of: ## List of currently defined ZAP clusters -| Code (dec) | Code (hex) | Name | -|-----------:|-----------:|-------------------------------------------------------| -| 3 | 0x03 | Identify | -| 4 | 0x04 | Groups | -| 6 | 0x06 | OnOff | -| 7 | 0x07 | OnOffSwitchConfiguration | -| 8 | 0x08 | LevelControl | -| 15 | 0x0F | BinaryInputBasic | -| 28 | 0x1C | PulseWidthModulation | -| 29 | 0x1D | Descriptor | -| 30 | 0x1E | Binding | -| 31 | 0x1F | AccessControl | -| 37 | 0x25 | Actions | -| 40 | 0x28 | BasicInformation | -| 41 | 0x29 | OtaSoftwareUpdateProvider | -| 42 | 0x2A | OtaSoftwareUpdateRequestor | -| 43 | 0x2B | LocalizationConfiguration | -| 44 | 0x2C | TimeFormatLocalization | -| 45 | 0x2D | UnitLocalization | -| 46 | 0x2E | PowerSourceConfiguration | -| 47 | 0x2F | PowerSource | -| 48 | 0x30 | GeneralCommissioning | -| 49 | 0x31 | NetworkCommissioning | -| 50 | 0x32 | DiagnosticLogs | -| 51 | 0x33 | GeneralDiagnostics | -| 52 | 0x34 | SoftwareDiagnostics | -| 53 | 0x35 | ThreadNetworkDiagnostics | -| 54 | 0x36 | WiFiNetworkDiagnostics | -| 55 | 0x37 | EthernetNetworkDiagnostics | -| 56 | 0x38 | TimeSynchronization | -| 57 | 0x39 | BridgedDeviceBasicInformation | -| 59 | 0x3B | Switch | -| 60 | 0x3C | AdministratorCommissioning | -| 62 | 0x3E | OperationalCredentials | -| 63 | 0x3F | GroupKeyManagement | -| 64 | 0x40 | FixedLabel | -| 65 | 0x41 | UserLabel | -| 66 | 0x42 | ProxyConfiguration | -| 67 | 0x43 | ProxyDiscovery | -| 68 | 0x44 | ProxyValid | -| 69 | 0x45 | BooleanState | -| 70 | 0x46 | IcdManagement | -| 71 | 0x47 | Timer | -| 72 | 0x48 | OvenCavityOperationalState | -| 73 | 0x49 | OvenMode | -| 74 | 0x4A | LaundryDryerControls | -| 80 | 0x50 | ModeSelect | -| 81 | 0x51 | LaundryWasherMode | -| 82 | 0x52 | RefrigeratorAndTemperatureControlledCabinetMode | -| 83 | 0x53 | LaundryWasherControls | -| 84 | 0x54 | RvcRunMode | -| 85 | 0x55 | RvcCleanMode | -| 86 | 0x56 | TemperatureControl | -| 87 | 0x57 | RefrigeratorAlarm | -| 89 | 0x59 | DishwasherMode | -| 91 | 0x5B | AirQuality | -| 92 | 0x5C | SmokeCoAlarm | -| 93 | 0x5D | DishwasherAlarm | -| 94 | 0x5E | MicrowaveOvenMode | -| 95 | 0x5F | MicrowaveOvenControl | -| 96 | 0x60 | OperationalState | -| 97 | 0x61 | RvcOperationalState | -| 98 | 0x62 | ScenesManagement | -| 113 | 0x71 | HepaFilterMonitoring | -| 114 | 0x72 | ActivatedCarbonFilterMonitoring | -| 128 | 0x80 | BooleanStateConfiguration | -| 129 | 0x81 | ValveConfigurationAndControl | -| 144 | 0x90 | ElectricalPowerMeasurement | -| 145 | 0x91 | ElectricalEnergyMeasurement | -| 148 | 0x94 | WaterHeaterManagement | -| 150 | 0x96 | DemandResponseLoadControl | -| 151 | 0x97 | Messages | -| 152 | 0x98 | DeviceEnergyManagement | -| 153 | 0x99 | EnergyEvse | -| 155 | 0x9B | EnergyPreference | -| 156 | 0x9C | PowerTopology | -| 157 | 0x9D | EnergyEvseMode | -| 158 | 0x9E | WaterHeaterMode | -| 159 | 0x9F | DeviceEnergyManagementMode | -| 257 | 0x101 | DoorLock | -| 258 | 0x102 | WindowCovering | -| 259 | 0x103 | BarrierControl | -| 336 | 0x150 | ServiceArea | -| 512 | 0x200 | PumpConfigurationAndControl | -| 513 | 0x201 | Thermostat | -| 514 | 0x202 | FanControl | -| 516 | 0x204 | ThermostatUserInterfaceConfiguration | -| 768 | 0x300 | ColorControl | -| 769 | 0x301 | BallastConfiguration | -| 1024 | 0x400 | IlluminanceMeasurement | -| 1026 | 0x402 | TemperatureMeasurement | -| 1027 | 0x403 | PressureMeasurement | -| 1028 | 0x404 | FlowMeasurement | -| 1029 | 0x405 | RelativeHumidityMeasurement | -| 1030 | 0x406 | OccupancySensing | -| 1036 | 0x40C | CarbonMonoxideConcentrationMeasurement | -| 1037 | 0x40D | CarbonDioxideConcentrationMeasurement | -| 1043 | 0x413 | NitrogenDioxideConcentrationMeasurement | -| 1045 | 0x415 | OzoneConcentrationMeasurement | -| 1066 | 0x42A | Pm25ConcentrationMeasurement | -| 1067 | 0x42B | FormaldehydeConcentrationMeasurement | -| 1068 | 0x42C | Pm1ConcentrationMeasurement | -| 1069 | 0x42D | Pm10ConcentrationMeasurement | -| 1070 | 0x42E | TotalVolatileOrganicCompoundsConcentrationMeasurement | -| 1071 | 0x42F | RadonConcentrationMeasurement | -| 1105 | 0x451 | WiFiNetworkManagement | -| 1106 | 0x452 | ThreadBorderRouterManagement | -| 1107 | 0x453 | ThreadNetworkDirectory | -| 1283 | 0x503 | WakeOnLan | -| 1284 | 0x504 | Channel | -| 1285 | 0x505 | TargetNavigator | -| 1286 | 0x506 | MediaPlayback | -| 1287 | 0x507 | MediaInput | -| 1288 | 0x508 | LowPower | -| 1289 | 0x509 | KeypadInput | -| 1290 | 0x50A | ContentLauncher | -| 1291 | 0x50B | AudioOutput | -| 1292 | 0x50C | ApplicationLauncher | -| 1293 | 0x50D | ApplicationBasic | -| 1294 | 0x50E | AccountLogin | -| 1295 | 0x50F | ContentControl | -| 1296 | 0x510 | ContentAppObserver | -| 1361 | 0x551 | CameraAvStreamManagement | -| 1362 | 0x552 | CameraAvSettingsUserLevelManagement | -| 1363 | 0x553 | WebRtcTransportProvider | -| 1364 | 0x554 | WebRtcTransportRequestor | -| 1365 | 0x555 | PushAvStreamTransport | -| 1366 | 0x556 | Chime | -| 1872 | 0x750 | EcosystemInformation | -| 1873 | 0x751 | CommissionerControl | -| 2820 | 0xB04 | ElectricalMeasurement | -| 4294048773 | 0xFFF1FC05 | UnitTesting | -| 4294048774 | 0xFFF1FC06 | FaultInjection | -| 4294048800 | 0xFFF1FC20 | SampleMei | +| Code (dec) | Code (hex) | Name | +| ---------- | ---------- | ------------------------------------------------------- | +| 3 | 0x03 | Identify | +| 4 | 0x04 | Groups | +| 6 | 0x06 | OnOff | +| 7 | 0x07 | OnOffSwitchConfiguration | +| 8 | 0x08 | LevelControl | +| 15 | 0x0F | BinaryInputBasic | +| 28 | 0x1C | PulseWidthModulation | +| 29 | 0x1D | Descriptor | +| 30 | 0x1E | Binding | +| 31 | 0x1F | AccessControl | +| 37 | 0x25 | Actions | +| 40 | 0x28 | BasicInformation | +| 41 | 0x29 | OtaSoftwareUpdateProvider | +| 42 | 0x2A | OtaSoftwareUpdateRequestor | +| 43 | 0x2B | LocalizationConfiguration | +| 44 | 0x2C | TimeFormatLocalization | +| 45 | 0x2D | UnitLocalization | +| 46 | 0x2E | PowerSourceConfiguration | +| 47 | 0x2F | PowerSource | +| 48 | 0x30 | GeneralCommissioning | +| 49 | 0x31 | NetworkCommissioning | +| 50 | 0x32 | DiagnosticLogs | +| 51 | 0x33 | GeneralDiagnostics | +| 52 | 0x34 | SoftwareDiagnostics | +| 53 | 0x35 | ThreadNetworkDiagnostics | +| 54 | 0x36 | WiFiNetworkDiagnostics | +| 55 | 0x37 | EthernetNetworkDiagnostics | +| 56 | 0x38 | TimeSynchronization | +| 57 | 0x39 | BridgedDeviceBasicInformation | +| 59 | 0x3B | Switch | +| 60 | 0x3C | AdministratorCommissioning | +| 62 | 0x3E | OperationalCredentials | +| 63 | 0x3F | GroupKeyManagement | +| 64 | 0x40 | FixedLabel | +| 65 | 0x41 | UserLabel | +| 66 | 0x42 | ProxyConfiguration | +| 67 | 0x43 | ProxyDiscovery | +| 68 | 0x44 | ProxyValid | +| 69 | 0x45 | BooleanState | +| 70 | 0x46 | IcdManagement | +| 71 | 0x47 | Timer | +| 72 | 0x48 | OvenCavityOperationalState | +| 73 | 0x49 | OvenMode | +| 74 | 0x4A | LaundryDryerControls | +| 80 | 0x50 | ModeSelect | +| 81 | 0x51 | LaundryWasherMode | +| 82 | 0x52 | RefrigeratorAndTemperatureControlledCabinetMode | +| 83 | 0x53 | LaundryWasherControls | +| 84 | 0x54 | RvcRunMode | +| 85 | 0x55 | RvcCleanMode | +| 86 | 0x56 | TemperatureControl | +| 87 | 0x57 | RefrigeratorAlarm | +| 89 | 0x59 | DishwasherMode | +| 91 | 0x5B | AirQuality | +| 92 | 0x5C | SmokeCoAlarm | +| 93 | 0x5D | DishwasherAlarm | +| 94 | 0x5E | MicrowaveOvenMode | +| 95 | 0x5F | MicrowaveOvenControl | +| 96 | 0x60 | OperationalState | +| 97 | 0x61 | RvcOperationalState | +| 98 | 0x62 | ScenesManagement | +| 113 | 0x71 | HepaFilterMonitoring | +| 114 | 0x72 | ActivatedCarbonFilterMonitoring | +| 128 | 0x80 | BooleanStateConfiguration | +| 129 | 0x81 | ValveConfigurationAndControl | +| 144 | 0x90 | ElectricalPowerMeasurement | +| 145 | 0x91 | ElectricalEnergyMeasurement | +| 148 | 0x94 | WaterHeaterManagement | +| 150 | 0x96 | DemandResponseLoadControl | +| 151 | 0x97 | Messages | +| 152 | 0x98 | DeviceEnergyManagement | +| 153 | 0x99 | EnergyEvse | +| 155 | 0x9B | EnergyPreference | +| 156 | 0x9C | PowerTopology | +| 157 | 0x9D | EnergyEvseMode | +| 158 | 0x9E | WaterHeaterMode | +| 159 | 0x9F | DeviceEnergyManagementMode | +| 257 | 0x101 | DoorLock | +| 258 | 0x102 | WindowCovering | +| 259 | 0x103 | BarrierControl | +| 336 | 0x150 | ServiceArea | +| 512 | 0x200 | PumpConfigurationAndControl | +| 513 | 0x201 | Thermostat | +| 514 | 0x202 | FanControl | +| 516 | 0x204 | ThermostatUserInterfaceConfiguration | +| 768 | 0x300 | ColorControl | +| 769 | 0x301 | BallastConfiguration | +| 1024 | 0x400 | IlluminanceMeasurement | +| 1026 | 0x402 | TemperatureMeasurement | +| 1027 | 0x403 | PressureMeasurement | +| 1028 | 0x404 | FlowMeasurement | +| 1029 | 0x405 | RelativeHumidityMeasurement | +| 1030 | 0x406 | OccupancySensing | +| 1036 | 0x40C | CarbonMonoxideConcentrationMeasurement | +| 1037 | 0x40D | CarbonDioxideConcentrationMeasurement | +| 1043 | 0x413 | NitrogenDioxideConcentrationMeasurement | +| 1045 | 0x415 | OzoneConcentrationMeasurement | +| 1066 | 0x42A | Pm25ConcentrationMeasurement | +| 1067 | 0x42B | FormaldehydeConcentrationMeasurement | +| 1068 | 0x42C | Pm1ConcentrationMeasurement | +| 1069 | 0x42D | Pm10ConcentrationMeasurement | +| 1070 | 0x42E | TotalVolatileOrganicCompoundsConcentrationMeasurement | +| 1071 | 0x42F | RadonConcentrationMeasurement | +| 1105 | 0x451 | WiFiNetworkManagement | +| 1106 | 0x452 | ThreadBorderRouterManagement | +| 1107 | 0x453 | ThreadNetworkDirectory | +| 1283 | 0x503 | WakeOnLan | +| 1284 | 0x504 | Channel | +| 1285 | 0x505 | TargetNavigator | +| 1286 | 0x506 | MediaPlayback | +| 1287 | 0x507 | MediaInput | +| 1288 | 0x508 | LowPower | +| 1289 | 0x509 | KeypadInput | +| 1290 | 0x50A | ContentLauncher | +| 1291 | 0x50B | AudioOutput | +| 1292 | 0x50C | ApplicationLauncher | +| 1293 | 0x50D | ApplicationBasic | +| 1294 | 0x50E | AccountLogin | +| 1295 | 0x50F | ContentControl | +| 1296 | 0x510 | ContentAppObserver | +| 1361 | 0x551 | CameraAvStreamManagement | +| 1362 | 0x552 | CameraAvSettingsUserLevelManagement | +| 1363 | 0x553 | WebRTCTransportProvider | +| 1364 | 0x554 | WebRTCTransportRequestor | +| 1365 | 0x555 | PushAvStreamTransport | +| 1366 | 0x556 | Chime | +| 1872 | 0x750 | EcosystemInformation | +| 1873 | 0x751 | CommissionerControl | +| 2820 | 0xB04 | ElectricalMeasurement | +| 4294048773 | 0xFFF1FC05 | UnitTesting | +| 4294048774 | 0xFFF1FC06 | FaultInjection | +| 4294048800 | 0xFFF1FC20 | SampleMei | diff --git a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter index ef3be8e5f2e630..dbcd306f440fd4 100644 --- a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter +++ b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter index 408754950cdf6b..dd9a87d59d6b5d 100644 --- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter +++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index 8debb1a4930f33..d46e0b405f6865 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index 7c209b80465f18..0f3b3daa91e933 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index f1cdf949a70524..b6366cb6139420 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index b837d4bbb6423a..591975a8c890c6 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter index a9706c7fb0fd64..b3162e9f7d76d6 100644 --- a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter +++ b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter index 2af9aa19a2f1f5..7bf66875f8c6b0 100644 --- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter +++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter index ef127a4ba46cde..d81688a99ba773 100644 --- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter +++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter index 60e29aeeb5f96b..408046fbd8ce14 100644 --- a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter +++ b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter index b09fc6ffc012ab..dd7237f308d14d 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter index 8b30190553c843..ff9aa001faeb8e 100644 --- a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter +++ b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter index 3e3a4eaa84963f..d7b9a30a1d52ba 100644 --- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter +++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index 4c659dcce73dee..3002172a40945b 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter index 92b02371029b94..80704d8103d287 100644 --- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter +++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter index 07232aa02be8e1..78a02cf9bc2e2b 100644 --- a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter +++ b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter index 2b27a22610f7b4..ec1a2ade8463ec 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index 265dc262215921..c0fdf502f9d125 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter index 19e0d8a149ea9b..c0ac027b0c11fe 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter index eb578e77f624d1..70caacbe21ce44 100644 --- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter +++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter index 9c8d9477b2c0ef..f030729087b959 100644 --- a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter +++ b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter index a083afc80331bc..d02fea2b003623 100644 --- a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter +++ b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index 84675efc397ef9..b65d24c99a49bb 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter index 00f7af07eed1b9..0d6e30091f74c0 100644 --- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter +++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter index 42e7362bde656d..61459fa58ac12f 100644 --- a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter +++ b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter index 902658e2ffd476..a334755a2344ce 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter index 65a0c9cce398a4..2c28f0a57d5af8 100644 --- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter +++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index 6cbdac26fa5923..e1826d6434d0ae 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter index 35addbe1b2cac6..c7690c5693df78 100644 --- a/examples/chef/devices/rootnode_onofflight_samplemei.matter +++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter index 7c82c5b9b53516..a07b0dbbbdbf7e 100644 --- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter +++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter index 5fe0482fb1e137..b8abd216e517ae 100644 --- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter +++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter index 44ad0bfb504d30..d5124644b62f56 100644 --- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter +++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.matter b/examples/chef/devices/rootnode_pump_5f904818cc.matter index e8141a4d66db35..5c36b42df1794a 100644 --- a/examples/chef/devices/rootnode_pump_5f904818cc.matter +++ b/examples/chef/devices/rootnode_pump_5f904818cc.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_pump_a811bb33a0.matter b/examples/chef/devices/rootnode_pump_a811bb33a0.matter index bb889d64c319e1..a9aba56bc2affd 100644 --- a/examples/chef/devices/rootnode_pump_a811bb33a0.matter +++ b/examples/chef/devices/rootnode_pump_a811bb33a0.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter index 13d8b98e93f7f0..3f06a676a34a02 100644 --- a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter +++ b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter index 2922ddca5d7ace..5c4823c4aefeb9 100644 --- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter +++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter index 654c955586b685..0f0c1815a5c906 100644 --- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter +++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter index 1057b859f6abf3..ac7a3da3952a7a 100644 --- a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter +++ b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter index a4fe9d839c4a48..b68dd3b397399d 100644 --- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter +++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter index 60aacfe955c687..a0d4b68bd5141c 100644 --- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter +++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index c38c38b0a1d88c..5a9592ddf0995f 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter index dec13bdf452e45..22c1b4f88fdc05 100644 --- a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter +++ b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter index a57c946cfa0f93..fb0a50a38af47e 100644 --- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter +++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter index 60e67e4c4a7c46..01f72c0d44e271 100644 --- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter +++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter index 5e877d10e662a1..52dfad274527ef 100644 --- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter +++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter index e60ea683965225..bbf9333d9b9b27 100644 --- a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter +++ b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter index 0df498ea2952f4..391a06bc07e217 100644 --- a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter +++ b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/energy-management-app/energy-management-common/energy-management-app.matter b/examples/energy-management-app/energy-management-common/energy-management-app.matter index 9b9bf1476e0f0e..dd4b588d26821e 100644 --- a/examples/energy-management-app/energy-management-common/energy-management-app.matter +++ b/examples/energy-management-app/energy-management-common/energy-management-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter index 0b4cb214b5f3be..ed7b86037fa8d2 100644 --- a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter +++ b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter index adc4fe3de8065e..e67b943f2affb4 100644 --- a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter +++ b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index a18f0c9724cda2..88863ac77a1043 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/light-switch-app/qpg/zap/switch.matter b/examples/light-switch-app/qpg/zap/switch.matter index 23033c78bffda8..32ef2b925ecaf4 100644 --- a/examples/light-switch-app/qpg/zap/switch.matter +++ b/examples/light-switch-app/qpg/zap/switch.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter index c19c7d7bf8e67a..055f2500df9c94 100644 --- a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter +++ b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter index c51e6ee8ca0d7f..1d439eb8a9136b 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter index 33d68c727dba51..0f3f2cf221a77b 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter index 78eed27958bc67..40948cfc9d9ee0 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index 16e722d746b3d1..82c0d7f713a8f9 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter index 0bca04dad59429..99a3c51c4111a5 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.matter +++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter index 6509c9202d54b8..a352d37dbb0997 100644 --- a/examples/lighting-app/qpg/zap/light.matter +++ b/examples/lighting-app/qpg/zap/light.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter index 03373bfdda8668..9adf073d9ae9e9 100644 --- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter index ae68bac12e3e61..9491cc517d9d34 100644 --- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter index 6c5e4af56cbee4..96e6d9c4059258 100644 --- a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter +++ b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter index 2f2b9dd40850d8..6a714d7fd300d1 100644 --- a/examples/lock-app/lock-common/lock-app.matter +++ b/examples/lock-app/lock-common/lock-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lock-app/nxp/zap/lock-app.matter b/examples/lock-app/nxp/zap/lock-app.matter index 347ad97fbe2946..d9a10d969dff6d 100644 --- a/examples/lock-app/nxp/zap/lock-app.matter +++ b/examples/lock-app/nxp/zap/lock-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter index 303b079b910cac..ae95486d93f920 100644 --- a/examples/lock-app/qpg/zap/lock.matter +++ b/examples/lock-app/qpg/zap/lock.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter index 18f096a55eddfb..3da4e2a7ec49c4 100644 --- a/examples/log-source-app/log-source-common/log-source-app.matter +++ b/examples/log-source-app/log-source-common/log-source-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter index 0ac59afb131cd9..6ed9c10e503084 100644 --- a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter +++ b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/network-manager-app/network-manager-common/network-manager-app.matter b/examples/network-manager-app/network-manager-common/network-manager-app.matter index 273b523ce5060f..2408caaaaeb519 100644 --- a/examples/network-manager-app/network-manager-common/network-manager-app.matter +++ b/examples/network-manager-app/network-manager-common/network-manager-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter index 5958192ce981e1..85f62e500506fc 100644 --- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter +++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter index c61a4908d01f1f..0d44285e3a9d98 100644 --- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter +++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index bf5e6d6b75af16..54fbdc84d0a815 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 26651684750454..836855f536b30e 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index 7031fc2ecf3d26..fc30273ac010bb 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/pump-app/silabs/data_model/pump-thread-app.matter b/examples/pump-app/silabs/data_model/pump-thread-app.matter index 7dca9cc390c4af..c45e6dcfb8a2b3 100644 --- a/examples/pump-app/silabs/data_model/pump-thread-app.matter +++ b/examples/pump-app/silabs/data_model/pump-thread-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/pump-app/silabs/data_model/pump-wifi-app.matter b/examples/pump-app/silabs/data_model/pump-wifi-app.matter index 7dca9cc390c4af..c45e6dcfb8a2b3 100644 --- a/examples/pump-app/silabs/data_model/pump-wifi-app.matter +++ b/examples/pump-app/silabs/data_model/pump-wifi-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter index 0207abc4600cef..43d27b44e15fce 100644 --- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter +++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter index 892012082c0d71..a505667ce3ac15 100644 --- a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter +++ b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/rvc-app/rvc-common/rvc-app.matter b/examples/rvc-app/rvc-common/rvc-app.matter index 974c0dc73a689c..88c30958d39dd7 100644 --- a/examples/rvc-app/rvc-common/rvc-app.matter +++ b/examples/rvc-app/rvc-common/rvc-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter index 1af9ccc34b0422..f0dc18fd1ef19e 100644 --- a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter +++ b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter index cf4d7159fdbf52..343116094ec56c 100644 --- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter +++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter index 179a2c5bf19a90..849a177ec57626 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter index 820bd331ad6a6d..a80844948a73c6 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter index d88d6ec1feee1a..6d1a8f3f8bf29b 100644 --- a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter +++ b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index 6feefe3bba1c14..8f037e9317e64a 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/thread-br-app/thread-br-common/thread-br-app.matter b/examples/thread-br-app/thread-br-common/thread-br-app.matter index 9498dee8be25d3..1244a52ce863f7 100644 --- a/examples/thread-br-app/thread-br-common/thread-br-app.matter +++ b/examples/thread-br-app/thread-br-common/thread-br-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index bd2f29d653067b..a4855f056b63ae 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 3e4fe7fa47bc06..8347a4c77d9399 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter index 07baa25e19ebc3..1d175e1fa025f0 100644 --- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter +++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter index 61a8208e0cb4bf..3bbb0f7a720d94 100644 --- a/examples/window-app/common/window-app.matter +++ b/examples/window-app/common/window-app.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index ea7ab01b39d2dd..1a25a80b17613c 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -212,6 +212,13 @@ enum TestGlobalEnum : enum8 { kFinalValue = 2; } +enum ThreeLevelAutoEnum : enum8 { + kLow = 0; + kMedium = 1; + kHigh = 2; + kAutomatic = 3; +} + bitmap TestGlobalBitmap : bitmap32 { kFirstBit = 0x1; kSecondBit = 0x2; @@ -9376,6 +9383,831 @@ provisional cluster ContentAppObserver = 1296 { command ContentAppMessage(ContentAppMessageRequest): ContentAppMessageResponse = 0; } +/** This cluster is used to allow clients to manage, control, and configure various + audio, video, and snapshot streams on a camera. */ +provisional cluster CameraAvStreamManagement = 1361 { + revision 1; + + enum AudioCodecEnum : enum8 { + kOPUS = 0; + kAACLC = 1; + } + + enum ImageCodecEnum : enum8 { + kJPEG = 0; + } + + enum StreamTypeEnum : enum8 { + kInternal = 0; + kRecording = 1; + kAnalysis = 2; + kLiveView = 3; + } + + enum TriStateAuto : enum8 { + kOff = 0; + kOn = 1; + kAuto = 2; + } + + enum TwowayTalkSupportTypeEnum : enum8 { + kNotSupported = 0; + kHalfDuplex = 1; + kFullDuplex = 2; + } + + enum VideoCodecEnum : enum8 { + kH264 = 0; + kHEVC = 1; + kVVC = 2; + kAV1 = 3; + } + + bitmap Feature : bitmap32 { + kPrivacy = 0x1; + kSensorControl = 0x2; + kAudio = 0x4; + kImageControl = 0x8; + kVideo = 0x10; + kSnapshot = 0x20; + kLocalStorage = 0x40; + } + + struct AudioCapabilitiesStruct { + int8u maxNumberOfChannels = 0; + AudioCodecEnum supportedCodecs[] = 1; + int32u supportedSampleRates[] = 2; + int32u supportedBitDepths[] = 3; + } + + struct AudioStreamStruct { + int16u audioStreamID = 0; + StreamTypeEnum streamType = 1; + AudioCodecEnum audioCodec = 2; + int8u channelCount = 3; + int32u sampleRate = 4; + int32u bitRate = 5; + int8u bitDepth = 6; + int8u referenceCount = 7; + } + + struct PerStreamStruct { + int16u streamID = 0; + boolean onOff = 1; + } + + struct RateDistortionTradeOffPointsStruct { + VideoCodecEnum codec = 0; + DimensionStruct resolution = 1; + int32u minBitRate = 2; + } + + struct SnapshotParamsStruct { + DimensionStruct resolution = 0; + int16u maxFrameRate = 1; + ImageCodecEnum imageCodec = 2; + } + + struct SnapshotStreamStruct { + int16u snapshotStreamID = 0; + ImageCodecEnum imageCodec = 1; + int16u frameRate = 2; + int32u bitRate = 3; + DimensionStruct minResolution = 4; + DimensionStruct maxResolution = 5; + int8u quality = 6; + int8u referenceCount = 7; + } + + struct VideoSensorParamsStruct { + int16u sensorWidth = 0; + int16u sensorHeight = 1; + boolean HDRCapable = 2; + int16u maxFPS = 3; + int16u maxHDRFPS = 4; + } + + struct VideoStreamStruct { + int16u videoStreamID = 0; + StreamTypeEnum streamType = 1; + VideoCodecEnum videoCodec = 2; + int16u minFrameRate = 3; + int16u maxFrameRate = 4; + DimensionStruct minResolution = 5; + DimensionStruct maxResolution = 6; + int16u minBitRate = 7; + int16u maxBitRate = 8; + int16u minFragmentLen = 9; + int16u maxFragmentLen = 10; + int8u referenceCount = 11; + } + + struct ViewportStruct { + int16u x1 = 0; + int16u y1 = 1; + int16u x2 = 2; + int16u y2 = 3; + } + + info event VideoStreamChanged = 0 { + int16u videoStreamID = 0; + optional StreamTypeEnum streamType = 1; + optional VideoCodecEnum videoCodec = 2; + optional int16u minFrameRate = 3; + optional int16u maxFrameRate = 4; + optional DimensionStruct minResolution = 5; + optional DimensionStruct maxResolution = 6; + optional int16u minBitRate = 7; + optional int16u maxBitRate = 8; + optional int16u minFragmentLen = 9; + optional int16u maxFragmentLen = 10; + } + + info event AudioStreamChanged = 1 { + int16u audioStreamID = 0; + optional StreamTypeEnum streamType = 1; + optional AudioCodecEnum audioCodec = 2; + optional int8u channelCount = 3; + optional int32u sampleRate = 4; + optional int32u bitRate = 5; + optional int8u bitDepth = 6; + } + + info event SnapshotStreamChanged = 2 { + int16u snapshotStreamID = 0; + optional ImageCodecEnum imageCodec = 1; + optional int16u frameRate = 2; + optional int32u bitRate = 3; + optional DimensionStruct minResolution = 4; + optional DimensionStruct maxResolution = 5; + optional int8u quality = 6; + } + + readonly attribute access(read: administer) optional int8u maxConcurrentVideoEncoders = 0; + readonly attribute access(read: administer) optional int32u maxEncodedPixelRate = 1; + readonly attribute access(read: administer) optional VideoSensorParamsStruct videoSensorParams = 2; + readonly attribute access(read: administer) optional boolean nightVisionCapable = 3; + readonly attribute access(read: administer) optional DimensionStruct minViewPortWidth = 4; + readonly attribute access(read: administer) optional DimensionStruct minViewPortHeight = 5; + readonly attribute access(read: administer) optional RateDistortionTradeOffPointsStruct rateDistortionTradeOffPoints[] = 6; + readonly attribute access(read: administer) optional int32u maxPreRollBufferSize = 7; + readonly attribute access(read: administer) optional AudioCapabilitiesStruct microphoneCapabilities = 8; + readonly attribute access(read: administer) optional AudioCapabilitiesStruct speakerCapabilities = 9; + readonly attribute access(read: administer) optional TwowayTalkSupportTypeEnum twoWayTalkSupport = 10; + readonly attribute access(read: administer) optional SnapshotParamsStruct supportedSnapshotParams[] = 11; + readonly attribute access(read: administer) optional boolean HDRCapable = 12; + readonly attribute access(read: administer) int32u maxNetworkBandwidth = 13; + readonly attribute access(read: administer) optional int16u currentFrameRate = 14; + attribute access(read: administer, write: administer) optional boolean HDRMode = 15; + readonly attribute access(read: administer) optional VideoCodecEnum currentVideoCodecs[] = 16; + readonly attribute access(read: administer) optional SnapshotParamsStruct currentSnapshotConfig = 17; + readonly attribute access(read: administer) fabric_idx fabricsUsingCamera[] = 18; + readonly attribute access(read: administer) optional VideoStreamStruct allocatedVideoStreams[] = 19; + readonly attribute access(read: administer) optional AudioStreamStruct allocatedAudioStreams[] = 20; + readonly attribute access(read: administer) optional SnapshotStreamStruct allocatedSnapshotStreams[] = 21; + attribute access(read: administer, write: administer) optional StreamTypeEnum rankedVideoStreamPrioritiesList[] = 22; + attribute access(read: administer, write: administer) optional boolean softRecordingPrivacyModeSetting = 23; + attribute access(read: administer, write: administer) optional boolean softLivestreamPrivacyModeSetting = 24; + readonly attribute access(read: administer) optional boolean hardPrivacyMode = 25; + attribute access(read: administer, write: administer) optional TriStateAuto nightVision = 26; + attribute access(read: administer, write: administer) optional TriStateAuto nightVisionIllum = 27; + attribute access(read: administer, write: administer) optional boolean awb = 28; + attribute access(read: administer, write: administer) optional boolean shutterSpeed = 29; + attribute access(read: administer, write: administer) optional boolean iso = 30; + readonly attribute access(read: administer) optional ViewportStruct viewport = 31; + attribute access(read: administer, write: administer) optional boolean spkrOnOff = 32; + attribute access(read: administer, write: administer) optional int8u spkrVolumeLevel = 33; + attribute access(read: administer, write: administer) optional int8u spkrMaxLevel = 34; + attribute access(read: administer, write: administer) optional int8u spkrMinLevel = 35; + attribute access(read: administer, write: administer) optional boolean micOnOff = 36; + attribute access(read: administer, write: administer) optional int8u micCurrentLevel = 37; + attribute access(read: administer, write: administer) optional int8u micMaxLevel = 38; + attribute access(read: administer, write: administer) optional int8u micMinLevel = 39; + attribute access(read: administer, write: administer) optional boolean micAGC = 40; + readonly attribute access(read: administer) optional int16u imageRotation = 41; + readonly attribute access(read: administer) optional boolean imageFlipHorizontal = 42; + readonly attribute access(read: administer) optional boolean imageFlipVertical = 43; + attribute access(read: administer, write: administer) optional boolean localVideoRecordingEnabled = 44; + attribute access(read: administer, write: administer) optional boolean localSnapshotRecordingEnabled = 45; + attribute access(read: administer, write: administer) optional boolean statusLight = 46; + attribute access(read: administer, write: administer) optional ThreeLevelAutoEnum statusLightBrightness = 47; + attribute access(read: administer, write: administer) optional TriStateAuto depthSensorStatus = 48; + attribute access(read: administer, write: administer) optional PerStreamStruct watermarkEnabled[] = 49; + attribute access(read: administer, write: administer) optional PerStreamStruct OSDEnabled[] = 50; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct AudioStreamAllocateRequest { + StreamTypeEnum streamType = 0; + AudioCodecEnum audioCodec = 1; + int8u channelCount = 2; + int32u sampleRate = 3; + int32u bitRate = 4; + int8u bitDepth = 5; + } + + response struct AudioStreamAllocateResponse = 1 { + int16u audioStreamID = 0; + } + + request struct AudioStreamDeallocateRequest { + int16u audioStreamID = 0; + } + + request struct VideoStreamAllocateRequest { + StreamTypeEnum streamType = 0; + VideoCodecEnum videoCodec = 1; + int16u minFrameRate = 2; + int16u maxFrameRate = 3; + DimensionStruct minResolution = 4; + DimensionStruct maxResolution = 5; + int32u minBitRate = 6; + int32u maxBitRate = 7; + int16u minFragmentLen = 8; + int16u maxFragmentLen = 9; + } + + response struct VideoStreamAllocateResponse = 4 { + int16u videoStreamID = 0; + } + + request struct VideoStreamModifyRequest { + int16u videoStreamID = 0; + DimensionStruct resolution = 1; + } + + request struct VideoStreamDeallocateRequest { + int16u videoStreamID = 0; + } + + request struct SnapshotStreamAllocateRequest { + ImageCodecEnum imageCodec = 0; + int16u frameRate = 1; + int32u bitRate = 2; + DimensionStruct minResolution = 3; + DimensionStruct maxResolution = 4; + int8u quality = 5; + } + + response struct SnapshotStreamAllocateResponse = 8 { + int16u snapshotStreamID = 0; + } + + request struct SnapshotStreamDeallocateRequest { + int16u snapshotStreamID = 0; + } + + request struct CaptureSnapshotRequest { + int16u snapshotStreamID = 0; + DimensionStruct requestedResolution = 1; + } + + response struct CaptureSnapshotResponse = 12 { + octet_string data = 0; + ImageCodecEnum imageCodec = 1; + DimensionStruct resolution = 2; + } + + request struct SetViewportRequest { + ViewportStruct viewport = 0; + } + + request struct SetImageRotationRequest { + int16u angle = 0; + } + + request struct SetImageFlipHorizontalRequest { + boolean onOff = 0; + } + + request struct SetImageFlipVerticalRequest { + boolean onOff = 0; + } + + /** This command SHALL allocate an audio stream on the camera and return an allocated audio stream identifier. */ + command access(invoke: administer) AudioStreamAllocate(AudioStreamAllocateRequest): AudioStreamAllocateResponse = 0; + /** This command SHALL deallocate an audio stream on the camera, corresponding to the given audio stream identifier. */ + command access(invoke: administer) AudioStreamDeallocate(AudioStreamDeallocateRequest): DefaultSuccess = 2; + /** This command SHALL allocate a video stream on the camera and return an allocated video stream identifier. */ + command access(invoke: administer) VideoStreamAllocate(VideoStreamAllocateRequest): VideoStreamAllocateResponse = 3; + /** This command SHALL be used to modify the resolution of a stream specified by the VideoStreamID. */ + command access(invoke: administer) VideoStreamModify(VideoStreamModifyRequest): DefaultSuccess = 5; + /** This command SHALL deallocate a video stream on the camera, corresponding to the given video stream identifier. */ + command access(invoke: administer) VideoStreamDeallocate(VideoStreamDeallocateRequest): DefaultSuccess = 6; + /** This command SHALL allocate a snapshot stream on the device and return an allocated snapshot stream identifier. */ + command access(invoke: administer) SnapshotStreamAllocate(SnapshotStreamAllocateRequest): SnapshotStreamAllocateResponse = 7; + /** This command SHALL deallocate an snapshot stream on the camera, corresponding to the given snapshot stream identifier. */ + command access(invoke: administer) SnapshotStreamDeallocate(SnapshotStreamDeallocateRequest): DefaultSuccess = 9; + command access(invoke: administer) SetStreamPriority(): DefaultSuccess = 10; + /** This command SHALL return a Snapshot from the camera. */ + command access(invoke: administer) CaptureSnapshot(CaptureSnapshotRequest): DefaultSuccess = 11; + /** This command SHALL set the viewport in all video streams. */ + command SetViewport(SetViewportRequest): DefaultSuccess = 13; + /** The data fields for this command SHALL be as follows: */ + command SetImageRotation(SetImageRotationRequest): DefaultSuccess = 14; + /** The data fields for this command SHALL be as follows: */ + command SetImageFlipHorizontal(SetImageFlipHorizontalRequest): DefaultSuccess = 15; + /** The data fields for this command SHALL be as follows: */ + command SetImageFlipVertical(SetImageFlipVerticalRequest): DefaultSuccess = 16; +} + +/** This cluster provides an interface into controls associated with the operation of a device that provides pan, tilt, and zoom functions, either mechanically, or against a digital image. */ +provisional cluster CameraAvSettingsUserLevelManagement = 1362 { + revision 1; + + bitmap Feature : bitmap32 { + kMechanicalPTZ = 0x1; + kDigitalPTZ = 0x2; + } + + struct MPTZStruct { + optional nullable int16s MPan = 0; + optional nullable int8s MTilt = 1; + optional nullable int16u MZoom = 2; + } + + struct PerStreamStruct { + int16u streamID = 0; + boolean onOff = 1; + } + + struct ViewportStruct { + int16u x1 = 0; + int16u y1 = 1; + int16u x2 = 2; + int16u y2 = 3; + } + + readonly attribute optional MPTZStruct mptz = 0; + readonly attribute optional int8u maxPresets = 1; + readonly attribute optional MPTZStruct presetMptzTable[] = 2; + readonly attribute optional boolean mptzRelativeMove = 3; + readonly attribute optional PerStreamStruct dptzRelativeMove[] = 4; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct MptzSetRequest { + optional MPTZStruct newPTZ = 0; + optional int8u presetID = 1; + } + + request struct MptzRelativeMoveRequest { + int16s pan = 0; + int16s tilt = 1; + int16s zoom = 2; + } + + request struct DptzSetViewportRequest { + int16u videoStreamID = 0; + ViewportStruct viewport = 1; + } + + request struct DptzRelativeMoveRequest { + int16u videoStreamID = 0; + int16s pan = 1; + int16s tilt = 2; + int8s zoom = 3; + } + + /** This command SHALL set the values for the pan, tilt, and zoom in the mechanical PTZ. */ + command MptzSet(MptzSetRequest): DefaultSuccess = 0; + /** This command SHALL move the device by the values for pan, tilt, and zoom relative to the currently defined position. */ + command MptzRelativeMove(MptzRelativeMoveRequest): DefaultSuccess = 1; + /** This command SHALL set the next available index in the PresetMptzTable to the current, known, values of pan, tilt, and zoom on the camera. */ + command SetAsPreset(): DefaultSuccess = 2; + /** This command SHALL set the viewport in the digital PTZ for a specific Video Stream. */ + command DptzSetViewport(DptzSetViewportRequest): DefaultSuccess = 3; + /** This command SHALL change the viewports location by the amount specified in a relative fashion. */ + command DptzRelativeMove(DptzRelativeMoveRequest): DefaultSuccess = 4; +} + +/** The WebRTC transport provider cluster provides a way for stream providers (e.g. Cameras) to stream or receive their data through WebRTC. */ +provisional cluster WebRTCTransportProvider = 1363 { + revision 1; + + enum StreamTypeEnum : enum8 { + kInternal = 0; + kRecording = 1; + kAnalysis = 2; + kLiveView = 3; + } + + enum StreamTypeEnum : enum8 { + kInternal = 0; + kRecording = 1; + kAnalysis = 2; + kLiveView = 3; + } + + enum WebRTCEndReasonEnum : enum8 { + kICEFAILED = 1; + kICETIMEOUT = 2; + kUSERHANGUP = 3; + kUSERBUSY = 4; + kREPLACED = 5; + kNOUSERMEDIA = 6; + kINVITETIMEOUT = 7; + kANSWEREDELSEWHERE = 8; + kOUTOFRESOURCES = 9; + kMEDIATIMEOUT = 10; + kLOWPOWER = 11; + kUNKNOWNERROR = 12; + } + + bitmap WebRTCMetadataOptions : bitmap8 { + kDataTLV = 0x1; + } + + struct ICEServerStruct { + char_string urls[] = 1; + optional char_string username = 2; + optional char_string credential = 3; + optional int16u caid = 4; + } + + struct WebRTCSessionStruct { + int16u id = 1; + node_id peerNodeId = 2; + fabric_idx peerFabricIndex = 3; + StreamTypeEnum streamType = 4; + nullable int16u videoStreamID = 5; + nullable int16u audioStreamID = 6; + WebRTCMetadataOptions metadataOptions = 7; + } + + readonly attribute WebRTCSessionStruct currentSessions[] = 0; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct WebRTCSolicitOfferRequest { + StreamTypeEnum streamType = 0; + optional nullable int16u videoStreamID = 1; + optional nullable int16u audioStreamID = 2; + optional ICEServerStruct ICEServers[] = 3; + optional char_string ICETransportPolicy = 4; + optional WebRTCMetadataOptions metadataOptions = 5; + } + + response struct WebRTCSolicitOfferResponse = 2 { + int16u webRTCSessionID = 0; + boolean deferredOffer = 1; + optional nullable int16u videoStreamID = 2; + optional nullable int16u audioStreamID = 3; + } + + request struct WebRTCProvideOfferRequest { + nullable int16u webRTCSessionID = 0; + char_string sdp = 1; + StreamTypeEnum streamType = 2; + optional nullable int16u videoStreamID = 3; + optional nullable int16u audioStreamID = 4; + optional ICEServerStruct ICEServers[] = 5; + optional char_string ICETransportPolicy = 6; + optional WebRTCMetadataOptions metadataOptions = 7; + } + + response struct WebRTCProvideOfferResponse = 4 { + int16u webRTCSessionID = 0; + int16u videoStreamID = 1; + int16u audioStreamID = 2; + } + + request struct WebRTCProvideAnswerRequest { + int16u webRTCSessionID = 0; + char_string sdp = 1; + } + + request struct WebRTCProvideICECandidateRequest { + int16u webRTCSessionID = 0; + char_string ICECandidate = 1; + } + + request struct WebRTCEndSessionRequest { + int16u webRTCSessionID = 0; + WebRTCEndReasonEnum reason = 1; + } + + /** Requests that the Provider initiates a new session with the Offer / Answer flow in a way that allows for options to be passed and work with devices needing the standby flow. */ + command WebRTCSolicitOffer(WebRTCSolicitOfferRequest): WebRTCSolicitOfferResponse = 1; + /** This command allows an SDP Offer to be set and start a new session. */ + command WebRTCProvideOffer(WebRTCProvideOfferRequest): WebRTCProvideOfferResponse = 3; + /** This command will be initiated from a local Node as a response to an offer that was previously provided by the remote peer. */ + command WebRTCProvideAnswer(WebRTCProvideAnswerRequest): DefaultSuccess = 5; + /** This command allows for https://www.rfc-editor.org/rfc/rfc8839#section-4.2.1.2 nominated after the initial Offer / Answer exchange to be added to a session during the gathering phase. */ + command WebRTCProvideICECandidate(WebRTCProvideICECandidateRequest): DefaultSuccess = 6; + /** This command instructs the stream provider to end the WebRTC session. */ + command WebRTCEndSession(WebRTCEndSessionRequest): DefaultSuccess = 7; +} + +/** The WebRTC transport requestor cluster provides a way for stream consumers (e.g. Matter Stream Viewer) to establish a WebRTC connection with a stream provider that implements the WebRTC Transport Provider Cluster */ +provisional cluster WebRTCTransportRequestor = 1364 { + revision 1; + + enum StreamTypeEnum : enum8 { + kInternal = 0; + kRecording = 1; + kAnalysis = 2; + kLiveView = 3; + } + + enum StreamTypeEnum : enum8 { + kInternal = 0; + kRecording = 1; + kAnalysis = 2; + kLiveView = 3; + } + + enum WebRTCEndReasonEnum : enum8 { + kICEFAILED = 1; + kICETIMEOUT = 2; + kUSERHANGUP = 3; + kUSERBUSY = 4; + kREPLACED = 5; + kNOUSERMEDIA = 6; + kINVITETIMEOUT = 7; + kANSWEREDELSEWHERE = 8; + kOUTOFRESOURCES = 9; + kMEDIATIMEOUT = 10; + kLOWPOWER = 11; + kUNKNOWNERROR = 12; + } + + bitmap WebRTCMetadataOptions : bitmap8 { + kDataTLV = 0x1; + } + + struct ICEServerStruct { + char_string urls[] = 1; + optional char_string username = 2; + optional char_string credential = 3; + optional int16u caid = 4; + } + + struct WebRTCSessionStruct { + int16u id = 1; + node_id peerNodeId = 2; + fabric_idx peerFabricIndex = 3; + StreamTypeEnum streamType = 4; + nullable int16u videoStreamID = 5; + nullable int16u audioStreamID = 6; + WebRTCMetadataOptions metadataOptions = 7; + } + + readonly attribute WebRTCSessionStruct currentSessions[] = 0; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct WebRTCOfferRequest { + int16u webRTCSessionID = 0; + char_string sdp = 1; + optional ICEServerStruct ICEServers[] = 2; + optional char_string ICETransportPolicy = 3; + } + + request struct WebRTCAnswerRequest { + int16u webRTCSessionID = 0; + char_string sdp = 1; + } + + request struct WebRTCICECandidateRequest { + int16u webRTCSessionID = 0; + char_string ICECandidate = 1; + } + + request struct WebRTCEndRequest { + int16u webRTCSessionID = 0; + WebRTCEndReasonEnum reason = 1; + } + + /** This command provides the stream requestor with WebRTC session details. */ + command WebRTCOffer(WebRTCOfferRequest): DefaultSuccess = 1; + /** This command provides the stream requestor with the WebRTC session details (i.e. */ + command WebRTCAnswer(WebRTCAnswerRequest): DefaultSuccess = 2; + /** This command provides an ICE candidate to the stream requestor in a WebRTC session. */ + command WebRTCICECandidate(WebRTCICECandidateRequest): DefaultSuccess = 3; + /** This command notifies the stream requestor that the provider has ended the WebRTC session. */ + command WebRTCEnd(WebRTCEndRequest): DefaultSuccess = 4; +} + +/** This cluster implements the upload of Audio and Video streams from the Camera AV Stream Management Cluster using suitable push-based transports. */ +cluster PushAvStreamTransport = 1365 { + revision 1; + + enum PushAVStreamTransportContainerFormatEnum : enum8 { + kCMAF = 0; + } + + enum PushAVStreamTransportIngestMethodEnum : enum8 { + kCMAFIngest = 0; + } + + enum PushAVStreamTransportStatusEnum : enum8 { + kActive = 0; + kInactive = 1; + } + + enum PushAVStreamTransportStreamMultiplexingEnum : enum8 { + kInterleaved = 0; + } + + enum PushAVStreamTransportTriggerActivationReasonEnum : enum8 { + kUserInitiated = 0; + kAutomation = 1; + kEmergency = 2; + } + + enum PushAVStreamTransportTriggerTypeEnum : enum8 { + kCommand = 0; + kMotion = 1; + kContinuous = 2; + } + + enum StatusCodeEnum : enum8 { + kALLOCATIONNOTPERMITTED = 2; + kINVALIDPARAMETERS = 3; + kINVALIDURL = 4; + kINVALIDTRIGGEROPTIONS = 5; + kUNSUPPORTEDCONTAINERFORMAT = 6; + kUNSUPPORTEDINGESTMETHOD = 7; + kPAVSTNOTINUSE = 8; + kINVALIDTRIGGERFORMAT = 9; + kINVALIDTRANSPORTSTATUS = 16; + } + + enum StreamTypeEnum : enum8 { + kInternal = 0; + kRecording = 1; + kAnalysis = 2; + kLiveView = 3; + } + + bitmap PushAVStreamTransportSupportedContainerFormatsBitmap : bitmap8 { + kCMAF = 0x1; + } + + bitmap PushAVStreamTransportSupportedIngestMethodsBitmap : bitmap8 { + kCMAFIngest = 0x1; + } + + struct PushAVStreamTransportMotionTriggerTimeControlStruct { + int16u initialDuration = 0; + int16u augmentationDuration = 1; + int32u maxDuration = 2; + int16u blindDuration = 3; + } + + struct PushAVStreamTransportMetadataOptionsStruct { + PushAVStreamTransportStreamMultiplexingEnum multiplexing = 0; + boolean includeMotionZones = 1; + boolean enableMetadataPrivacySensitive = 2; + } + + struct PushAVStreamTransportTriggerOptionsStruct { + PushAVStreamTransportTriggerTypeEnum triggerType = 0; + optional nullable int16u motionZones[] = 1; + optional nullable int8u motionSensitivity = 2; + optional nullable PushAVStreamTransportMotionTriggerTimeControlStruct motionTimeControl = 3; + optional nullable PushAVStreamTransportTriggerActivationReasonEnum activationReason = 4; + } + + struct PushAVStreamTransportCMAFContainerOptionsStruct { + int16u chunkDuration = 0; + optional nullable octet_string CENCKey = 1; + } + + struct PushAVStreamTransportContainerOptionsStruct { + PushAVStreamTransportContainerFormatEnum containerType = 0; + optional nullable PushAVStreamTransportCMAFContainerOptionsStruct CMAFContainerOptions = 1; + } + + struct PushAVStreamTransportOptionsStruct { + StreamTypeEnum streamType = 0; + optional nullable int16u videoStreamID = 1; + optional nullable int16u audioStreamID = 2; + int16u TLSEndpointID = 3; + long_char_string<256> url = 4; + PushAVStreamTransportTriggerOptionsStruct triggerOptions = 5; + PushAVStreamTransportContainerFormatEnum containerFormat = 6; + PushAVStreamTransportIngestMethodEnum ingestMethod = 7; + PushAVStreamTransportContainerOptionsStruct containerOptions = 8; + optional nullable PushAVStreamTransportMetadataOptionsStruct metadataOptions = 9; + optional nullable int32u expiryTime = 10; + } + + struct PushAVStreamConfigurationStruct { + int16u connectionID = 0; + PushAVStreamTransportStatusEnum streamTransportStatus = 1; + PushAVStreamTransportOptionsStruct streamTransportOptions = 2; + } + + info event PushTransportBegin = 0 { + } + + info event PushTransportEnd = 1 { + int16u connectionID = 0; + PushAVStreamTransportTriggerOptionsStruct triggerDetails = 1; + } + + readonly attribute PushAVStreamTransportSupportedContainerFormatsBitmap supportedContainerFormats = 0; + readonly attribute PushAVStreamTransportSupportedIngestMethodsBitmap supportedIngestMethods = 1; + readonly attribute int16u currentConnections[] = 2; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct AllocatePushTransportRequest { + PushAVStreamTransportOptionsStruct streamTransportOptions = 0; + } + + response struct AllocatePushTransportResponse = 1 { + int16u connectionID = 0; + PushAVStreamTransportOptionsStruct streamTransportOptions = 1; + PushAVStreamTransportStatusEnum transportStatus = 2; + } + + request struct DeallocatePushTransportRequest { + int16u connectionID = 0; + } + + request struct ModifyPushTransportRequest { + int16u connectionID = 0; + PushAVStreamTransportOptionsStruct streamTransportOptions = 1; + } + + request struct SetTransportStatusRequest { + nullable int16u connectionID = 0; + PushAVStreamTransportStatusEnum streamTransportStatus = 1; + } + + request struct ManuallyTriggerTransportRequest { + int16u connectionID = 0; + nullable PushAVStreamTransportTriggerActivationReasonEnum activationReason = 1; + optional nullable PushAVStreamTransportMotionTriggerTimeControlStruct timeControl = 2; + } + + request struct FindStreamConfigurationRequest { + optional nullable int16u connectionID = 0; + } + + response struct FindStreamConfigurationResponse = 7 { + PushAVStreamConfigurationStruct streamConfigurations[] = 0; + } + + /** This command SHALL allocate a transport and return a PushTransportConnectionID. */ + command access(invoke: administer) AllocatePushTransport(AllocatePushTransportRequest): AllocatePushTransportResponse = 0; + /** This command SHALL be generated to request the Node deallocates the specified transport. */ + command access(invoke: administer) DeallocatePushTransport(DeallocatePushTransportRequest): DefaultSuccess = 2; + /** This command is used to request the Node modifies the configuration of the specified push transport. */ + command access(invoke: administer) ModifyPushTransport(ModifyPushTransportRequest): DefaultSuccess = 3; + /** This command SHALL be generated to request the Node modifies the Transport Status of the transport. */ + command access(invoke: administer) SetTransportStatus(SetTransportStatusRequest): DefaultSuccess = 4; + /** This command SHALL be generated to request the Node to manually start the specified push transport. */ + command access(invoke: administer) ManuallyTriggerTransport(ManuallyTriggerTransportRequest): DefaultSuccess = 5; + /** This command SHALL return the Stream Options Configuration for the specified push transport. */ + command access(invoke: administer) FindStreamConfiguration(FindStreamConfigurationRequest): FindStreamConfigurationResponse = 6; +} + +/** This cluster provides facilities to configure and play Chime sounds, such as those used in a doorbell. */ +provisional cluster Chime = 1366 { + revision 1; + + struct ChimeSoundStruct { + int8u chimeId = 0; + char_string<48> name = 1; + } + + readonly attribute ChimeSoundStruct installedChimeSounds[] = 0; + attribute int8u activeChimeSoundId = 1; + attribute boolean enabled = 2; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + command PlayChimeSound(): DefaultSuccess = 0; +} + /** Provides extended device information for all the logical devices represented by a Bridged Node. */ provisional cluster EcosystemInformation = 1872 { revision 1; diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java index ce3d602f1f89b6..58447771bb80ad 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java @@ -60783,6 +60783,4258 @@ public void onSuccess(byte[] tlv) { } } + public static class CameraAvStreamManagementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1361L; + + private static final long MAX_CONCURRENT_VIDEO_ENCODERS_ATTRIBUTE_ID = 0L; + private static final long MAX_ENCODED_PIXEL_RATE_ATTRIBUTE_ID = 1L; + private static final long VIDEO_SENSOR_PARAMS_ATTRIBUTE_ID = 2L; + private static final long NIGHT_VISION_CAPABLE_ATTRIBUTE_ID = 3L; + private static final long MIN_VIEW_PORT_WIDTH_ATTRIBUTE_ID = 4L; + private static final long MIN_VIEW_PORT_HEIGHT_ATTRIBUTE_ID = 5L; + private static final long RATE_DISTORTION_TRADE_OFF_POINTS_ATTRIBUTE_ID = 6L; + private static final long MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID = 7L; + private static final long MICROPHONE_CAPABILITIES_ATTRIBUTE_ID = 8L; + private static final long SPEAKER_CAPABILITIES_ATTRIBUTE_ID = 9L; + private static final long TWO_WAY_TALK_SUPPORT_ATTRIBUTE_ID = 10L; + private static final long SUPPORTED_SNAPSHOT_PARAMS_ATTRIBUTE_ID = 11L; + private static final long HDR_CAPABLE_ATTRIBUTE_ID = 12L; + private static final long MAX_NETWORK_BANDWIDTH_ATTRIBUTE_ID = 13L; + private static final long CURRENT_FRAME_RATE_ATTRIBUTE_ID = 14L; + private static final long HDR_MODE_ATTRIBUTE_ID = 15L; + private static final long CURRENT_VIDEO_CODECS_ATTRIBUTE_ID = 16L; + private static final long CURRENT_SNAPSHOT_CONFIG_ATTRIBUTE_ID = 17L; + private static final long FABRICS_USING_CAMERA_ATTRIBUTE_ID = 18L; + private static final long ALLOCATED_VIDEO_STREAMS_ATTRIBUTE_ID = 19L; + private static final long ALLOCATED_AUDIO_STREAMS_ATTRIBUTE_ID = 20L; + private static final long ALLOCATED_SNAPSHOT_STREAMS_ATTRIBUTE_ID = 21L; + private static final long RANKED_VIDEO_STREAM_PRIORITIES_LIST_ATTRIBUTE_ID = 22L; + private static final long SOFT_RECORDING_PRIVACY_MODE_SETTING_ATTRIBUTE_ID = 23L; + private static final long SOFT_LIVESTREAM_PRIVACY_MODE_SETTING_ATTRIBUTE_ID = 24L; + private static final long HARD_PRIVACY_MODE_ATTRIBUTE_ID = 25L; + private static final long NIGHT_VISION_ATTRIBUTE_ID = 26L; + private static final long NIGHT_VISION_ILLUM_ATTRIBUTE_ID = 27L; + private static final long AWB_ATTRIBUTE_ID = 28L; + private static final long SHUTTER_SPEED_ATTRIBUTE_ID = 29L; + private static final long ISO_ATTRIBUTE_ID = 30L; + private static final long VIEWPORT_ATTRIBUTE_ID = 31L; + private static final long SPKR_ON_OFF_ATTRIBUTE_ID = 32L; + private static final long SPKR_VOLUME_LEVEL_ATTRIBUTE_ID = 33L; + private static final long SPKR_MAX_LEVEL_ATTRIBUTE_ID = 34L; + private static final long SPKR_MIN_LEVEL_ATTRIBUTE_ID = 35L; + private static final long MIC_ON_OFF_ATTRIBUTE_ID = 36L; + private static final long MIC_CURRENT_LEVEL_ATTRIBUTE_ID = 37L; + private static final long MIC_MAX_LEVEL_ATTRIBUTE_ID = 38L; + private static final long MIC_MIN_LEVEL_ATTRIBUTE_ID = 39L; + private static final long MIC_AGC_ATTRIBUTE_ID = 40L; + private static final long IMAGE_ROTATION_ATTRIBUTE_ID = 41L; + private static final long IMAGE_FLIP_HORIZONTAL_ATTRIBUTE_ID = 42L; + private static final long IMAGE_FLIP_VERTICAL_ATTRIBUTE_ID = 43L; + private static final long LOCAL_VIDEO_RECORDING_ENABLED_ATTRIBUTE_ID = 44L; + private static final long LOCAL_SNAPSHOT_RECORDING_ENABLED_ATTRIBUTE_ID = 45L; + private static final long STATUS_LIGHT_ATTRIBUTE_ID = 46L; + private static final long STATUS_LIGHT_BRIGHTNESS_ATTRIBUTE_ID = 47L; + private static final long DEPTH_SENSOR_STATUS_ATTRIBUTE_ID = 48L; + private static final long WATERMARK_ENABLED_ATTRIBUTE_ID = 49L; + private static final long OSD_ENABLED_ATTRIBUTE_ID = 50L; + private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L; + private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L; + private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L; + private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L; + private static final long FEATURE_MAP_ATTRIBUTE_ID = 65532L; + private static final long CLUSTER_REVISION_ATTRIBUTE_ID = 65533L; + + public CameraAvStreamManagementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId, CLUSTER_ID); + } + + @Override + @Deprecated + public long initWithDevice(long devicePtr, int endpointId) { + return 0L; + } + + public void audioStreamAllocate(AudioStreamAllocateResponseCallback callback, Integer streamType, Integer audioCodec, Integer channelCount, Long sampleRate, Long bitRate, Integer bitDepth) { + audioStreamAllocate(callback, streamType, audioCodec, channelCount, sampleRate, bitRate, bitDepth, 0); + } + + public void audioStreamAllocate(AudioStreamAllocateResponseCallback callback, Integer streamType, Integer audioCodec, Integer channelCount, Long sampleRate, Long bitRate, Integer bitDepth, int timedInvokeTimeoutMs) { + final long commandId = 0L; + + ArrayList elements = new ArrayList<>(); + final long streamTypeFieldID = 0L; + BaseTLVType streamTypetlvValue = new UIntType(streamType); + elements.add(new StructElement(streamTypeFieldID, streamTypetlvValue)); + + final long audioCodecFieldID = 1L; + BaseTLVType audioCodectlvValue = new UIntType(audioCodec); + elements.add(new StructElement(audioCodecFieldID, audioCodectlvValue)); + + final long channelCountFieldID = 2L; + BaseTLVType channelCounttlvValue = new UIntType(channelCount); + elements.add(new StructElement(channelCountFieldID, channelCounttlvValue)); + + final long sampleRateFieldID = 3L; + BaseTLVType sampleRatetlvValue = new UIntType(sampleRate); + elements.add(new StructElement(sampleRateFieldID, sampleRatetlvValue)); + + final long bitRateFieldID = 4L; + BaseTLVType bitRatetlvValue = new UIntType(bitRate); + elements.add(new StructElement(bitRateFieldID, bitRatetlvValue)); + + final long bitDepthFieldID = 5L; + BaseTLVType bitDepthtlvValue = new UIntType(bitDepth); + elements.add(new StructElement(bitDepthFieldID, bitDepthtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + final long audioStreamIDFieldID = 0L; + Integer audioStreamID = null; + for (StructElement element: invokeStructValue.value()) { + if (element.contextTagNum() == audioStreamIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = castingValue.value(Integer.class); + } + } + } + callback.onSuccess(audioStreamID); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void audioStreamDeallocate(DefaultClusterCallback callback, Integer audioStreamID) { + audioStreamDeallocate(callback, audioStreamID, 0); + } + + public void audioStreamDeallocate(DefaultClusterCallback callback, Integer audioStreamID, int timedInvokeTimeoutMs) { + final long commandId = 2L; + + ArrayList elements = new ArrayList<>(); + final long audioStreamIDFieldID = 0L; + BaseTLVType audioStreamIDtlvValue = new UIntType(audioStreamID); + elements.add(new StructElement(audioStreamIDFieldID, audioStreamIDtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void videoStreamAllocate(VideoStreamAllocateResponseCallback callback, Integer streamType, Integer videoCodec, Integer minFrameRate, Integer maxFrameRate, Object minResolution, Object maxResolution, Long minBitRate, Long maxBitRate, Integer minFragmentLen, Integer maxFragmentLen) { + videoStreamAllocate(callback, streamType, videoCodec, minFrameRate, maxFrameRate, minResolution, maxResolution, minBitRate, maxBitRate, minFragmentLen, maxFragmentLen, 0); + } + + public void videoStreamAllocate(VideoStreamAllocateResponseCallback callback, Integer streamType, Integer videoCodec, Integer minFrameRate, Integer maxFrameRate, Object minResolution, Object maxResolution, Long minBitRate, Long maxBitRate, Integer minFragmentLen, Integer maxFragmentLen, int timedInvokeTimeoutMs) { + final long commandId = 3L; + + ArrayList elements = new ArrayList<>(); + final long streamTypeFieldID = 0L; + BaseTLVType streamTypetlvValue = new UIntType(streamType); + elements.add(new StructElement(streamTypeFieldID, streamTypetlvValue)); + + final long videoCodecFieldID = 1L; + BaseTLVType videoCodectlvValue = new UIntType(videoCodec); + elements.add(new StructElement(videoCodecFieldID, videoCodectlvValue)); + + final long minFrameRateFieldID = 2L; + BaseTLVType minFrameRatetlvValue = new UIntType(minFrameRate); + elements.add(new StructElement(minFrameRateFieldID, minFrameRatetlvValue)); + + final long maxFrameRateFieldID = 3L; + BaseTLVType maxFrameRatetlvValue = new UIntType(maxFrameRate); + elements.add(new StructElement(maxFrameRateFieldID, maxFrameRatetlvValue)); + + final long minResolutionFieldID = 4L; + BaseTLVType minResolutiontlvValue = new AnyType(minResolution); + elements.add(new StructElement(minResolutionFieldID, minResolutiontlvValue)); + + final long maxResolutionFieldID = 5L; + BaseTLVType maxResolutiontlvValue = new AnyType(maxResolution); + elements.add(new StructElement(maxResolutionFieldID, maxResolutiontlvValue)); + + final long minBitRateFieldID = 6L; + BaseTLVType minBitRatetlvValue = new UIntType(minBitRate); + elements.add(new StructElement(minBitRateFieldID, minBitRatetlvValue)); + + final long maxBitRateFieldID = 7L; + BaseTLVType maxBitRatetlvValue = new UIntType(maxBitRate); + elements.add(new StructElement(maxBitRateFieldID, maxBitRatetlvValue)); + + final long minFragmentLenFieldID = 8L; + BaseTLVType minFragmentLentlvValue = new UIntType(minFragmentLen); + elements.add(new StructElement(minFragmentLenFieldID, minFragmentLentlvValue)); + + final long maxFragmentLenFieldID = 9L; + BaseTLVType maxFragmentLentlvValue = new UIntType(maxFragmentLen); + elements.add(new StructElement(maxFragmentLenFieldID, maxFragmentLentlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + final long videoStreamIDFieldID = 0L; + Integer videoStreamID = null; + for (StructElement element: invokeStructValue.value()) { + if (element.contextTagNum() == videoStreamIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = castingValue.value(Integer.class); + } + } + } + callback.onSuccess(videoStreamID); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void videoStreamModify(DefaultClusterCallback callback, Integer videoStreamID, Object resolution) { + videoStreamModify(callback, videoStreamID, resolution, 0); + } + + public void videoStreamModify(DefaultClusterCallback callback, Integer videoStreamID, Object resolution, int timedInvokeTimeoutMs) { + final long commandId = 5L; + + ArrayList elements = new ArrayList<>(); + final long videoStreamIDFieldID = 0L; + BaseTLVType videoStreamIDtlvValue = new UIntType(videoStreamID); + elements.add(new StructElement(videoStreamIDFieldID, videoStreamIDtlvValue)); + + final long resolutionFieldID = 1L; + BaseTLVType resolutiontlvValue = new AnyType(resolution); + elements.add(new StructElement(resolutionFieldID, resolutiontlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void videoStreamDeallocate(DefaultClusterCallback callback, Integer videoStreamID) { + videoStreamDeallocate(callback, videoStreamID, 0); + } + + public void videoStreamDeallocate(DefaultClusterCallback callback, Integer videoStreamID, int timedInvokeTimeoutMs) { + final long commandId = 6L; + + ArrayList elements = new ArrayList<>(); + final long videoStreamIDFieldID = 0L; + BaseTLVType videoStreamIDtlvValue = new UIntType(videoStreamID); + elements.add(new StructElement(videoStreamIDFieldID, videoStreamIDtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void snapshotStreamAllocate(SnapshotStreamAllocateResponseCallback callback, Integer imageCodec, Integer frameRate, Long bitRate, Object minResolution, Object maxResolution, Integer quality) { + snapshotStreamAllocate(callback, imageCodec, frameRate, bitRate, minResolution, maxResolution, quality, 0); + } + + public void snapshotStreamAllocate(SnapshotStreamAllocateResponseCallback callback, Integer imageCodec, Integer frameRate, Long bitRate, Object minResolution, Object maxResolution, Integer quality, int timedInvokeTimeoutMs) { + final long commandId = 7L; + + ArrayList elements = new ArrayList<>(); + final long imageCodecFieldID = 0L; + BaseTLVType imageCodectlvValue = new UIntType(imageCodec); + elements.add(new StructElement(imageCodecFieldID, imageCodectlvValue)); + + final long frameRateFieldID = 1L; + BaseTLVType frameRatetlvValue = new UIntType(frameRate); + elements.add(new StructElement(frameRateFieldID, frameRatetlvValue)); + + final long bitRateFieldID = 2L; + BaseTLVType bitRatetlvValue = new UIntType(bitRate); + elements.add(new StructElement(bitRateFieldID, bitRatetlvValue)); + + final long minResolutionFieldID = 3L; + BaseTLVType minResolutiontlvValue = new AnyType(minResolution); + elements.add(new StructElement(minResolutionFieldID, minResolutiontlvValue)); + + final long maxResolutionFieldID = 4L; + BaseTLVType maxResolutiontlvValue = new AnyType(maxResolution); + elements.add(new StructElement(maxResolutionFieldID, maxResolutiontlvValue)); + + final long qualityFieldID = 5L; + BaseTLVType qualitytlvValue = new UIntType(quality); + elements.add(new StructElement(qualityFieldID, qualitytlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + final long snapshotStreamIDFieldID = 0L; + Integer snapshotStreamID = null; + for (StructElement element: invokeStructValue.value()) { + if (element.contextTagNum() == snapshotStreamIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + snapshotStreamID = castingValue.value(Integer.class); + } + } + } + callback.onSuccess(snapshotStreamID); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void snapshotStreamDeallocate(DefaultClusterCallback callback, Integer snapshotStreamID) { + snapshotStreamDeallocate(callback, snapshotStreamID, 0); + } + + public void snapshotStreamDeallocate(DefaultClusterCallback callback, Integer snapshotStreamID, int timedInvokeTimeoutMs) { + final long commandId = 9L; + + ArrayList elements = new ArrayList<>(); + final long snapshotStreamIDFieldID = 0L; + BaseTLVType snapshotStreamIDtlvValue = new UIntType(snapshotStreamID); + elements.add(new StructElement(snapshotStreamIDFieldID, snapshotStreamIDtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void setStreamPriority(DefaultClusterCallback callback) { + setStreamPriority(callback, 0); + } + + public void setStreamPriority(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + final long commandId = 10L; + + ArrayList elements = new ArrayList<>(); + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void captureSnapshot(DefaultClusterCallback callback, Integer snapshotStreamID, Object requestedResolution) { + captureSnapshot(callback, snapshotStreamID, requestedResolution, 0); + } + + public void captureSnapshot(DefaultClusterCallback callback, Integer snapshotStreamID, Object requestedResolution, int timedInvokeTimeoutMs) { + final long commandId = 11L; + + ArrayList elements = new ArrayList<>(); + final long snapshotStreamIDFieldID = 0L; + BaseTLVType snapshotStreamIDtlvValue = new UIntType(snapshotStreamID); + elements.add(new StructElement(snapshotStreamIDFieldID, snapshotStreamIDtlvValue)); + + final long requestedResolutionFieldID = 1L; + BaseTLVType requestedResolutiontlvValue = new AnyType(requestedResolution); + elements.add(new StructElement(requestedResolutionFieldID, requestedResolutiontlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void setViewport(DefaultClusterCallback callback, ChipStructs.CameraAvStreamManagementClusterViewportStruct viewport) { + setViewport(callback, viewport, 0); + } + + public void setViewport(DefaultClusterCallback callback, ChipStructs.CameraAvStreamManagementClusterViewportStruct viewport, int timedInvokeTimeoutMs) { + final long commandId = 13L; + + ArrayList elements = new ArrayList<>(); + final long viewportFieldID = 0L; + BaseTLVType viewporttlvValue = viewport.encodeTlv(); + elements.add(new StructElement(viewportFieldID, viewporttlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void setImageRotation(DefaultClusterCallback callback, Integer angle) { + setImageRotation(callback, angle, 0); + } + + public void setImageRotation(DefaultClusterCallback callback, Integer angle, int timedInvokeTimeoutMs) { + final long commandId = 14L; + + ArrayList elements = new ArrayList<>(); + final long angleFieldID = 0L; + BaseTLVType angletlvValue = new UIntType(angle); + elements.add(new StructElement(angleFieldID, angletlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void setImageFlipHorizontal(DefaultClusterCallback callback, Boolean onOff) { + setImageFlipHorizontal(callback, onOff, 0); + } + + public void setImageFlipHorizontal(DefaultClusterCallback callback, Boolean onOff, int timedInvokeTimeoutMs) { + final long commandId = 15L; + + ArrayList elements = new ArrayList<>(); + final long onOffFieldID = 0L; + BaseTLVType onOfftlvValue = new BooleanType(onOff); + elements.add(new StructElement(onOffFieldID, onOfftlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void setImageFlipVertical(DefaultClusterCallback callback, Boolean onOff) { + setImageFlipVertical(callback, onOff, 0); + } + + public void setImageFlipVertical(DefaultClusterCallback callback, Boolean onOff, int timedInvokeTimeoutMs) { + final long commandId = 16L; + + ArrayList elements = new ArrayList<>(); + final long onOffFieldID = 0L; + BaseTLVType onOfftlvValue = new BooleanType(onOff); + elements.add(new StructElement(onOffFieldID, onOfftlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public interface AudioStreamAllocateResponseCallback extends BaseClusterCallback { + void onSuccess(Integer audioStreamID); + } + + public interface VideoStreamAllocateResponseCallback extends BaseClusterCallback { + void onSuccess(Integer videoStreamID); + } + + public interface SnapshotStreamAllocateResponseCallback extends BaseClusterCallback { + void onSuccess(Integer snapshotStreamID); + } + + public interface VideoSensorParamsAttributeCallback extends BaseAttributeCallback { + void onSuccess(ChipStructs.CameraAvStreamManagementClusterVideoSensorParamsStruct value); + } + + public interface MinViewPortWidthAttributeCallback extends BaseAttributeCallback { + void onSuccess(Object value); + } + + public interface MinViewPortHeightAttributeCallback extends BaseAttributeCallback { + void onSuccess(Object value); + } + + public interface RateDistortionTradeOffPointsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface MicrophoneCapabilitiesAttributeCallback extends BaseAttributeCallback { + void onSuccess(ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value); + } + + public interface SpeakerCapabilitiesAttributeCallback extends BaseAttributeCallback { + void onSuccess(ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value); + } + + public interface SupportedSnapshotParamsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface CurrentVideoCodecsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface CurrentSnapshotConfigAttributeCallback extends BaseAttributeCallback { + void onSuccess(ChipStructs.CameraAvStreamManagementClusterSnapshotParamsStruct value); + } + + public interface FabricsUsingCameraAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AllocatedVideoStreamsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AllocatedAudioStreamsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AllocatedSnapshotStreamsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface RankedVideoStreamPrioritiesListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface ViewportAttributeCallback extends BaseAttributeCallback { + void onSuccess(ChipStructs.CameraAvStreamManagementClusterViewportStruct value); + } + + public interface WatermarkEnabledAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface OSDEnabledAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface GeneratedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AcceptedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface EventListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AttributeListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public void readMaxConcurrentVideoEncodersAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_CONCURRENT_VIDEO_ENCODERS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_CONCURRENT_VIDEO_ENCODERS_ATTRIBUTE_ID, true); + } + + public void subscribeMaxConcurrentVideoEncodersAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_CONCURRENT_VIDEO_ENCODERS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_CONCURRENT_VIDEO_ENCODERS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMaxEncodedPixelRateAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_ENCODED_PIXEL_RATE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_ENCODED_PIXEL_RATE_ATTRIBUTE_ID, true); + } + + public void subscribeMaxEncodedPixelRateAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_ENCODED_PIXEL_RATE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_ENCODED_PIXEL_RATE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readVideoSensorParamsAttribute( + VideoSensorParamsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, VIDEO_SENSOR_PARAMS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterVideoSensorParamsStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, VIDEO_SENSOR_PARAMS_ATTRIBUTE_ID, true); + } + + public void subscribeVideoSensorParamsAttribute( + VideoSensorParamsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, VIDEO_SENSOR_PARAMS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterVideoSensorParamsStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, VIDEO_SENSOR_PARAMS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readNightVisionCapableAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, NIGHT_VISION_CAPABLE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, NIGHT_VISION_CAPABLE_ATTRIBUTE_ID, true); + } + + public void subscribeNightVisionCapableAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, NIGHT_VISION_CAPABLE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, NIGHT_VISION_CAPABLE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMinViewPortWidthAttribute( + MinViewPortWidthAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIN_VIEW_PORT_WIDTH_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Object value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIN_VIEW_PORT_WIDTH_ATTRIBUTE_ID, true); + } + + public void subscribeMinViewPortWidthAttribute( + MinViewPortWidthAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIN_VIEW_PORT_WIDTH_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Object value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIN_VIEW_PORT_WIDTH_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMinViewPortHeightAttribute( + MinViewPortHeightAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIN_VIEW_PORT_HEIGHT_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Object value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIN_VIEW_PORT_HEIGHT_ATTRIBUTE_ID, true); + } + + public void subscribeMinViewPortHeightAttribute( + MinViewPortHeightAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIN_VIEW_PORT_HEIGHT_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Object value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIN_VIEW_PORT_HEIGHT_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readRateDistortionTradeOffPointsAttribute( + RateDistortionTradeOffPointsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, RATE_DISTORTION_TRADE_OFF_POINTS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, RATE_DISTORTION_TRADE_OFF_POINTS_ATTRIBUTE_ID, true); + } + + public void subscribeRateDistortionTradeOffPointsAttribute( + RateDistortionTradeOffPointsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, RATE_DISTORTION_TRADE_OFF_POINTS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, RATE_DISTORTION_TRADE_OFF_POINTS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMaxPreRollBufferSizeAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID, true); + } + + public void subscribeMaxPreRollBufferSizeAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMicrophoneCapabilitiesAttribute( + MicrophoneCapabilitiesAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MICROPHONE_CAPABILITIES_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MICROPHONE_CAPABILITIES_ATTRIBUTE_ID, true); + } + + public void subscribeMicrophoneCapabilitiesAttribute( + MicrophoneCapabilitiesAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MICROPHONE_CAPABILITIES_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MICROPHONE_CAPABILITIES_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSpeakerCapabilitiesAttribute( + SpeakerCapabilitiesAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPEAKER_CAPABILITIES_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPEAKER_CAPABILITIES_ATTRIBUTE_ID, true); + } + + public void subscribeSpeakerCapabilitiesAttribute( + SpeakerCapabilitiesAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPEAKER_CAPABILITIES_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPEAKER_CAPABILITIES_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readTwoWayTalkSupportAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, TWO_WAY_TALK_SUPPORT_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, TWO_WAY_TALK_SUPPORT_ATTRIBUTE_ID, true); + } + + public void subscribeTwoWayTalkSupportAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, TWO_WAY_TALK_SUPPORT_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, TWO_WAY_TALK_SUPPORT_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSupportedSnapshotParamsAttribute( + SupportedSnapshotParamsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SUPPORTED_SNAPSHOT_PARAMS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SUPPORTED_SNAPSHOT_PARAMS_ATTRIBUTE_ID, true); + } + + public void subscribeSupportedSnapshotParamsAttribute( + SupportedSnapshotParamsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SUPPORTED_SNAPSHOT_PARAMS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SUPPORTED_SNAPSHOT_PARAMS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readHDRCapableAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, HDR_CAPABLE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, HDR_CAPABLE_ATTRIBUTE_ID, true); + } + + public void subscribeHDRCapableAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, HDR_CAPABLE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, HDR_CAPABLE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMaxNetworkBandwidthAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_NETWORK_BANDWIDTH_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_NETWORK_BANDWIDTH_ATTRIBUTE_ID, true); + } + + public void subscribeMaxNetworkBandwidthAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_NETWORK_BANDWIDTH_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_NETWORK_BANDWIDTH_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readCurrentFrameRateAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_FRAME_RATE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_FRAME_RATE_ATTRIBUTE_ID, true); + } + + public void subscribeCurrentFrameRateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_FRAME_RATE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_FRAME_RATE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readHDRModeAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, HDR_MODE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, HDR_MODE_ATTRIBUTE_ID, true); + } + + public void writeHDRModeAttribute(DefaultClusterCallback callback, Boolean value) { + writeHDRModeAttribute(callback, value, 0); + } + + public void writeHDRModeAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), HDR_MODE_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeHDRModeAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, HDR_MODE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, HDR_MODE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readCurrentVideoCodecsAttribute( + CurrentVideoCodecsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_VIDEO_CODECS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_VIDEO_CODECS_ATTRIBUTE_ID, true); + } + + public void subscribeCurrentVideoCodecsAttribute( + CurrentVideoCodecsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_VIDEO_CODECS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_VIDEO_CODECS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readCurrentSnapshotConfigAttribute( + CurrentSnapshotConfigAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_SNAPSHOT_CONFIG_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterSnapshotParamsStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_SNAPSHOT_CONFIG_ATTRIBUTE_ID, true); + } + + public void subscribeCurrentSnapshotConfigAttribute( + CurrentSnapshotConfigAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_SNAPSHOT_CONFIG_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterSnapshotParamsStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_SNAPSHOT_CONFIG_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readFabricsUsingCameraAttribute( + FabricsUsingCameraAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FABRICS_USING_CAMERA_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FABRICS_USING_CAMERA_ATTRIBUTE_ID, true); + } + + public void subscribeFabricsUsingCameraAttribute( + FabricsUsingCameraAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FABRICS_USING_CAMERA_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FABRICS_USING_CAMERA_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAllocatedVideoStreamsAttribute( + AllocatedVideoStreamsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ALLOCATED_VIDEO_STREAMS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ALLOCATED_VIDEO_STREAMS_ATTRIBUTE_ID, true); + } + + public void subscribeAllocatedVideoStreamsAttribute( + AllocatedVideoStreamsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ALLOCATED_VIDEO_STREAMS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ALLOCATED_VIDEO_STREAMS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAllocatedAudioStreamsAttribute( + AllocatedAudioStreamsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ALLOCATED_AUDIO_STREAMS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ALLOCATED_AUDIO_STREAMS_ATTRIBUTE_ID, true); + } + + public void subscribeAllocatedAudioStreamsAttribute( + AllocatedAudioStreamsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ALLOCATED_AUDIO_STREAMS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ALLOCATED_AUDIO_STREAMS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAllocatedSnapshotStreamsAttribute( + AllocatedSnapshotStreamsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ALLOCATED_SNAPSHOT_STREAMS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ALLOCATED_SNAPSHOT_STREAMS_ATTRIBUTE_ID, true); + } + + public void subscribeAllocatedSnapshotStreamsAttribute( + AllocatedSnapshotStreamsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ALLOCATED_SNAPSHOT_STREAMS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ALLOCATED_SNAPSHOT_STREAMS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readRankedVideoStreamPrioritiesListAttribute( + RankedVideoStreamPrioritiesListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, RANKED_VIDEO_STREAM_PRIORITIES_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, RANKED_VIDEO_STREAM_PRIORITIES_LIST_ATTRIBUTE_ID, true); + } + + public void writeRankedVideoStreamPrioritiesListAttribute(DefaultClusterCallback callback, ArrayList value) { + writeRankedVideoStreamPrioritiesListAttribute(callback, value, 0); + } + + public void writeRankedVideoStreamPrioritiesListAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = ArrayType.generateArrayType(value, (elementvalue) -> new UIntType(elementvalue)); + writeAttribute(new WriteAttributesCallbackImpl(callback), RANKED_VIDEO_STREAM_PRIORITIES_LIST_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeRankedVideoStreamPrioritiesListAttribute( + RankedVideoStreamPrioritiesListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, RANKED_VIDEO_STREAM_PRIORITIES_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, RANKED_VIDEO_STREAM_PRIORITIES_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSoftRecordingPrivacyModeSettingAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SOFT_RECORDING_PRIVACY_MODE_SETTING_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SOFT_RECORDING_PRIVACY_MODE_SETTING_ATTRIBUTE_ID, true); + } + + public void writeSoftRecordingPrivacyModeSettingAttribute(DefaultClusterCallback callback, Boolean value) { + writeSoftRecordingPrivacyModeSettingAttribute(callback, value, 0); + } + + public void writeSoftRecordingPrivacyModeSettingAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), SOFT_RECORDING_PRIVACY_MODE_SETTING_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeSoftRecordingPrivacyModeSettingAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SOFT_RECORDING_PRIVACY_MODE_SETTING_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SOFT_RECORDING_PRIVACY_MODE_SETTING_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSoftLivestreamPrivacyModeSettingAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SOFT_LIVESTREAM_PRIVACY_MODE_SETTING_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SOFT_LIVESTREAM_PRIVACY_MODE_SETTING_ATTRIBUTE_ID, true); + } + + public void writeSoftLivestreamPrivacyModeSettingAttribute(DefaultClusterCallback callback, Boolean value) { + writeSoftLivestreamPrivacyModeSettingAttribute(callback, value, 0); + } + + public void writeSoftLivestreamPrivacyModeSettingAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), SOFT_LIVESTREAM_PRIVACY_MODE_SETTING_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeSoftLivestreamPrivacyModeSettingAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SOFT_LIVESTREAM_PRIVACY_MODE_SETTING_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SOFT_LIVESTREAM_PRIVACY_MODE_SETTING_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readHardPrivacyModeAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, HARD_PRIVACY_MODE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, HARD_PRIVACY_MODE_ATTRIBUTE_ID, true); + } + + public void subscribeHardPrivacyModeAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, HARD_PRIVACY_MODE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, HARD_PRIVACY_MODE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readNightVisionAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, NIGHT_VISION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, NIGHT_VISION_ATTRIBUTE_ID, true); + } + + public void writeNightVisionAttribute(DefaultClusterCallback callback, Integer value) { + writeNightVisionAttribute(callback, value, 0); + } + + public void writeNightVisionAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), NIGHT_VISION_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeNightVisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, NIGHT_VISION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, NIGHT_VISION_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readNightVisionIllumAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, NIGHT_VISION_ILLUM_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, NIGHT_VISION_ILLUM_ATTRIBUTE_ID, true); + } + + public void writeNightVisionIllumAttribute(DefaultClusterCallback callback, Integer value) { + writeNightVisionIllumAttribute(callback, value, 0); + } + + public void writeNightVisionIllumAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), NIGHT_VISION_ILLUM_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeNightVisionIllumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, NIGHT_VISION_ILLUM_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, NIGHT_VISION_ILLUM_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAwbAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, AWB_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, AWB_ATTRIBUTE_ID, true); + } + + public void writeAwbAttribute(DefaultClusterCallback callback, Boolean value) { + writeAwbAttribute(callback, value, 0); + } + + public void writeAwbAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), AWB_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeAwbAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, AWB_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, AWB_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readShutterSpeedAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SHUTTER_SPEED_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SHUTTER_SPEED_ATTRIBUTE_ID, true); + } + + public void writeShutterSpeedAttribute(DefaultClusterCallback callback, Boolean value) { + writeShutterSpeedAttribute(callback, value, 0); + } + + public void writeShutterSpeedAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), SHUTTER_SPEED_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeShutterSpeedAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SHUTTER_SPEED_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SHUTTER_SPEED_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readIsoAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ISO_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ISO_ATTRIBUTE_ID, true); + } + + public void writeIsoAttribute(DefaultClusterCallback callback, Boolean value) { + writeIsoAttribute(callback, value, 0); + } + + public void writeIsoAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), ISO_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeIsoAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ISO_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ISO_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readViewportAttribute( + ViewportAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, VIEWPORT_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterViewportStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, VIEWPORT_ATTRIBUTE_ID, true); + } + + public void subscribeViewportAttribute( + ViewportAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, VIEWPORT_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvStreamManagementClusterViewportStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, VIEWPORT_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSpkrOnOffAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_ON_OFF_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_ON_OFF_ATTRIBUTE_ID, true); + } + + public void writeSpkrOnOffAttribute(DefaultClusterCallback callback, Boolean value) { + writeSpkrOnOffAttribute(callback, value, 0); + } + + public void writeSpkrOnOffAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), SPKR_ON_OFF_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeSpkrOnOffAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_ON_OFF_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_ON_OFF_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSpkrVolumeLevelAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_VOLUME_LEVEL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_VOLUME_LEVEL_ATTRIBUTE_ID, true); + } + + public void writeSpkrVolumeLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeSpkrVolumeLevelAttribute(callback, value, 0); + } + + public void writeSpkrVolumeLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), SPKR_VOLUME_LEVEL_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeSpkrVolumeLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_VOLUME_LEVEL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_VOLUME_LEVEL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSpkrMaxLevelAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_MAX_LEVEL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_MAX_LEVEL_ATTRIBUTE_ID, true); + } + + public void writeSpkrMaxLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeSpkrMaxLevelAttribute(callback, value, 0); + } + + public void writeSpkrMaxLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), SPKR_MAX_LEVEL_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeSpkrMaxLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_MAX_LEVEL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_MAX_LEVEL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSpkrMinLevelAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_MIN_LEVEL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_MIN_LEVEL_ATTRIBUTE_ID, true); + } + + public void writeSpkrMinLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeSpkrMinLevelAttribute(callback, value, 0); + } + + public void writeSpkrMinLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), SPKR_MIN_LEVEL_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeSpkrMinLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SPKR_MIN_LEVEL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SPKR_MIN_LEVEL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMicOnOffAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_ON_OFF_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_ON_OFF_ATTRIBUTE_ID, true); + } + + public void writeMicOnOffAttribute(DefaultClusterCallback callback, Boolean value) { + writeMicOnOffAttribute(callback, value, 0); + } + + public void writeMicOnOffAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), MIC_ON_OFF_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeMicOnOffAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_ON_OFF_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_ON_OFF_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMicCurrentLevelAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_CURRENT_LEVEL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_CURRENT_LEVEL_ATTRIBUTE_ID, true); + } + + public void writeMicCurrentLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeMicCurrentLevelAttribute(callback, value, 0); + } + + public void writeMicCurrentLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), MIC_CURRENT_LEVEL_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeMicCurrentLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_CURRENT_LEVEL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_CURRENT_LEVEL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMicMaxLevelAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_MAX_LEVEL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_MAX_LEVEL_ATTRIBUTE_ID, true); + } + + public void writeMicMaxLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeMicMaxLevelAttribute(callback, value, 0); + } + + public void writeMicMaxLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), MIC_MAX_LEVEL_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeMicMaxLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_MAX_LEVEL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_MAX_LEVEL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMicMinLevelAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_MIN_LEVEL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_MIN_LEVEL_ATTRIBUTE_ID, true); + } + + public void writeMicMinLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeMicMinLevelAttribute(callback, value, 0); + } + + public void writeMicMinLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), MIC_MIN_LEVEL_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeMicMinLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_MIN_LEVEL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_MIN_LEVEL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMicAGCAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_AGC_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_AGC_ATTRIBUTE_ID, true); + } + + public void writeMicAGCAttribute(DefaultClusterCallback callback, Boolean value) { + writeMicAGCAttribute(callback, value, 0); + } + + public void writeMicAGCAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), MIC_AGC_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeMicAGCAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MIC_AGC_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MIC_AGC_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readImageRotationAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, IMAGE_ROTATION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, IMAGE_ROTATION_ATTRIBUTE_ID, true); + } + + public void subscribeImageRotationAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, IMAGE_ROTATION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, IMAGE_ROTATION_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readImageFlipHorizontalAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, IMAGE_FLIP_HORIZONTAL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, IMAGE_FLIP_HORIZONTAL_ATTRIBUTE_ID, true); + } + + public void subscribeImageFlipHorizontalAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, IMAGE_FLIP_HORIZONTAL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, IMAGE_FLIP_HORIZONTAL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readImageFlipVerticalAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, IMAGE_FLIP_VERTICAL_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, IMAGE_FLIP_VERTICAL_ATTRIBUTE_ID, true); + } + + public void subscribeImageFlipVerticalAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, IMAGE_FLIP_VERTICAL_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, IMAGE_FLIP_VERTICAL_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readLocalVideoRecordingEnabledAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, LOCAL_VIDEO_RECORDING_ENABLED_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, LOCAL_VIDEO_RECORDING_ENABLED_ATTRIBUTE_ID, true); + } + + public void writeLocalVideoRecordingEnabledAttribute(DefaultClusterCallback callback, Boolean value) { + writeLocalVideoRecordingEnabledAttribute(callback, value, 0); + } + + public void writeLocalVideoRecordingEnabledAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), LOCAL_VIDEO_RECORDING_ENABLED_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeLocalVideoRecordingEnabledAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, LOCAL_VIDEO_RECORDING_ENABLED_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, LOCAL_VIDEO_RECORDING_ENABLED_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readLocalSnapshotRecordingEnabledAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, LOCAL_SNAPSHOT_RECORDING_ENABLED_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, LOCAL_SNAPSHOT_RECORDING_ENABLED_ATTRIBUTE_ID, true); + } + + public void writeLocalSnapshotRecordingEnabledAttribute(DefaultClusterCallback callback, Boolean value) { + writeLocalSnapshotRecordingEnabledAttribute(callback, value, 0); + } + + public void writeLocalSnapshotRecordingEnabledAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), LOCAL_SNAPSHOT_RECORDING_ENABLED_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeLocalSnapshotRecordingEnabledAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, LOCAL_SNAPSHOT_RECORDING_ENABLED_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, LOCAL_SNAPSHOT_RECORDING_ENABLED_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readStatusLightAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, STATUS_LIGHT_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, STATUS_LIGHT_ATTRIBUTE_ID, true); + } + + public void writeStatusLightAttribute(DefaultClusterCallback callback, Boolean value) { + writeStatusLightAttribute(callback, value, 0); + } + + public void writeStatusLightAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), STATUS_LIGHT_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeStatusLightAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, STATUS_LIGHT_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, STATUS_LIGHT_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readStatusLightBrightnessAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, STATUS_LIGHT_BRIGHTNESS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, STATUS_LIGHT_BRIGHTNESS_ATTRIBUTE_ID, true); + } + + public void writeStatusLightBrightnessAttribute(DefaultClusterCallback callback, Integer value) { + writeStatusLightBrightnessAttribute(callback, value, 0); + } + + public void writeStatusLightBrightnessAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), STATUS_LIGHT_BRIGHTNESS_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeStatusLightBrightnessAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, STATUS_LIGHT_BRIGHTNESS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, STATUS_LIGHT_BRIGHTNESS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readDepthSensorStatusAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, DEPTH_SENSOR_STATUS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, DEPTH_SENSOR_STATUS_ATTRIBUTE_ID, true); + } + + public void writeDepthSensorStatusAttribute(DefaultClusterCallback callback, Integer value) { + writeDepthSensorStatusAttribute(callback, value, 0); + } + + public void writeDepthSensorStatusAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), DEPTH_SENSOR_STATUS_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeDepthSensorStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, DEPTH_SENSOR_STATUS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, DEPTH_SENSOR_STATUS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readWatermarkEnabledAttribute( + WatermarkEnabledAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, WATERMARK_ENABLED_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, WATERMARK_ENABLED_ATTRIBUTE_ID, true); + } + + public void writeWatermarkEnabledAttribute(DefaultClusterCallback callback, ArrayList value) { + writeWatermarkEnabledAttribute(callback, value, 0); + } + + public void writeWatermarkEnabledAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = ArrayType.generateArrayType(value, (elementvalue) -> elementvalue.encodeTlv()); + writeAttribute(new WriteAttributesCallbackImpl(callback), WATERMARK_ENABLED_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeWatermarkEnabledAttribute( + WatermarkEnabledAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, WATERMARK_ENABLED_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, WATERMARK_ENABLED_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readOSDEnabledAttribute( + OSDEnabledAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, OSD_ENABLED_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, OSD_ENABLED_ATTRIBUTE_ID, true); + } + + public void writeOSDEnabledAttribute(DefaultClusterCallback callback, ArrayList value) { + writeOSDEnabledAttribute(callback, value, 0); + } + + public void writeOSDEnabledAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = ArrayType.generateArrayType(value, (elementvalue) -> elementvalue.encodeTlv()); + writeAttribute(new WriteAttributesCallbackImpl(callback), OSD_ENABLED_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeOSDEnabledAttribute( + OSDEnabledAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, OSD_ENABLED_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, OSD_ENABLED_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, true); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, true); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, minInterval, maxInterval); + } + } + + public static class CameraAvSettingsUserLevelManagementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1362L; + + private static final long MPTZ_ATTRIBUTE_ID = 0L; + private static final long MAX_PRESETS_ATTRIBUTE_ID = 1L; + private static final long PRESET_MPTZ_TABLE_ATTRIBUTE_ID = 2L; + private static final long MPTZ_RELATIVE_MOVE_ATTRIBUTE_ID = 3L; + private static final long DPTZ_RELATIVE_MOVE_ATTRIBUTE_ID = 4L; + private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L; + private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L; + private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L; + private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L; + private static final long FEATURE_MAP_ATTRIBUTE_ID = 65532L; + private static final long CLUSTER_REVISION_ATTRIBUTE_ID = 65533L; + + public CameraAvSettingsUserLevelManagementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId, CLUSTER_ID); + } + + @Override + @Deprecated + public long initWithDevice(long devicePtr, int endpointId) { + return 0L; + } + + public void mptzSet(DefaultClusterCallback callback, Optional newPTZ, Optional presetID) { + mptzSet(callback, newPTZ, presetID, 0); + } + + public void mptzSet(DefaultClusterCallback callback, Optional newPTZ, Optional presetID, int timedInvokeTimeoutMs) { + final long commandId = 0L; + + ArrayList elements = new ArrayList<>(); + final long newPTZFieldID = 0L; + BaseTLVType newPTZtlvValue = newPTZ.map((nonOptionalnewPTZ) -> nonOptionalnewPTZ.encodeTlv()).orElse(new EmptyType()); + elements.add(new StructElement(newPTZFieldID, newPTZtlvValue)); + + final long presetIDFieldID = 1L; + BaseTLVType presetIDtlvValue = presetID.map((nonOptionalpresetID) -> new UIntType(nonOptionalpresetID)).orElse(new EmptyType()); + elements.add(new StructElement(presetIDFieldID, presetIDtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void mptzRelativeMove(DefaultClusterCallback callback, Integer pan, Integer tilt, Integer zoom) { + mptzRelativeMove(callback, pan, tilt, zoom, 0); + } + + public void mptzRelativeMove(DefaultClusterCallback callback, Integer pan, Integer tilt, Integer zoom, int timedInvokeTimeoutMs) { + final long commandId = 1L; + + ArrayList elements = new ArrayList<>(); + final long panFieldID = 0L; + BaseTLVType pantlvValue = new IntType(pan); + elements.add(new StructElement(panFieldID, pantlvValue)); + + final long tiltFieldID = 1L; + BaseTLVType tilttlvValue = new IntType(tilt); + elements.add(new StructElement(tiltFieldID, tilttlvValue)); + + final long zoomFieldID = 2L; + BaseTLVType zoomtlvValue = new IntType(zoom); + elements.add(new StructElement(zoomFieldID, zoomtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void setAsPreset(DefaultClusterCallback callback) { + setAsPreset(callback, 0); + } + + public void setAsPreset(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + final long commandId = 2L; + + ArrayList elements = new ArrayList<>(); + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void dptzSetViewport(DefaultClusterCallback callback, Integer videoStreamID, ChipStructs.CameraAvSettingsUserLevelManagementClusterViewportStruct viewport) { + dptzSetViewport(callback, videoStreamID, viewport, 0); + } + + public void dptzSetViewport(DefaultClusterCallback callback, Integer videoStreamID, ChipStructs.CameraAvSettingsUserLevelManagementClusterViewportStruct viewport, int timedInvokeTimeoutMs) { + final long commandId = 3L; + + ArrayList elements = new ArrayList<>(); + final long videoStreamIDFieldID = 0L; + BaseTLVType videoStreamIDtlvValue = new UIntType(videoStreamID); + elements.add(new StructElement(videoStreamIDFieldID, videoStreamIDtlvValue)); + + final long viewportFieldID = 1L; + BaseTLVType viewporttlvValue = viewport.encodeTlv(); + elements.add(new StructElement(viewportFieldID, viewporttlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void dptzRelativeMove(DefaultClusterCallback callback, Integer videoStreamID, Integer pan, Integer tilt, Integer zoom) { + dptzRelativeMove(callback, videoStreamID, pan, tilt, zoom, 0); + } + + public void dptzRelativeMove(DefaultClusterCallback callback, Integer videoStreamID, Integer pan, Integer tilt, Integer zoom, int timedInvokeTimeoutMs) { + final long commandId = 4L; + + ArrayList elements = new ArrayList<>(); + final long videoStreamIDFieldID = 0L; + BaseTLVType videoStreamIDtlvValue = new UIntType(videoStreamID); + elements.add(new StructElement(videoStreamIDFieldID, videoStreamIDtlvValue)); + + final long panFieldID = 1L; + BaseTLVType pantlvValue = new IntType(pan); + elements.add(new StructElement(panFieldID, pantlvValue)); + + final long tiltFieldID = 2L; + BaseTLVType tilttlvValue = new IntType(tilt); + elements.add(new StructElement(tiltFieldID, tilttlvValue)); + + final long zoomFieldID = 3L; + BaseTLVType zoomtlvValue = new IntType(zoom); + elements.add(new StructElement(zoomFieldID, zoomtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public interface MptzAttributeCallback extends BaseAttributeCallback { + void onSuccess(ChipStructs.CameraAvSettingsUserLevelManagementClusterMPTZStruct value); + } + + public interface PresetMptzTableAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface DptzRelativeMoveAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface GeneratedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AcceptedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface EventListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AttributeListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public void readMptzAttribute( + MptzAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MPTZ_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvSettingsUserLevelManagementClusterMPTZStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MPTZ_ATTRIBUTE_ID, true); + } + + public void subscribeMptzAttribute( + MptzAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MPTZ_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + ChipStructs.CameraAvSettingsUserLevelManagementClusterMPTZStruct value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MPTZ_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMaxPresetsAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_PRESETS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_PRESETS_ATTRIBUTE_ID, true); + } + + public void subscribeMaxPresetsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_PRESETS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MAX_PRESETS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readPresetMptzTableAttribute( + PresetMptzTableAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, PRESET_MPTZ_TABLE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, PRESET_MPTZ_TABLE_ATTRIBUTE_ID, true); + } + + public void subscribePresetMptzTableAttribute( + PresetMptzTableAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, PRESET_MPTZ_TABLE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, PRESET_MPTZ_TABLE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readMptzRelativeMoveAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MPTZ_RELATIVE_MOVE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MPTZ_RELATIVE_MOVE_ATTRIBUTE_ID, true); + } + + public void subscribeMptzRelativeMoveAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MPTZ_RELATIVE_MOVE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, MPTZ_RELATIVE_MOVE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readDptzRelativeMoveAttribute( + DptzRelativeMoveAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, DPTZ_RELATIVE_MOVE_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, DPTZ_RELATIVE_MOVE_ATTRIBUTE_ID, true); + } + + public void subscribeDptzRelativeMoveAttribute( + DptzRelativeMoveAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, DPTZ_RELATIVE_MOVE_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, DPTZ_RELATIVE_MOVE_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, true); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, true); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, minInterval, maxInterval); + } + } + + public static class WebRTCTransportProviderCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1363L; + + private static final long CURRENT_SESSIONS_ATTRIBUTE_ID = 0L; + private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L; + private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L; + private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L; + private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L; + private static final long FEATURE_MAP_ATTRIBUTE_ID = 65532L; + private static final long CLUSTER_REVISION_ATTRIBUTE_ID = 65533L; + + public WebRTCTransportProviderCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId, CLUSTER_ID); + } + + @Override + @Deprecated + public long initWithDevice(long devicePtr, int endpointId) { + return 0L; + } + + public void webRTCSolicitOffer(WebRTCSolicitOfferResponseCallback callback, Integer streamType, @Nullable Optional videoStreamID, @Nullable Optional audioStreamID, Optional> ICEServers, Optional ICETransportPolicy, Optional metadataOptions) { + webRTCSolicitOffer(callback, streamType, videoStreamID, audioStreamID, ICEServers, ICETransportPolicy, metadataOptions, 0); + } + + public void webRTCSolicitOffer(WebRTCSolicitOfferResponseCallback callback, Integer streamType, @Nullable Optional videoStreamID, @Nullable Optional audioStreamID, Optional> ICEServers, Optional ICETransportPolicy, Optional metadataOptions, int timedInvokeTimeoutMs) { + final long commandId = 1L; + + ArrayList elements = new ArrayList<>(); + final long streamTypeFieldID = 0L; + BaseTLVType streamTypetlvValue = new UIntType(streamType); + elements.add(new StructElement(streamTypeFieldID, streamTypetlvValue)); + + final long videoStreamIDFieldID = 1L; + BaseTLVType videoStreamIDtlvValue = videoStreamID != null ? videoStreamID.map((nonOptionalvideoStreamID) -> new UIntType(nonOptionalvideoStreamID)).orElse(new EmptyType()) : new NullType(); + elements.add(new StructElement(videoStreamIDFieldID, videoStreamIDtlvValue)); + + final long audioStreamIDFieldID = 2L; + BaseTLVType audioStreamIDtlvValue = audioStreamID != null ? audioStreamID.map((nonOptionalaudioStreamID) -> new UIntType(nonOptionalaudioStreamID)).orElse(new EmptyType()) : new NullType(); + elements.add(new StructElement(audioStreamIDFieldID, audioStreamIDtlvValue)); + + final long ICEServersFieldID = 3L; + BaseTLVType ICEServerstlvValue = ICEServers.map((nonOptionalICEServers) -> ArrayType.generateArrayType(nonOptionalICEServers, (elementnonOptionalICEServers) -> elementnonOptionalICEServers.encodeTlv())).orElse(new EmptyType()); + elements.add(new StructElement(ICEServersFieldID, ICEServerstlvValue)); + + final long ICETransportPolicyFieldID = 4L; + BaseTLVType ICETransportPolicytlvValue = ICETransportPolicy.map((nonOptionalICETransportPolicy) -> new StringType(nonOptionalICETransportPolicy)).orElse(new EmptyType()); + elements.add(new StructElement(ICETransportPolicyFieldID, ICETransportPolicytlvValue)); + + final long metadataOptionsFieldID = 5L; + BaseTLVType metadataOptionstlvValue = metadataOptions.map((nonOptionalmetadataOptions) -> new UIntType(nonOptionalmetadataOptions)).orElse(new EmptyType()); + elements.add(new StructElement(metadataOptionsFieldID, metadataOptionstlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + final long webRTCSessionIDFieldID = 0L; + Integer webRTCSessionID = null; + final long deferredOfferFieldID = 1L; + Boolean deferredOffer = null; + final long videoStreamIDFieldID = 2L; + @Nullable Optional videoStreamID = null; + final long audioStreamIDFieldID = 3L; + @Nullable Optional audioStreamID = null; + for (StructElement element: invokeStructValue.value()) { + if (element.contextTagNum() == webRTCSessionIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + webRTCSessionID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == deferredOfferFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.Boolean) { + BooleanType castingValue = element.value(BooleanType.class); + deferredOffer = castingValue.value(Boolean.class); + } + } else if (element.contextTagNum() == videoStreamIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == audioStreamIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = Optional.of(castingValue.value(Integer.class)); + } + } + } + callback.onSuccess(webRTCSessionID, deferredOffer, videoStreamID, audioStreamID); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void webRTCProvideOffer(WebRTCProvideOfferResponseCallback callback, @Nullable Integer webRTCSessionID, String sdp, Integer streamType, @Nullable Optional videoStreamID, @Nullable Optional audioStreamID, Optional> ICEServers, Optional ICETransportPolicy, Optional metadataOptions) { + webRTCProvideOffer(callback, webRTCSessionID, sdp, streamType, videoStreamID, audioStreamID, ICEServers, ICETransportPolicy, metadataOptions, 0); + } + + public void webRTCProvideOffer(WebRTCProvideOfferResponseCallback callback, @Nullable Integer webRTCSessionID, String sdp, Integer streamType, @Nullable Optional videoStreamID, @Nullable Optional audioStreamID, Optional> ICEServers, Optional ICETransportPolicy, Optional metadataOptions, int timedInvokeTimeoutMs) { + final long commandId = 3L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = webRTCSessionID != null ? new UIntType(webRTCSessionID) : new NullType(); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long sdpFieldID = 1L; + BaseTLVType sdptlvValue = new StringType(sdp); + elements.add(new StructElement(sdpFieldID, sdptlvValue)); + + final long streamTypeFieldID = 2L; + BaseTLVType streamTypetlvValue = new UIntType(streamType); + elements.add(new StructElement(streamTypeFieldID, streamTypetlvValue)); + + final long videoStreamIDFieldID = 3L; + BaseTLVType videoStreamIDtlvValue = videoStreamID != null ? videoStreamID.map((nonOptionalvideoStreamID) -> new UIntType(nonOptionalvideoStreamID)).orElse(new EmptyType()) : new NullType(); + elements.add(new StructElement(videoStreamIDFieldID, videoStreamIDtlvValue)); + + final long audioStreamIDFieldID = 4L; + BaseTLVType audioStreamIDtlvValue = audioStreamID != null ? audioStreamID.map((nonOptionalaudioStreamID) -> new UIntType(nonOptionalaudioStreamID)).orElse(new EmptyType()) : new NullType(); + elements.add(new StructElement(audioStreamIDFieldID, audioStreamIDtlvValue)); + + final long ICEServersFieldID = 5L; + BaseTLVType ICEServerstlvValue = ICEServers.map((nonOptionalICEServers) -> ArrayType.generateArrayType(nonOptionalICEServers, (elementnonOptionalICEServers) -> elementnonOptionalICEServers.encodeTlv())).orElse(new EmptyType()); + elements.add(new StructElement(ICEServersFieldID, ICEServerstlvValue)); + + final long ICETransportPolicyFieldID = 6L; + BaseTLVType ICETransportPolicytlvValue = ICETransportPolicy.map((nonOptionalICETransportPolicy) -> new StringType(nonOptionalICETransportPolicy)).orElse(new EmptyType()); + elements.add(new StructElement(ICETransportPolicyFieldID, ICETransportPolicytlvValue)); + + final long metadataOptionsFieldID = 7L; + BaseTLVType metadataOptionstlvValue = metadataOptions.map((nonOptionalmetadataOptions) -> new UIntType(nonOptionalmetadataOptions)).orElse(new EmptyType()); + elements.add(new StructElement(metadataOptionsFieldID, metadataOptionstlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + final long webRTCSessionIDFieldID = 0L; + Integer webRTCSessionID = null; + final long videoStreamIDFieldID = 1L; + Integer videoStreamID = null; + final long audioStreamIDFieldID = 2L; + Integer audioStreamID = null; + for (StructElement element: invokeStructValue.value()) { + if (element.contextTagNum() == webRTCSessionIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + webRTCSessionID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == videoStreamIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == audioStreamIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = castingValue.value(Integer.class); + } + } + } + callback.onSuccess(webRTCSessionID, videoStreamID, audioStreamID); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void webRTCProvideAnswer(DefaultClusterCallback callback, Integer webRTCSessionID, String sdp) { + webRTCProvideAnswer(callback, webRTCSessionID, sdp, 0); + } + + public void webRTCProvideAnswer(DefaultClusterCallback callback, Integer webRTCSessionID, String sdp, int timedInvokeTimeoutMs) { + final long commandId = 5L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = new UIntType(webRTCSessionID); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long sdpFieldID = 1L; + BaseTLVType sdptlvValue = new StringType(sdp); + elements.add(new StructElement(sdpFieldID, sdptlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void webRTCProvideICECandidate(DefaultClusterCallback callback, Integer webRTCSessionID, String ICECandidate) { + webRTCProvideICECandidate(callback, webRTCSessionID, ICECandidate, 0); + } + + public void webRTCProvideICECandidate(DefaultClusterCallback callback, Integer webRTCSessionID, String ICECandidate, int timedInvokeTimeoutMs) { + final long commandId = 6L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = new UIntType(webRTCSessionID); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long ICECandidateFieldID = 1L; + BaseTLVType ICECandidatetlvValue = new StringType(ICECandidate); + elements.add(new StructElement(ICECandidateFieldID, ICECandidatetlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void webRTCEndSession(DefaultClusterCallback callback, Integer webRTCSessionID, Integer reason) { + webRTCEndSession(callback, webRTCSessionID, reason, 0); + } + + public void webRTCEndSession(DefaultClusterCallback callback, Integer webRTCSessionID, Integer reason, int timedInvokeTimeoutMs) { + final long commandId = 7L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = new UIntType(webRTCSessionID); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long reasonFieldID = 1L; + BaseTLVType reasontlvValue = new UIntType(reason); + elements.add(new StructElement(reasonFieldID, reasontlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public interface WebRTCSolicitOfferResponseCallback extends BaseClusterCallback { + void onSuccess(Integer webRTCSessionID, Boolean deferredOffer, @Nullable Optional videoStreamID, @Nullable Optional audioStreamID); + } + + public interface WebRTCProvideOfferResponseCallback extends BaseClusterCallback { + void onSuccess(Integer webRTCSessionID, Integer videoStreamID, Integer audioStreamID); + } + + public interface CurrentSessionsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface GeneratedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AcceptedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface EventListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AttributeListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public void readCurrentSessionsAttribute( + CurrentSessionsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_SESSIONS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_SESSIONS_ATTRIBUTE_ID, true); + } + + public void subscribeCurrentSessionsAttribute( + CurrentSessionsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_SESSIONS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_SESSIONS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, true); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, true); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, minInterval, maxInterval); + } + } + + public static class WebRTCTransportRequestorCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1364L; + + private static final long CURRENT_SESSIONS_ATTRIBUTE_ID = 0L; + private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L; + private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L; + private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L; + private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L; + private static final long FEATURE_MAP_ATTRIBUTE_ID = 65532L; + private static final long CLUSTER_REVISION_ATTRIBUTE_ID = 65533L; + + public WebRTCTransportRequestorCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId, CLUSTER_ID); + } + + @Override + @Deprecated + public long initWithDevice(long devicePtr, int endpointId) { + return 0L; + } + + public void webRTCOffer(DefaultClusterCallback callback, Integer webRTCSessionID, String sdp, Optional> ICEServers, Optional ICETransportPolicy) { + webRTCOffer(callback, webRTCSessionID, sdp, ICEServers, ICETransportPolicy, 0); + } + + public void webRTCOffer(DefaultClusterCallback callback, Integer webRTCSessionID, String sdp, Optional> ICEServers, Optional ICETransportPolicy, int timedInvokeTimeoutMs) { + final long commandId = 1L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = new UIntType(webRTCSessionID); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long sdpFieldID = 1L; + BaseTLVType sdptlvValue = new StringType(sdp); + elements.add(new StructElement(sdpFieldID, sdptlvValue)); + + final long ICEServersFieldID = 2L; + BaseTLVType ICEServerstlvValue = ICEServers.map((nonOptionalICEServers) -> ArrayType.generateArrayType(nonOptionalICEServers, (elementnonOptionalICEServers) -> elementnonOptionalICEServers.encodeTlv())).orElse(new EmptyType()); + elements.add(new StructElement(ICEServersFieldID, ICEServerstlvValue)); + + final long ICETransportPolicyFieldID = 3L; + BaseTLVType ICETransportPolicytlvValue = ICETransportPolicy.map((nonOptionalICETransportPolicy) -> new StringType(nonOptionalICETransportPolicy)).orElse(new EmptyType()); + elements.add(new StructElement(ICETransportPolicyFieldID, ICETransportPolicytlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void webRTCAnswer(DefaultClusterCallback callback, Integer webRTCSessionID, String sdp) { + webRTCAnswer(callback, webRTCSessionID, sdp, 0); + } + + public void webRTCAnswer(DefaultClusterCallback callback, Integer webRTCSessionID, String sdp, int timedInvokeTimeoutMs) { + final long commandId = 2L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = new UIntType(webRTCSessionID); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long sdpFieldID = 1L; + BaseTLVType sdptlvValue = new StringType(sdp); + elements.add(new StructElement(sdpFieldID, sdptlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void webRTCICECandidate(DefaultClusterCallback callback, Integer webRTCSessionID, String ICECandidate) { + webRTCICECandidate(callback, webRTCSessionID, ICECandidate, 0); + } + + public void webRTCICECandidate(DefaultClusterCallback callback, Integer webRTCSessionID, String ICECandidate, int timedInvokeTimeoutMs) { + final long commandId = 3L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = new UIntType(webRTCSessionID); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long ICECandidateFieldID = 1L; + BaseTLVType ICECandidatetlvValue = new StringType(ICECandidate); + elements.add(new StructElement(ICECandidateFieldID, ICECandidatetlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void webRTCEnd(DefaultClusterCallback callback, Integer webRTCSessionID, Integer reason) { + webRTCEnd(callback, webRTCSessionID, reason, 0); + } + + public void webRTCEnd(DefaultClusterCallback callback, Integer webRTCSessionID, Integer reason, int timedInvokeTimeoutMs) { + final long commandId = 4L; + + ArrayList elements = new ArrayList<>(); + final long webRTCSessionIDFieldID = 0L; + BaseTLVType webRTCSessionIDtlvValue = new UIntType(webRTCSessionID); + elements.add(new StructElement(webRTCSessionIDFieldID, webRTCSessionIDtlvValue)); + + final long reasonFieldID = 1L; + BaseTLVType reasontlvValue = new UIntType(reason); + elements.add(new StructElement(reasonFieldID, reasontlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public interface CurrentSessionsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface GeneratedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AcceptedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface EventListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AttributeListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public void readCurrentSessionsAttribute( + CurrentSessionsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_SESSIONS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_SESSIONS_ATTRIBUTE_ID, true); + } + + public void subscribeCurrentSessionsAttribute( + CurrentSessionsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_SESSIONS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_SESSIONS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, true); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, true); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, minInterval, maxInterval); + } + } + + public static class PushAvStreamTransportCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1365L; + + private static final long SUPPORTED_CONTAINER_FORMATS_ATTRIBUTE_ID = 0L; + private static final long SUPPORTED_INGEST_METHODS_ATTRIBUTE_ID = 1L; + private static final long CURRENT_CONNECTIONS_ATTRIBUTE_ID = 2L; + private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L; + private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L; + private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L; + private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L; + private static final long FEATURE_MAP_ATTRIBUTE_ID = 65532L; + private static final long CLUSTER_REVISION_ATTRIBUTE_ID = 65533L; + + public PushAvStreamTransportCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId, CLUSTER_ID); + } + + @Override + @Deprecated + public long initWithDevice(long devicePtr, int endpointId) { + return 0L; + } + + public void allocatePushTransport(AllocatePushTransportResponseCallback callback, ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions) { + allocatePushTransport(callback, streamTransportOptions, 0); + } + + public void allocatePushTransport(AllocatePushTransportResponseCallback callback, ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions, int timedInvokeTimeoutMs) { + final long commandId = 0L; + + ArrayList elements = new ArrayList<>(); + final long streamTransportOptionsFieldID = 0L; + BaseTLVType streamTransportOptionstlvValue = streamTransportOptions.encodeTlv(); + elements.add(new StructElement(streamTransportOptionsFieldID, streamTransportOptionstlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + final long connectionIDFieldID = 0L; + Integer connectionID = null; + final long streamTransportOptionsFieldID = 1L; + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions = null; + final long transportStatusFieldID = 2L; + Integer transportStatus = null; + for (StructElement element: invokeStructValue.value()) { + if (element.contextTagNum() == connectionIDFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + connectionID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == streamTransportOptionsFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + streamTransportOptions = ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct.decodeTlv(castingValue); + } + } else if (element.contextTagNum() == transportStatusFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + transportStatus = castingValue.value(Integer.class); + } + } + } + callback.onSuccess(connectionID, streamTransportOptions, transportStatus); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void deallocatePushTransport(DefaultClusterCallback callback, Integer connectionID) { + deallocatePushTransport(callback, connectionID, 0); + } + + public void deallocatePushTransport(DefaultClusterCallback callback, Integer connectionID, int timedInvokeTimeoutMs) { + final long commandId = 2L; + + ArrayList elements = new ArrayList<>(); + final long connectionIDFieldID = 0L; + BaseTLVType connectionIDtlvValue = new UIntType(connectionID); + elements.add(new StructElement(connectionIDFieldID, connectionIDtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void modifyPushTransport(DefaultClusterCallback callback, Integer connectionID, ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions) { + modifyPushTransport(callback, connectionID, streamTransportOptions, 0); + } + + public void modifyPushTransport(DefaultClusterCallback callback, Integer connectionID, ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions, int timedInvokeTimeoutMs) { + final long commandId = 3L; + + ArrayList elements = new ArrayList<>(); + final long connectionIDFieldID = 0L; + BaseTLVType connectionIDtlvValue = new UIntType(connectionID); + elements.add(new StructElement(connectionIDFieldID, connectionIDtlvValue)); + + final long streamTransportOptionsFieldID = 1L; + BaseTLVType streamTransportOptionstlvValue = streamTransportOptions.encodeTlv(); + elements.add(new StructElement(streamTransportOptionsFieldID, streamTransportOptionstlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void setTransportStatus(DefaultClusterCallback callback, @Nullable Integer connectionID, Integer streamTransportStatus) { + setTransportStatus(callback, connectionID, streamTransportStatus, 0); + } + + public void setTransportStatus(DefaultClusterCallback callback, @Nullable Integer connectionID, Integer streamTransportStatus, int timedInvokeTimeoutMs) { + final long commandId = 4L; + + ArrayList elements = new ArrayList<>(); + final long connectionIDFieldID = 0L; + BaseTLVType connectionIDtlvValue = connectionID != null ? new UIntType(connectionID) : new NullType(); + elements.add(new StructElement(connectionIDFieldID, connectionIDtlvValue)); + + final long streamTransportStatusFieldID = 1L; + BaseTLVType streamTransportStatustlvValue = new UIntType(streamTransportStatus); + elements.add(new StructElement(streamTransportStatusFieldID, streamTransportStatustlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void manuallyTriggerTransport(DefaultClusterCallback callback, Integer connectionID, @Nullable Integer activationReason, @Nullable Optional timeControl) { + manuallyTriggerTransport(callback, connectionID, activationReason, timeControl, 0); + } + + public void manuallyTriggerTransport(DefaultClusterCallback callback, Integer connectionID, @Nullable Integer activationReason, @Nullable Optional timeControl, int timedInvokeTimeoutMs) { + final long commandId = 5L; + + ArrayList elements = new ArrayList<>(); + final long connectionIDFieldID = 0L; + BaseTLVType connectionIDtlvValue = new UIntType(connectionID); + elements.add(new StructElement(connectionIDFieldID, connectionIDtlvValue)); + + final long activationReasonFieldID = 1L; + BaseTLVType activationReasontlvValue = activationReason != null ? new UIntType(activationReason) : new NullType(); + elements.add(new StructElement(activationReasonFieldID, activationReasontlvValue)); + + final long timeControlFieldID = 2L; + BaseTLVType timeControltlvValue = timeControl != null ? timeControl.map((nonOptionaltimeControl) -> nonOptionaltimeControl.encodeTlv()).orElse(new EmptyType()) : new NullType(); + elements.add(new StructElement(timeControlFieldID, timeControltlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public void findStreamConfiguration(FindStreamConfigurationResponseCallback callback, @Nullable Optional connectionID) { + findStreamConfiguration(callback, connectionID, 0); + } + + public void findStreamConfiguration(FindStreamConfigurationResponseCallback callback, @Nullable Optional connectionID, int timedInvokeTimeoutMs) { + final long commandId = 6L; + + ArrayList elements = new ArrayList<>(); + final long connectionIDFieldID = 0L; + BaseTLVType connectionIDtlvValue = connectionID != null ? connectionID.map((nonOptionalconnectionID) -> new UIntType(nonOptionalconnectionID)).orElse(new EmptyType()) : new NullType(); + elements.add(new StructElement(connectionIDFieldID, connectionIDtlvValue)); + + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + final long streamConfigurationsFieldID = 0L; + ArrayList streamConfigurations = null; + for (StructElement element: invokeStructValue.value()) { + if (element.contextTagNum() == streamConfigurationsFieldID) { + if (element.value(BaseTLVType.class).type() == TLVType.Array) { + ArrayType castingValue = element.value(ArrayType.class); + streamConfigurations = castingValue.map((elementcastingValue) -> ChipStructs.PushAvStreamTransportClusterPushAVStreamConfigurationStruct.decodeTlv(elementcastingValue)); + } + } + } + callback.onSuccess(streamConfigurations); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public interface AllocatePushTransportResponseCallback extends BaseClusterCallback { + void onSuccess(Integer connectionID, ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions, Integer transportStatus); + } + + public interface FindStreamConfigurationResponseCallback extends BaseClusterCallback { + void onSuccess(ArrayList streamConfigurations); + } + + public interface CurrentConnectionsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface GeneratedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AcceptedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface EventListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AttributeListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public void readSupportedContainerFormatsAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SUPPORTED_CONTAINER_FORMATS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SUPPORTED_CONTAINER_FORMATS_ATTRIBUTE_ID, true); + } + + public void subscribeSupportedContainerFormatsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SUPPORTED_CONTAINER_FORMATS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SUPPORTED_CONTAINER_FORMATS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readSupportedIngestMethodsAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SUPPORTED_INGEST_METHODS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SUPPORTED_INGEST_METHODS_ATTRIBUTE_ID, true); + } + + public void subscribeSupportedIngestMethodsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, SUPPORTED_INGEST_METHODS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, SUPPORTED_INGEST_METHODS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readCurrentConnectionsAttribute( + CurrentConnectionsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_CONNECTIONS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_CONNECTIONS_ATTRIBUTE_ID, true); + } + + public void subscribeCurrentConnectionsAttribute( + CurrentConnectionsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_CONNECTIONS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CURRENT_CONNECTIONS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, true); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, true); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, minInterval, maxInterval); + } + } + + public static class ChimeCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1366L; + + private static final long INSTALLED_CHIME_SOUNDS_ATTRIBUTE_ID = 0L; + private static final long ACTIVE_CHIME_SOUND_ID_ATTRIBUTE_ID = 1L; + private static final long ENABLED_ATTRIBUTE_ID = 2L; + private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L; + private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L; + private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L; + private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L; + private static final long FEATURE_MAP_ATTRIBUTE_ID = 65532L; + private static final long CLUSTER_REVISION_ATTRIBUTE_ID = 65533L; + + public ChimeCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId, CLUSTER_ID); + } + + @Override + @Deprecated + public long initWithDevice(long devicePtr, int endpointId) { + return 0L; + } + + public void playChimeSound(DefaultClusterCallback callback) { + playChimeSound(callback, 0); + } + + public void playChimeSound(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + final long commandId = 0L; + + ArrayList elements = new ArrayList<>(); + StructType commandArgs = new StructType(elements); + invoke(new InvokeCallbackImpl(callback) { + @Override + public void onResponse(StructType invokeStructValue) { + callback.onSuccess(); + }}, commandId, commandArgs, timedInvokeTimeoutMs); + } + + public interface InstalledChimeSoundsAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface GeneratedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AcceptedCommandListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface EventListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public interface AttributeListAttributeCallback extends BaseAttributeCallback { + void onSuccess(List value); + } + + public void readInstalledChimeSoundsAttribute( + InstalledChimeSoundsAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, INSTALLED_CHIME_SOUNDS_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, INSTALLED_CHIME_SOUNDS_ATTRIBUTE_ID, true); + } + + public void subscribeInstalledChimeSoundsAttribute( + InstalledChimeSoundsAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, INSTALLED_CHIME_SOUNDS_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, INSTALLED_CHIME_SOUNDS_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readActiveChimeSoundIdAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACTIVE_CHIME_SOUND_ID_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACTIVE_CHIME_SOUND_ID_ATTRIBUTE_ID, true); + } + + public void writeActiveChimeSoundIdAttribute(DefaultClusterCallback callback, Integer value) { + writeActiveChimeSoundIdAttribute(callback, value, 0); + } + + public void writeActiveChimeSoundIdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new UIntType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), ACTIVE_CHIME_SOUND_ID_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeActiveChimeSoundIdAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACTIVE_CHIME_SOUND_ID_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACTIVE_CHIME_SOUND_ID_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readEnabledAttribute( + BooleanAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ENABLED_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ENABLED_ATTRIBUTE_ID, true); + } + + public void writeEnabledAttribute(DefaultClusterCallback callback, Boolean value) { + writeEnabledAttribute(callback, value, 0); + } + + public void writeEnabledAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + BaseTLVType tlvValue = new BooleanType(value); + writeAttribute(new WriteAttributesCallbackImpl(callback), ENABLED_ATTRIBUTE_ID, tlvValue, timedWriteTimeoutMs); + } + + public void subscribeEnabledAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ENABLED_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Boolean value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ENABLED_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, GENERATED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, EVENT_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, EVENT_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, true); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, ATTRIBUTE_LIST_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + List value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, ATTRIBUTE_LIST_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, true); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FEATURE_MAP_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, FEATURE_MAP_ATTRIBUTE_ID, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + readAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, true); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CLUSTER_REVISION_ATTRIBUTE_ID); + + subscribeAttribute(new ReportCallbackImpl(callback, path) { + @Override + public void onSuccess(byte[] tlv) { + Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv); + callback.onSuccess(value); + } + }, CLUSTER_REVISION_ATTRIBUTE_ID, minInterval, maxInterval); + } + } + public static class EcosystemInformationCluster extends BaseChipCluster { public static final long CLUSTER_ID = 1872L; diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipEventStructs.java b/src/controller/java/generated/java/chip/devicecontroller/ChipEventStructs.java index 737462f3da184d..c71f78c8d5408e 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipEventStructs.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipEventStructs.java @@ -6187,6 +6187,563 @@ public String toString() { return output.toString(); } } +public static class CameraAvStreamManagementClusterVideoStreamChangedEvent { + public Integer videoStreamID; + public Optional streamType; + public Optional videoCodec; + public Optional minFrameRate; + public Optional maxFrameRate; + public Optional minResolution; + public Optional maxResolution; + public Optional minBitRate; + public Optional maxBitRate; + public Optional minFragmentLen; + public Optional maxFragmentLen; + private static final long VIDEO_STREAM_ID_ID = 0L; + private static final long STREAM_TYPE_ID = 1L; + private static final long VIDEO_CODEC_ID = 2L; + private static final long MIN_FRAME_RATE_ID = 3L; + private static final long MAX_FRAME_RATE_ID = 4L; + private static final long MIN_RESOLUTION_ID = 5L; + private static final long MAX_RESOLUTION_ID = 6L; + private static final long MIN_BIT_RATE_ID = 7L; + private static final long MAX_BIT_RATE_ID = 8L; + private static final long MIN_FRAGMENT_LEN_ID = 9L; + private static final long MAX_FRAGMENT_LEN_ID = 10L; + + public CameraAvStreamManagementClusterVideoStreamChangedEvent( + Integer videoStreamID, + Optional streamType, + Optional videoCodec, + Optional minFrameRate, + Optional maxFrameRate, + Optional minResolution, + Optional maxResolution, + Optional minBitRate, + Optional maxBitRate, + Optional minFragmentLen, + Optional maxFragmentLen + ) { + this.videoStreamID = videoStreamID; + this.streamType = streamType; + this.videoCodec = videoCodec; + this.minFrameRate = minFrameRate; + this.maxFrameRate = maxFrameRate; + this.minResolution = minResolution; + this.maxResolution = maxResolution; + this.minBitRate = minBitRate; + this.maxBitRate = maxBitRate; + this.minFragmentLen = minFragmentLen; + this.maxFragmentLen = maxFragmentLen; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(VIDEO_STREAM_ID_ID, new UIntType(videoStreamID))); + values.add(new StructElement(STREAM_TYPE_ID, streamType.map((nonOptionalstreamType) -> new UIntType(nonOptionalstreamType)).orElse(new EmptyType()))); + values.add(new StructElement(VIDEO_CODEC_ID, videoCodec.map((nonOptionalvideoCodec) -> new UIntType(nonOptionalvideoCodec)).orElse(new EmptyType()))); + values.add(new StructElement(MIN_FRAME_RATE_ID, minFrameRate.map((nonOptionalminFrameRate) -> new UIntType(nonOptionalminFrameRate)).orElse(new EmptyType()))); + values.add(new StructElement(MAX_FRAME_RATE_ID, maxFrameRate.map((nonOptionalmaxFrameRate) -> new UIntType(nonOptionalmaxFrameRate)).orElse(new EmptyType()))); + values.add(new StructElement(MIN_RESOLUTION_ID, minResolution.map((nonOptionalminResolution) -> new AnyType(nonOptionalminResolution)).orElse(new EmptyType()))); + values.add(new StructElement(MAX_RESOLUTION_ID, maxResolution.map((nonOptionalmaxResolution) -> new AnyType(nonOptionalmaxResolution)).orElse(new EmptyType()))); + values.add(new StructElement(MIN_BIT_RATE_ID, minBitRate.map((nonOptionalminBitRate) -> new UIntType(nonOptionalminBitRate)).orElse(new EmptyType()))); + values.add(new StructElement(MAX_BIT_RATE_ID, maxBitRate.map((nonOptionalmaxBitRate) -> new UIntType(nonOptionalmaxBitRate)).orElse(new EmptyType()))); + values.add(new StructElement(MIN_FRAGMENT_LEN_ID, minFragmentLen.map((nonOptionalminFragmentLen) -> new UIntType(nonOptionalminFragmentLen)).orElse(new EmptyType()))); + values.add(new StructElement(MAX_FRAGMENT_LEN_ID, maxFragmentLen.map((nonOptionalmaxFragmentLen) -> new UIntType(nonOptionalmaxFragmentLen)).orElse(new EmptyType()))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterVideoStreamChangedEvent decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer videoStreamID = null; + Optional streamType = Optional.empty(); + Optional videoCodec = Optional.empty(); + Optional minFrameRate = Optional.empty(); + Optional maxFrameRate = Optional.empty(); + Optional minResolution = Optional.empty(); + Optional maxResolution = Optional.empty(); + Optional minBitRate = Optional.empty(); + Optional maxBitRate = Optional.empty(); + Optional minFragmentLen = Optional.empty(); + Optional maxFragmentLen = Optional.empty(); + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == VIDEO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamType = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == VIDEO_CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoCodec = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == MIN_FRAME_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + minFrameRate = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == MAX_FRAME_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxFrameRate = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == MIN_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + minResolution = Optional.of(castingValue.value(Object.class)); + } + } else if (element.contextTagNum() == MAX_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + maxResolution = Optional.of(castingValue.value(Object.class)); + } + } else if (element.contextTagNum() == MIN_BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + minBitRate = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == MAX_BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxBitRate = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == MIN_FRAGMENT_LEN_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + minFragmentLen = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == MAX_FRAGMENT_LEN_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxFragmentLen = Optional.of(castingValue.value(Integer.class)); + } + } + } + return new CameraAvStreamManagementClusterVideoStreamChangedEvent( + videoStreamID, + streamType, + videoCodec, + minFrameRate, + maxFrameRate, + minResolution, + maxResolution, + minBitRate, + maxBitRate, + minFragmentLen, + maxFragmentLen + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterVideoStreamChangedEvent {\n"); + output.append("\tvideoStreamID: "); + output.append(videoStreamID); + output.append("\n"); + output.append("\tstreamType: "); + output.append(streamType); + output.append("\n"); + output.append("\tvideoCodec: "); + output.append(videoCodec); + output.append("\n"); + output.append("\tminFrameRate: "); + output.append(minFrameRate); + output.append("\n"); + output.append("\tmaxFrameRate: "); + output.append(maxFrameRate); + output.append("\n"); + output.append("\tminResolution: "); + output.append(minResolution); + output.append("\n"); + output.append("\tmaxResolution: "); + output.append(maxResolution); + output.append("\n"); + output.append("\tminBitRate: "); + output.append(minBitRate); + output.append("\n"); + output.append("\tmaxBitRate: "); + output.append(maxBitRate); + output.append("\n"); + output.append("\tminFragmentLen: "); + output.append(minFragmentLen); + output.append("\n"); + output.append("\tmaxFragmentLen: "); + output.append(maxFragmentLen); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterAudioStreamChangedEvent { + public Integer audioStreamID; + public Optional streamType; + public Optional audioCodec; + public Optional channelCount; + public Optional sampleRate; + public Optional bitRate; + public Optional bitDepth; + private static final long AUDIO_STREAM_ID_ID = 0L; + private static final long STREAM_TYPE_ID = 1L; + private static final long AUDIO_CODEC_ID = 2L; + private static final long CHANNEL_COUNT_ID = 3L; + private static final long SAMPLE_RATE_ID = 4L; + private static final long BIT_RATE_ID = 5L; + private static final long BIT_DEPTH_ID = 6L; + + public CameraAvStreamManagementClusterAudioStreamChangedEvent( + Integer audioStreamID, + Optional streamType, + Optional audioCodec, + Optional channelCount, + Optional sampleRate, + Optional bitRate, + Optional bitDepth + ) { + this.audioStreamID = audioStreamID; + this.streamType = streamType; + this.audioCodec = audioCodec; + this.channelCount = channelCount; + this.sampleRate = sampleRate; + this.bitRate = bitRate; + this.bitDepth = bitDepth; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(AUDIO_STREAM_ID_ID, new UIntType(audioStreamID))); + values.add(new StructElement(STREAM_TYPE_ID, streamType.map((nonOptionalstreamType) -> new UIntType(nonOptionalstreamType)).orElse(new EmptyType()))); + values.add(new StructElement(AUDIO_CODEC_ID, audioCodec.map((nonOptionalaudioCodec) -> new UIntType(nonOptionalaudioCodec)).orElse(new EmptyType()))); + values.add(new StructElement(CHANNEL_COUNT_ID, channelCount.map((nonOptionalchannelCount) -> new UIntType(nonOptionalchannelCount)).orElse(new EmptyType()))); + values.add(new StructElement(SAMPLE_RATE_ID, sampleRate.map((nonOptionalsampleRate) -> new UIntType(nonOptionalsampleRate)).orElse(new EmptyType()))); + values.add(new StructElement(BIT_RATE_ID, bitRate.map((nonOptionalbitRate) -> new UIntType(nonOptionalbitRate)).orElse(new EmptyType()))); + values.add(new StructElement(BIT_DEPTH_ID, bitDepth.map((nonOptionalbitDepth) -> new UIntType(nonOptionalbitDepth)).orElse(new EmptyType()))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterAudioStreamChangedEvent decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer audioStreamID = null; + Optional streamType = Optional.empty(); + Optional audioCodec = Optional.empty(); + Optional channelCount = Optional.empty(); + Optional sampleRate = Optional.empty(); + Optional bitRate = Optional.empty(); + Optional bitDepth = Optional.empty(); + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == AUDIO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamType = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == AUDIO_CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioCodec = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == CHANNEL_COUNT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + channelCount = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == SAMPLE_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + sampleRate = Optional.of(castingValue.value(Long.class)); + } + } else if (element.contextTagNum() == BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + bitRate = Optional.of(castingValue.value(Long.class)); + } + } else if (element.contextTagNum() == BIT_DEPTH_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + bitDepth = Optional.of(castingValue.value(Integer.class)); + } + } + } + return new CameraAvStreamManagementClusterAudioStreamChangedEvent( + audioStreamID, + streamType, + audioCodec, + channelCount, + sampleRate, + bitRate, + bitDepth + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterAudioStreamChangedEvent {\n"); + output.append("\taudioStreamID: "); + output.append(audioStreamID); + output.append("\n"); + output.append("\tstreamType: "); + output.append(streamType); + output.append("\n"); + output.append("\taudioCodec: "); + output.append(audioCodec); + output.append("\n"); + output.append("\tchannelCount: "); + output.append(channelCount); + output.append("\n"); + output.append("\tsampleRate: "); + output.append(sampleRate); + output.append("\n"); + output.append("\tbitRate: "); + output.append(bitRate); + output.append("\n"); + output.append("\tbitDepth: "); + output.append(bitDepth); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterSnapshotStreamChangedEvent { + public Integer snapshotStreamID; + public Optional imageCodec; + public Optional frameRate; + public Optional bitRate; + public Optional minResolution; + public Optional maxResolution; + public Optional quality; + private static final long SNAPSHOT_STREAM_ID_ID = 0L; + private static final long IMAGE_CODEC_ID = 1L; + private static final long FRAME_RATE_ID = 2L; + private static final long BIT_RATE_ID = 3L; + private static final long MIN_RESOLUTION_ID = 4L; + private static final long MAX_RESOLUTION_ID = 5L; + private static final long QUALITY_ID = 6L; + + public CameraAvStreamManagementClusterSnapshotStreamChangedEvent( + Integer snapshotStreamID, + Optional imageCodec, + Optional frameRate, + Optional bitRate, + Optional minResolution, + Optional maxResolution, + Optional quality + ) { + this.snapshotStreamID = snapshotStreamID; + this.imageCodec = imageCodec; + this.frameRate = frameRate; + this.bitRate = bitRate; + this.minResolution = minResolution; + this.maxResolution = maxResolution; + this.quality = quality; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(SNAPSHOT_STREAM_ID_ID, new UIntType(snapshotStreamID))); + values.add(new StructElement(IMAGE_CODEC_ID, imageCodec.map((nonOptionalimageCodec) -> new UIntType(nonOptionalimageCodec)).orElse(new EmptyType()))); + values.add(new StructElement(FRAME_RATE_ID, frameRate.map((nonOptionalframeRate) -> new UIntType(nonOptionalframeRate)).orElse(new EmptyType()))); + values.add(new StructElement(BIT_RATE_ID, bitRate.map((nonOptionalbitRate) -> new UIntType(nonOptionalbitRate)).orElse(new EmptyType()))); + values.add(new StructElement(MIN_RESOLUTION_ID, minResolution.map((nonOptionalminResolution) -> new AnyType(nonOptionalminResolution)).orElse(new EmptyType()))); + values.add(new StructElement(MAX_RESOLUTION_ID, maxResolution.map((nonOptionalmaxResolution) -> new AnyType(nonOptionalmaxResolution)).orElse(new EmptyType()))); + values.add(new StructElement(QUALITY_ID, quality.map((nonOptionalquality) -> new UIntType(nonOptionalquality)).orElse(new EmptyType()))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterSnapshotStreamChangedEvent decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer snapshotStreamID = null; + Optional imageCodec = Optional.empty(); + Optional frameRate = Optional.empty(); + Optional bitRate = Optional.empty(); + Optional minResolution = Optional.empty(); + Optional maxResolution = Optional.empty(); + Optional quality = Optional.empty(); + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == SNAPSHOT_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + snapshotStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == IMAGE_CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + imageCodec = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == FRAME_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + frameRate = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + bitRate = Optional.of(castingValue.value(Long.class)); + } + } else if (element.contextTagNum() == MIN_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + minResolution = Optional.of(castingValue.value(Object.class)); + } + } else if (element.contextTagNum() == MAX_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + maxResolution = Optional.of(castingValue.value(Object.class)); + } + } else if (element.contextTagNum() == QUALITY_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + quality = Optional.of(castingValue.value(Integer.class)); + } + } + } + return new CameraAvStreamManagementClusterSnapshotStreamChangedEvent( + snapshotStreamID, + imageCodec, + frameRate, + bitRate, + minResolution, + maxResolution, + quality + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterSnapshotStreamChangedEvent {\n"); + output.append("\tsnapshotStreamID: "); + output.append(snapshotStreamID); + output.append("\n"); + output.append("\timageCodec: "); + output.append(imageCodec); + output.append("\n"); + output.append("\tframeRate: "); + output.append(frameRate); + output.append("\n"); + output.append("\tbitRate: "); + output.append(bitRate); + output.append("\n"); + output.append("\tminResolution: "); + output.append(minResolution); + output.append("\n"); + output.append("\tmaxResolution: "); + output.append(maxResolution); + output.append("\n"); + output.append("\tquality: "); + output.append(quality); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushTransportBeginEvent { + + public PushAvStreamTransportClusterPushTransportBeginEvent( + ) { + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushTransportBeginEvent decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + return new PushAvStreamTransportClusterPushTransportBeginEvent( + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushTransportBeginEvent {\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushTransportEndEvent { + public Integer connectionID; + public ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct triggerDetails; + private static final long CONNECTION_ID_ID = 0L; + private static final long TRIGGER_DETAILS_ID = 1L; + + public PushAvStreamTransportClusterPushTransportEndEvent( + Integer connectionID, + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct triggerDetails + ) { + this.connectionID = connectionID; + this.triggerDetails = triggerDetails; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(CONNECTION_ID_ID, new UIntType(connectionID))); + values.add(new StructElement(TRIGGER_DETAILS_ID, triggerDetails.encodeTlv())); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushTransportEndEvent decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer connectionID = null; + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct triggerDetails = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == CONNECTION_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + connectionID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == TRIGGER_DETAILS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + triggerDetails = ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct.decodeTlv(castingValue); + } + } + } + return new PushAvStreamTransportClusterPushTransportEndEvent( + connectionID, + triggerDetails + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushTransportEndEvent {\n"); + output.append("\tconnectionID: "); + output.append(connectionID); + output.append("\n"); + output.append("\ttriggerDetails: "); + output.append(triggerDetails); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} public static class CommissionerControlClusterCommissioningRequestResultEvent { public Long requestID; public Long clientNodeID; diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java index 7ee8a88f80f64b..a383759bdb533a 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java @@ -12724,6 +12724,2430 @@ public String toString() { return output.toString(); } } +public static class CameraAvStreamManagementClusterAudioCapabilitiesStruct { + public Integer maxNumberOfChannels; + public ArrayList supportedCodecs; + public ArrayList supportedSampleRates; + public ArrayList supportedBitDepths; + private static final long MAX_NUMBER_OF_CHANNELS_ID = 0L; + private static final long SUPPORTED_CODECS_ID = 1L; + private static final long SUPPORTED_SAMPLE_RATES_ID = 2L; + private static final long SUPPORTED_BIT_DEPTHS_ID = 3L; + + public CameraAvStreamManagementClusterAudioCapabilitiesStruct( + Integer maxNumberOfChannels, + ArrayList supportedCodecs, + ArrayList supportedSampleRates, + ArrayList supportedBitDepths + ) { + this.maxNumberOfChannels = maxNumberOfChannels; + this.supportedCodecs = supportedCodecs; + this.supportedSampleRates = supportedSampleRates; + this.supportedBitDepths = supportedBitDepths; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(MAX_NUMBER_OF_CHANNELS_ID, new UIntType(maxNumberOfChannels))); + values.add(new StructElement(SUPPORTED_CODECS_ID, ArrayType.generateArrayType(supportedCodecs, (elementsupportedCodecs) -> new UIntType(elementsupportedCodecs)))); + values.add(new StructElement(SUPPORTED_SAMPLE_RATES_ID, ArrayType.generateArrayType(supportedSampleRates, (elementsupportedSampleRates) -> new UIntType(elementsupportedSampleRates)))); + values.add(new StructElement(SUPPORTED_BIT_DEPTHS_ID, ArrayType.generateArrayType(supportedBitDepths, (elementsupportedBitDepths) -> new UIntType(elementsupportedBitDepths)))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterAudioCapabilitiesStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer maxNumberOfChannels = null; + ArrayList supportedCodecs = null; + ArrayList supportedSampleRates = null; + ArrayList supportedBitDepths = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == MAX_NUMBER_OF_CHANNELS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxNumberOfChannels = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == SUPPORTED_CODECS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Array) { + ArrayType castingValue = element.value(ArrayType.class); + supportedCodecs = castingValue.map((elementcastingValue) -> elementcastingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == SUPPORTED_SAMPLE_RATES_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Array) { + ArrayType castingValue = element.value(ArrayType.class); + supportedSampleRates = castingValue.map((elementcastingValue) -> elementcastingValue.value(Long.class)); + } + } else if (element.contextTagNum() == SUPPORTED_BIT_DEPTHS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Array) { + ArrayType castingValue = element.value(ArrayType.class); + supportedBitDepths = castingValue.map((elementcastingValue) -> elementcastingValue.value(Long.class)); + } + } + } + return new CameraAvStreamManagementClusterAudioCapabilitiesStruct( + maxNumberOfChannels, + supportedCodecs, + supportedSampleRates, + supportedBitDepths + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterAudioCapabilitiesStruct {\n"); + output.append("\tmaxNumberOfChannels: "); + output.append(maxNumberOfChannels); + output.append("\n"); + output.append("\tsupportedCodecs: "); + output.append(supportedCodecs); + output.append("\n"); + output.append("\tsupportedSampleRates: "); + output.append(supportedSampleRates); + output.append("\n"); + output.append("\tsupportedBitDepths: "); + output.append(supportedBitDepths); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterAudioStreamStruct { + public Integer audioStreamID; + public Integer streamType; + public Integer audioCodec; + public Integer channelCount; + public Long sampleRate; + public Long bitRate; + public Integer bitDepth; + public Integer referenceCount; + private static final long AUDIO_STREAM_ID_ID = 0L; + private static final long STREAM_TYPE_ID = 1L; + private static final long AUDIO_CODEC_ID = 2L; + private static final long CHANNEL_COUNT_ID = 3L; + private static final long SAMPLE_RATE_ID = 4L; + private static final long BIT_RATE_ID = 5L; + private static final long BIT_DEPTH_ID = 6L; + private static final long REFERENCE_COUNT_ID = 7L; + + public CameraAvStreamManagementClusterAudioStreamStruct( + Integer audioStreamID, + Integer streamType, + Integer audioCodec, + Integer channelCount, + Long sampleRate, + Long bitRate, + Integer bitDepth, + Integer referenceCount + ) { + this.audioStreamID = audioStreamID; + this.streamType = streamType; + this.audioCodec = audioCodec; + this.channelCount = channelCount; + this.sampleRate = sampleRate; + this.bitRate = bitRate; + this.bitDepth = bitDepth; + this.referenceCount = referenceCount; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(AUDIO_STREAM_ID_ID, new UIntType(audioStreamID))); + values.add(new StructElement(STREAM_TYPE_ID, new UIntType(streamType))); + values.add(new StructElement(AUDIO_CODEC_ID, new UIntType(audioCodec))); + values.add(new StructElement(CHANNEL_COUNT_ID, new UIntType(channelCount))); + values.add(new StructElement(SAMPLE_RATE_ID, new UIntType(sampleRate))); + values.add(new StructElement(BIT_RATE_ID, new UIntType(bitRate))); + values.add(new StructElement(BIT_DEPTH_ID, new UIntType(bitDepth))); + values.add(new StructElement(REFERENCE_COUNT_ID, new UIntType(referenceCount))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterAudioStreamStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer audioStreamID = null; + Integer streamType = null; + Integer audioCodec = null; + Integer channelCount = null; + Long sampleRate = null; + Long bitRate = null; + Integer bitDepth = null; + Integer referenceCount = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == AUDIO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamType = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == AUDIO_CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioCodec = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == CHANNEL_COUNT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + channelCount = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == SAMPLE_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + sampleRate = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + bitRate = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == BIT_DEPTH_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + bitDepth = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == REFERENCE_COUNT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + referenceCount = castingValue.value(Integer.class); + } + } + } + return new CameraAvStreamManagementClusterAudioStreamStruct( + audioStreamID, + streamType, + audioCodec, + channelCount, + sampleRate, + bitRate, + bitDepth, + referenceCount + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterAudioStreamStruct {\n"); + output.append("\taudioStreamID: "); + output.append(audioStreamID); + output.append("\n"); + output.append("\tstreamType: "); + output.append(streamType); + output.append("\n"); + output.append("\taudioCodec: "); + output.append(audioCodec); + output.append("\n"); + output.append("\tchannelCount: "); + output.append(channelCount); + output.append("\n"); + output.append("\tsampleRate: "); + output.append(sampleRate); + output.append("\n"); + output.append("\tbitRate: "); + output.append(bitRate); + output.append("\n"); + output.append("\tbitDepth: "); + output.append(bitDepth); + output.append("\n"); + output.append("\treferenceCount: "); + output.append(referenceCount); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterPerStreamStruct { + public Integer streamID; + public Boolean onOff; + private static final long STREAM_ID_ID = 0L; + private static final long ON_OFF_ID = 1L; + + public CameraAvStreamManagementClusterPerStreamStruct( + Integer streamID, + Boolean onOff + ) { + this.streamID = streamID; + this.onOff = onOff; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(STREAM_ID_ID, new UIntType(streamID))); + values.add(new StructElement(ON_OFF_ID, new BooleanType(onOff))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterPerStreamStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer streamID = null; + Boolean onOff = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == ON_OFF_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Boolean) { + BooleanType castingValue = element.value(BooleanType.class); + onOff = castingValue.value(Boolean.class); + } + } + } + return new CameraAvStreamManagementClusterPerStreamStruct( + streamID, + onOff + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterPerStreamStruct {\n"); + output.append("\tstreamID: "); + output.append(streamID); + output.append("\n"); + output.append("\tonOff: "); + output.append(onOff); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct { + public Integer codec; + public Object resolution; + public Long minBitRate; + private static final long CODEC_ID = 0L; + private static final long RESOLUTION_ID = 1L; + private static final long MIN_BIT_RATE_ID = 2L; + + public CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct( + Integer codec, + Object resolution, + Long minBitRate + ) { + this.codec = codec; + this.resolution = resolution; + this.minBitRate = minBitRate; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(CODEC_ID, new UIntType(codec))); + values.add(new StructElement(RESOLUTION_ID, new AnyType(resolution))); + values.add(new StructElement(MIN_BIT_RATE_ID, new UIntType(minBitRate))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer codec = null; + Object resolution = null; + Long minBitRate = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + codec = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + resolution = castingValue.value(Object.class); + } + } else if (element.contextTagNum() == MIN_BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + minBitRate = castingValue.value(Long.class); + } + } + } + return new CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct( + codec, + resolution, + minBitRate + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct {\n"); + output.append("\tcodec: "); + output.append(codec); + output.append("\n"); + output.append("\tresolution: "); + output.append(resolution); + output.append("\n"); + output.append("\tminBitRate: "); + output.append(minBitRate); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterSnapshotParamsStruct { + public Object resolution; + public Integer maxFrameRate; + public Integer imageCodec; + private static final long RESOLUTION_ID = 0L; + private static final long MAX_FRAME_RATE_ID = 1L; + private static final long IMAGE_CODEC_ID = 2L; + + public CameraAvStreamManagementClusterSnapshotParamsStruct( + Object resolution, + Integer maxFrameRate, + Integer imageCodec + ) { + this.resolution = resolution; + this.maxFrameRate = maxFrameRate; + this.imageCodec = imageCodec; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(RESOLUTION_ID, new AnyType(resolution))); + values.add(new StructElement(MAX_FRAME_RATE_ID, new UIntType(maxFrameRate))); + values.add(new StructElement(IMAGE_CODEC_ID, new UIntType(imageCodec))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterSnapshotParamsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Object resolution = null; + Integer maxFrameRate = null; + Integer imageCodec = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + resolution = castingValue.value(Object.class); + } + } else if (element.contextTagNum() == MAX_FRAME_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxFrameRate = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == IMAGE_CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + imageCodec = castingValue.value(Integer.class); + } + } + } + return new CameraAvStreamManagementClusterSnapshotParamsStruct( + resolution, + maxFrameRate, + imageCodec + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterSnapshotParamsStruct {\n"); + output.append("\tresolution: "); + output.append(resolution); + output.append("\n"); + output.append("\tmaxFrameRate: "); + output.append(maxFrameRate); + output.append("\n"); + output.append("\timageCodec: "); + output.append(imageCodec); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterSnapshotStreamStruct { + public Integer snapshotStreamID; + public Integer imageCodec; + public Integer frameRate; + public Long bitRate; + public Object minResolution; + public Object maxResolution; + public Integer quality; + public Integer referenceCount; + private static final long SNAPSHOT_STREAM_ID_ID = 0L; + private static final long IMAGE_CODEC_ID = 1L; + private static final long FRAME_RATE_ID = 2L; + private static final long BIT_RATE_ID = 3L; + private static final long MIN_RESOLUTION_ID = 4L; + private static final long MAX_RESOLUTION_ID = 5L; + private static final long QUALITY_ID = 6L; + private static final long REFERENCE_COUNT_ID = 7L; + + public CameraAvStreamManagementClusterSnapshotStreamStruct( + Integer snapshotStreamID, + Integer imageCodec, + Integer frameRate, + Long bitRate, + Object minResolution, + Object maxResolution, + Integer quality, + Integer referenceCount + ) { + this.snapshotStreamID = snapshotStreamID; + this.imageCodec = imageCodec; + this.frameRate = frameRate; + this.bitRate = bitRate; + this.minResolution = minResolution; + this.maxResolution = maxResolution; + this.quality = quality; + this.referenceCount = referenceCount; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(SNAPSHOT_STREAM_ID_ID, new UIntType(snapshotStreamID))); + values.add(new StructElement(IMAGE_CODEC_ID, new UIntType(imageCodec))); + values.add(new StructElement(FRAME_RATE_ID, new UIntType(frameRate))); + values.add(new StructElement(BIT_RATE_ID, new UIntType(bitRate))); + values.add(new StructElement(MIN_RESOLUTION_ID, new AnyType(minResolution))); + values.add(new StructElement(MAX_RESOLUTION_ID, new AnyType(maxResolution))); + values.add(new StructElement(QUALITY_ID, new UIntType(quality))); + values.add(new StructElement(REFERENCE_COUNT_ID, new UIntType(referenceCount))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterSnapshotStreamStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer snapshotStreamID = null; + Integer imageCodec = null; + Integer frameRate = null; + Long bitRate = null; + Object minResolution = null; + Object maxResolution = null; + Integer quality = null; + Integer referenceCount = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == SNAPSHOT_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + snapshotStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == IMAGE_CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + imageCodec = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == FRAME_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + frameRate = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + bitRate = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == MIN_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + minResolution = castingValue.value(Object.class); + } + } else if (element.contextTagNum() == MAX_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + maxResolution = castingValue.value(Object.class); + } + } else if (element.contextTagNum() == QUALITY_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + quality = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == REFERENCE_COUNT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + referenceCount = castingValue.value(Integer.class); + } + } + } + return new CameraAvStreamManagementClusterSnapshotStreamStruct( + snapshotStreamID, + imageCodec, + frameRate, + bitRate, + minResolution, + maxResolution, + quality, + referenceCount + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterSnapshotStreamStruct {\n"); + output.append("\tsnapshotStreamID: "); + output.append(snapshotStreamID); + output.append("\n"); + output.append("\timageCodec: "); + output.append(imageCodec); + output.append("\n"); + output.append("\tframeRate: "); + output.append(frameRate); + output.append("\n"); + output.append("\tbitRate: "); + output.append(bitRate); + output.append("\n"); + output.append("\tminResolution: "); + output.append(minResolution); + output.append("\n"); + output.append("\tmaxResolution: "); + output.append(maxResolution); + output.append("\n"); + output.append("\tquality: "); + output.append(quality); + output.append("\n"); + output.append("\treferenceCount: "); + output.append(referenceCount); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterVideoSensorParamsStruct { + public Integer sensorWidth; + public Integer sensorHeight; + public Boolean HDRCapable; + public Integer maxFPS; + public Integer maxHDRFPS; + private static final long SENSOR_WIDTH_ID = 0L; + private static final long SENSOR_HEIGHT_ID = 1L; + private static final long HDR_CAPABLE_ID = 2L; + private static final long MAX_FPS_ID = 3L; + private static final long MAX_HDRFPS_ID = 4L; + + public CameraAvStreamManagementClusterVideoSensorParamsStruct( + Integer sensorWidth, + Integer sensorHeight, + Boolean HDRCapable, + Integer maxFPS, + Integer maxHDRFPS + ) { + this.sensorWidth = sensorWidth; + this.sensorHeight = sensorHeight; + this.HDRCapable = HDRCapable; + this.maxFPS = maxFPS; + this.maxHDRFPS = maxHDRFPS; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(SENSOR_WIDTH_ID, new UIntType(sensorWidth))); + values.add(new StructElement(SENSOR_HEIGHT_ID, new UIntType(sensorHeight))); + values.add(new StructElement(HDR_CAPABLE_ID, new BooleanType(HDRCapable))); + values.add(new StructElement(MAX_FPS_ID, new UIntType(maxFPS))); + values.add(new StructElement(MAX_HDRFPS_ID, new UIntType(maxHDRFPS))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterVideoSensorParamsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer sensorWidth = null; + Integer sensorHeight = null; + Boolean HDRCapable = null; + Integer maxFPS = null; + Integer maxHDRFPS = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == SENSOR_WIDTH_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + sensorWidth = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == SENSOR_HEIGHT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + sensorHeight = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == HDR_CAPABLE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Boolean) { + BooleanType castingValue = element.value(BooleanType.class); + HDRCapable = castingValue.value(Boolean.class); + } + } else if (element.contextTagNum() == MAX_FPS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxFPS = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MAX_HDRFPS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxHDRFPS = castingValue.value(Integer.class); + } + } + } + return new CameraAvStreamManagementClusterVideoSensorParamsStruct( + sensorWidth, + sensorHeight, + HDRCapable, + maxFPS, + maxHDRFPS + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterVideoSensorParamsStruct {\n"); + output.append("\tsensorWidth: "); + output.append(sensorWidth); + output.append("\n"); + output.append("\tsensorHeight: "); + output.append(sensorHeight); + output.append("\n"); + output.append("\tHDRCapable: "); + output.append(HDRCapable); + output.append("\n"); + output.append("\tmaxFPS: "); + output.append(maxFPS); + output.append("\n"); + output.append("\tmaxHDRFPS: "); + output.append(maxHDRFPS); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterVideoStreamStruct { + public Integer videoStreamID; + public Integer streamType; + public Integer videoCodec; + public Integer minFrameRate; + public Integer maxFrameRate; + public Object minResolution; + public Object maxResolution; + public Integer minBitRate; + public Integer maxBitRate; + public Integer minFragmentLen; + public Integer maxFragmentLen; + public Integer referenceCount; + private static final long VIDEO_STREAM_ID_ID = 0L; + private static final long STREAM_TYPE_ID = 1L; + private static final long VIDEO_CODEC_ID = 2L; + private static final long MIN_FRAME_RATE_ID = 3L; + private static final long MAX_FRAME_RATE_ID = 4L; + private static final long MIN_RESOLUTION_ID = 5L; + private static final long MAX_RESOLUTION_ID = 6L; + private static final long MIN_BIT_RATE_ID = 7L; + private static final long MAX_BIT_RATE_ID = 8L; + private static final long MIN_FRAGMENT_LEN_ID = 9L; + private static final long MAX_FRAGMENT_LEN_ID = 10L; + private static final long REFERENCE_COUNT_ID = 11L; + + public CameraAvStreamManagementClusterVideoStreamStruct( + Integer videoStreamID, + Integer streamType, + Integer videoCodec, + Integer minFrameRate, + Integer maxFrameRate, + Object minResolution, + Object maxResolution, + Integer minBitRate, + Integer maxBitRate, + Integer minFragmentLen, + Integer maxFragmentLen, + Integer referenceCount + ) { + this.videoStreamID = videoStreamID; + this.streamType = streamType; + this.videoCodec = videoCodec; + this.minFrameRate = minFrameRate; + this.maxFrameRate = maxFrameRate; + this.minResolution = minResolution; + this.maxResolution = maxResolution; + this.minBitRate = minBitRate; + this.maxBitRate = maxBitRate; + this.minFragmentLen = minFragmentLen; + this.maxFragmentLen = maxFragmentLen; + this.referenceCount = referenceCount; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(VIDEO_STREAM_ID_ID, new UIntType(videoStreamID))); + values.add(new StructElement(STREAM_TYPE_ID, new UIntType(streamType))); + values.add(new StructElement(VIDEO_CODEC_ID, new UIntType(videoCodec))); + values.add(new StructElement(MIN_FRAME_RATE_ID, new UIntType(minFrameRate))); + values.add(new StructElement(MAX_FRAME_RATE_ID, new UIntType(maxFrameRate))); + values.add(new StructElement(MIN_RESOLUTION_ID, new AnyType(minResolution))); + values.add(new StructElement(MAX_RESOLUTION_ID, new AnyType(maxResolution))); + values.add(new StructElement(MIN_BIT_RATE_ID, new UIntType(minBitRate))); + values.add(new StructElement(MAX_BIT_RATE_ID, new UIntType(maxBitRate))); + values.add(new StructElement(MIN_FRAGMENT_LEN_ID, new UIntType(minFragmentLen))); + values.add(new StructElement(MAX_FRAGMENT_LEN_ID, new UIntType(maxFragmentLen))); + values.add(new StructElement(REFERENCE_COUNT_ID, new UIntType(referenceCount))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterVideoStreamStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer videoStreamID = null; + Integer streamType = null; + Integer videoCodec = null; + Integer minFrameRate = null; + Integer maxFrameRate = null; + Object minResolution = null; + Object maxResolution = null; + Integer minBitRate = null; + Integer maxBitRate = null; + Integer minFragmentLen = null; + Integer maxFragmentLen = null; + Integer referenceCount = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == VIDEO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamType = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == VIDEO_CODEC_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoCodec = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MIN_FRAME_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + minFrameRate = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MAX_FRAME_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxFrameRate = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MIN_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + minResolution = castingValue.value(Object.class); + } + } else if (element.contextTagNum() == MAX_RESOLUTION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Any) { + AnyType castingValue = element.value(AnyType.class); + maxResolution = castingValue.value(Object.class); + } + } else if (element.contextTagNum() == MIN_BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + minBitRate = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MAX_BIT_RATE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxBitRate = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MIN_FRAGMENT_LEN_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + minFragmentLen = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MAX_FRAGMENT_LEN_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxFragmentLen = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == REFERENCE_COUNT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + referenceCount = castingValue.value(Integer.class); + } + } + } + return new CameraAvStreamManagementClusterVideoStreamStruct( + videoStreamID, + streamType, + videoCodec, + minFrameRate, + maxFrameRate, + minResolution, + maxResolution, + minBitRate, + maxBitRate, + minFragmentLen, + maxFragmentLen, + referenceCount + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterVideoStreamStruct {\n"); + output.append("\tvideoStreamID: "); + output.append(videoStreamID); + output.append("\n"); + output.append("\tstreamType: "); + output.append(streamType); + output.append("\n"); + output.append("\tvideoCodec: "); + output.append(videoCodec); + output.append("\n"); + output.append("\tminFrameRate: "); + output.append(minFrameRate); + output.append("\n"); + output.append("\tmaxFrameRate: "); + output.append(maxFrameRate); + output.append("\n"); + output.append("\tminResolution: "); + output.append(minResolution); + output.append("\n"); + output.append("\tmaxResolution: "); + output.append(maxResolution); + output.append("\n"); + output.append("\tminBitRate: "); + output.append(minBitRate); + output.append("\n"); + output.append("\tmaxBitRate: "); + output.append(maxBitRate); + output.append("\n"); + output.append("\tminFragmentLen: "); + output.append(minFragmentLen); + output.append("\n"); + output.append("\tmaxFragmentLen: "); + output.append(maxFragmentLen); + output.append("\n"); + output.append("\treferenceCount: "); + output.append(referenceCount); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvStreamManagementClusterViewportStruct { + public Integer x1; + public Integer y1; + public Integer x2; + public Integer y2; + private static final long X1_ID = 0L; + private static final long Y1_ID = 1L; + private static final long X2_ID = 2L; + private static final long Y2_ID = 3L; + + public CameraAvStreamManagementClusterViewportStruct( + Integer x1, + Integer y1, + Integer x2, + Integer y2 + ) { + this.x1 = x1; + this.y1 = y1; + this.x2 = x2; + this.y2 = y2; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(X1_ID, new UIntType(x1))); + values.add(new StructElement(Y1_ID, new UIntType(y1))); + values.add(new StructElement(X2_ID, new UIntType(x2))); + values.add(new StructElement(Y2_ID, new UIntType(y2))); + + return new StructType(values); + } + + public static CameraAvStreamManagementClusterViewportStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer x1 = null; + Integer y1 = null; + Integer x2 = null; + Integer y2 = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == X1_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + x1 = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == Y1_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + y1 = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == X2_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + x2 = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == Y2_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + y2 = castingValue.value(Integer.class); + } + } + } + return new CameraAvStreamManagementClusterViewportStruct( + x1, + y1, + x2, + y2 + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvStreamManagementClusterViewportStruct {\n"); + output.append("\tx1: "); + output.append(x1); + output.append("\n"); + output.append("\ty1: "); + output.append(y1); + output.append("\n"); + output.append("\tx2: "); + output.append(x2); + output.append("\n"); + output.append("\ty2: "); + output.append(y2); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvSettingsUserLevelManagementClusterMPTZStruct { + public @Nullable Optional MPan; + public @Nullable Optional MTilt; + public @Nullable Optional MZoom; + private static final long M_PAN_ID = 0L; + private static final long M_TILT_ID = 1L; + private static final long M_ZOOM_ID = 2L; + + public CameraAvSettingsUserLevelManagementClusterMPTZStruct( + @Nullable Optional MPan, + @Nullable Optional MTilt, + @Nullable Optional MZoom + ) { + this.MPan = MPan; + this.MTilt = MTilt; + this.MZoom = MZoom; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(M_PAN_ID, MPan != null ? MPan.map((nonOptionalMPan) -> new IntType(nonOptionalMPan)).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(M_TILT_ID, MTilt != null ? MTilt.map((nonOptionalMTilt) -> new IntType(nonOptionalMTilt)).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(M_ZOOM_ID, MZoom != null ? MZoom.map((nonOptionalMZoom) -> new UIntType(nonOptionalMZoom)).orElse(new EmptyType()) : new NullType())); + + return new StructType(values); + } + + public static CameraAvSettingsUserLevelManagementClusterMPTZStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + @Nullable Optional MPan = null; + @Nullable Optional MTilt = null; + @Nullable Optional MZoom = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == M_PAN_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Int) { + IntType castingValue = element.value(IntType.class); + MPan = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == M_TILT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Int) { + IntType castingValue = element.value(IntType.class); + MTilt = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == M_ZOOM_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + MZoom = Optional.of(castingValue.value(Integer.class)); + } + } + } + return new CameraAvSettingsUserLevelManagementClusterMPTZStruct( + MPan, + MTilt, + MZoom + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvSettingsUserLevelManagementClusterMPTZStruct {\n"); + output.append("\tMPan: "); + output.append(MPan); + output.append("\n"); + output.append("\tMTilt: "); + output.append(MTilt); + output.append("\n"); + output.append("\tMZoom: "); + output.append(MZoom); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvSettingsUserLevelManagementClusterPerStreamStruct { + public Integer streamID; + public Boolean onOff; + private static final long STREAM_ID_ID = 0L; + private static final long ON_OFF_ID = 1L; + + public CameraAvSettingsUserLevelManagementClusterPerStreamStruct( + Integer streamID, + Boolean onOff + ) { + this.streamID = streamID; + this.onOff = onOff; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(STREAM_ID_ID, new UIntType(streamID))); + values.add(new StructElement(ON_OFF_ID, new BooleanType(onOff))); + + return new StructType(values); + } + + public static CameraAvSettingsUserLevelManagementClusterPerStreamStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer streamID = null; + Boolean onOff = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == ON_OFF_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Boolean) { + BooleanType castingValue = element.value(BooleanType.class); + onOff = castingValue.value(Boolean.class); + } + } + } + return new CameraAvSettingsUserLevelManagementClusterPerStreamStruct( + streamID, + onOff + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvSettingsUserLevelManagementClusterPerStreamStruct {\n"); + output.append("\tstreamID: "); + output.append(streamID); + output.append("\n"); + output.append("\tonOff: "); + output.append(onOff); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class CameraAvSettingsUserLevelManagementClusterViewportStruct { + public Integer x1; + public Integer y1; + public Integer x2; + public Integer y2; + private static final long X1_ID = 0L; + private static final long Y1_ID = 1L; + private static final long X2_ID = 2L; + private static final long Y2_ID = 3L; + + public CameraAvSettingsUserLevelManagementClusterViewportStruct( + Integer x1, + Integer y1, + Integer x2, + Integer y2 + ) { + this.x1 = x1; + this.y1 = y1; + this.x2 = x2; + this.y2 = y2; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(X1_ID, new UIntType(x1))); + values.add(new StructElement(Y1_ID, new UIntType(y1))); + values.add(new StructElement(X2_ID, new UIntType(x2))); + values.add(new StructElement(Y2_ID, new UIntType(y2))); + + return new StructType(values); + } + + public static CameraAvSettingsUserLevelManagementClusterViewportStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer x1 = null; + Integer y1 = null; + Integer x2 = null; + Integer y2 = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == X1_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + x1 = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == Y1_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + y1 = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == X2_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + x2 = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == Y2_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + y2 = castingValue.value(Integer.class); + } + } + } + return new CameraAvSettingsUserLevelManagementClusterViewportStruct( + x1, + y1, + x2, + y2 + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CameraAvSettingsUserLevelManagementClusterViewportStruct {\n"); + output.append("\tx1: "); + output.append(x1); + output.append("\n"); + output.append("\ty1: "); + output.append(y1); + output.append("\n"); + output.append("\tx2: "); + output.append(x2); + output.append("\n"); + output.append("\ty2: "); + output.append(y2); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class WebRTCTransportProviderClusterICEServerStruct { + public ArrayList urls; + public Optional username; + public Optional credential; + public Optional caid; + private static final long URLS_ID = 1L; + private static final long USERNAME_ID = 2L; + private static final long CREDENTIAL_ID = 3L; + private static final long CAID_ID = 4L; + + public WebRTCTransportProviderClusterICEServerStruct( + ArrayList urls, + Optional username, + Optional credential, + Optional caid + ) { + this.urls = urls; + this.username = username; + this.credential = credential; + this.caid = caid; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(URLS_ID, ArrayType.generateArrayType(urls, (elementurls) -> new StringType(elementurls)))); + values.add(new StructElement(USERNAME_ID, username.map((nonOptionalusername) -> new StringType(nonOptionalusername)).orElse(new EmptyType()))); + values.add(new StructElement(CREDENTIAL_ID, credential.map((nonOptionalcredential) -> new StringType(nonOptionalcredential)).orElse(new EmptyType()))); + values.add(new StructElement(CAID_ID, caid.map((nonOptionalcaid) -> new UIntType(nonOptionalcaid)).orElse(new EmptyType()))); + + return new StructType(values); + } + + public static WebRTCTransportProviderClusterICEServerStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + ArrayList urls = null; + Optional username = Optional.empty(); + Optional credential = Optional.empty(); + Optional caid = Optional.empty(); + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == URLS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Array) { + ArrayType castingValue = element.value(ArrayType.class); + urls = castingValue.map((elementcastingValue) -> elementcastingValue.value(String.class)); + } + } else if (element.contextTagNum() == USERNAME_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.String) { + StringType castingValue = element.value(StringType.class); + username = Optional.of(castingValue.value(String.class)); + } + } else if (element.contextTagNum() == CREDENTIAL_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.String) { + StringType castingValue = element.value(StringType.class); + credential = Optional.of(castingValue.value(String.class)); + } + } else if (element.contextTagNum() == CAID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + caid = Optional.of(castingValue.value(Integer.class)); + } + } + } + return new WebRTCTransportProviderClusterICEServerStruct( + urls, + username, + credential, + caid + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("WebRTCTransportProviderClusterICEServerStruct {\n"); + output.append("\turls: "); + output.append(urls); + output.append("\n"); + output.append("\tusername: "); + output.append(username); + output.append("\n"); + output.append("\tcredential: "); + output.append(credential); + output.append("\n"); + output.append("\tcaid: "); + output.append(caid); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class WebRTCTransportProviderClusterWebRTCSessionStruct { + public Integer id; + public Long peerNodeId; + public Integer peerFabricIndex; + public Integer streamType; + public @Nullable Integer videoStreamID; + public @Nullable Integer audioStreamID; + public Integer metadataOptions; + private static final long ID_ID = 1L; + private static final long PEER_NODE_ID_ID = 2L; + private static final long PEER_FABRIC_INDEX_ID = 3L; + private static final long STREAM_TYPE_ID = 4L; + private static final long VIDEO_STREAM_ID_ID = 5L; + private static final long AUDIO_STREAM_ID_ID = 6L; + private static final long METADATA_OPTIONS_ID = 7L; + + public WebRTCTransportProviderClusterWebRTCSessionStruct( + Integer id, + Long peerNodeId, + Integer peerFabricIndex, + Integer streamType, + @Nullable Integer videoStreamID, + @Nullable Integer audioStreamID, + Integer metadataOptions + ) { + this.id = id; + this.peerNodeId = peerNodeId; + this.peerFabricIndex = peerFabricIndex; + this.streamType = streamType; + this.videoStreamID = videoStreamID; + this.audioStreamID = audioStreamID; + this.metadataOptions = metadataOptions; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(ID_ID, new UIntType(id))); + values.add(new StructElement(PEER_NODE_ID_ID, new UIntType(peerNodeId))); + values.add(new StructElement(PEER_FABRIC_INDEX_ID, new UIntType(peerFabricIndex))); + values.add(new StructElement(STREAM_TYPE_ID, new UIntType(streamType))); + values.add(new StructElement(VIDEO_STREAM_ID_ID, videoStreamID != null ? new UIntType(videoStreamID) : new NullType())); + values.add(new StructElement(AUDIO_STREAM_ID_ID, audioStreamID != null ? new UIntType(audioStreamID) : new NullType())); + values.add(new StructElement(METADATA_OPTIONS_ID, new UIntType(metadataOptions))); + + return new StructType(values); + } + + public static WebRTCTransportProviderClusterWebRTCSessionStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer id = null; + Long peerNodeId = null; + Integer peerFabricIndex = null; + Integer streamType = null; + @Nullable Integer videoStreamID = null; + @Nullable Integer audioStreamID = null; + Integer metadataOptions = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + id = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == PEER_NODE_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + peerNodeId = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == PEER_FABRIC_INDEX_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + peerFabricIndex = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamType = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == VIDEO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == AUDIO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == METADATA_OPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + metadataOptions = castingValue.value(Integer.class); + } + } + } + return new WebRTCTransportProviderClusterWebRTCSessionStruct( + id, + peerNodeId, + peerFabricIndex, + streamType, + videoStreamID, + audioStreamID, + metadataOptions + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("WebRTCTransportProviderClusterWebRTCSessionStruct {\n"); + output.append("\tid: "); + output.append(id); + output.append("\n"); + output.append("\tpeerNodeId: "); + output.append(peerNodeId); + output.append("\n"); + output.append("\tpeerFabricIndex: "); + output.append(peerFabricIndex); + output.append("\n"); + output.append("\tstreamType: "); + output.append(streamType); + output.append("\n"); + output.append("\tvideoStreamID: "); + output.append(videoStreamID); + output.append("\n"); + output.append("\taudioStreamID: "); + output.append(audioStreamID); + output.append("\n"); + output.append("\tmetadataOptions: "); + output.append(metadataOptions); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class WebRTCTransportRequestorClusterICEServerStruct { + public ArrayList urls; + public Optional username; + public Optional credential; + public Optional caid; + private static final long URLS_ID = 1L; + private static final long USERNAME_ID = 2L; + private static final long CREDENTIAL_ID = 3L; + private static final long CAID_ID = 4L; + + public WebRTCTransportRequestorClusterICEServerStruct( + ArrayList urls, + Optional username, + Optional credential, + Optional caid + ) { + this.urls = urls; + this.username = username; + this.credential = credential; + this.caid = caid; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(URLS_ID, ArrayType.generateArrayType(urls, (elementurls) -> new StringType(elementurls)))); + values.add(new StructElement(USERNAME_ID, username.map((nonOptionalusername) -> new StringType(nonOptionalusername)).orElse(new EmptyType()))); + values.add(new StructElement(CREDENTIAL_ID, credential.map((nonOptionalcredential) -> new StringType(nonOptionalcredential)).orElse(new EmptyType()))); + values.add(new StructElement(CAID_ID, caid.map((nonOptionalcaid) -> new UIntType(nonOptionalcaid)).orElse(new EmptyType()))); + + return new StructType(values); + } + + public static WebRTCTransportRequestorClusterICEServerStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + ArrayList urls = null; + Optional username = Optional.empty(); + Optional credential = Optional.empty(); + Optional caid = Optional.empty(); + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == URLS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Array) { + ArrayType castingValue = element.value(ArrayType.class); + urls = castingValue.map((elementcastingValue) -> elementcastingValue.value(String.class)); + } + } else if (element.contextTagNum() == USERNAME_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.String) { + StringType castingValue = element.value(StringType.class); + username = Optional.of(castingValue.value(String.class)); + } + } else if (element.contextTagNum() == CREDENTIAL_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.String) { + StringType castingValue = element.value(StringType.class); + credential = Optional.of(castingValue.value(String.class)); + } + } else if (element.contextTagNum() == CAID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + caid = Optional.of(castingValue.value(Integer.class)); + } + } + } + return new WebRTCTransportRequestorClusterICEServerStruct( + urls, + username, + credential, + caid + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("WebRTCTransportRequestorClusterICEServerStruct {\n"); + output.append("\turls: "); + output.append(urls); + output.append("\n"); + output.append("\tusername: "); + output.append(username); + output.append("\n"); + output.append("\tcredential: "); + output.append(credential); + output.append("\n"); + output.append("\tcaid: "); + output.append(caid); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class WebRTCTransportRequestorClusterWebRTCSessionStruct { + public Integer id; + public Long peerNodeId; + public Integer peerFabricIndex; + public Integer streamType; + public @Nullable Integer videoStreamID; + public @Nullable Integer audioStreamID; + public Integer metadataOptions; + private static final long ID_ID = 1L; + private static final long PEER_NODE_ID_ID = 2L; + private static final long PEER_FABRIC_INDEX_ID = 3L; + private static final long STREAM_TYPE_ID = 4L; + private static final long VIDEO_STREAM_ID_ID = 5L; + private static final long AUDIO_STREAM_ID_ID = 6L; + private static final long METADATA_OPTIONS_ID = 7L; + + public WebRTCTransportRequestorClusterWebRTCSessionStruct( + Integer id, + Long peerNodeId, + Integer peerFabricIndex, + Integer streamType, + @Nullable Integer videoStreamID, + @Nullable Integer audioStreamID, + Integer metadataOptions + ) { + this.id = id; + this.peerNodeId = peerNodeId; + this.peerFabricIndex = peerFabricIndex; + this.streamType = streamType; + this.videoStreamID = videoStreamID; + this.audioStreamID = audioStreamID; + this.metadataOptions = metadataOptions; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(ID_ID, new UIntType(id))); + values.add(new StructElement(PEER_NODE_ID_ID, new UIntType(peerNodeId))); + values.add(new StructElement(PEER_FABRIC_INDEX_ID, new UIntType(peerFabricIndex))); + values.add(new StructElement(STREAM_TYPE_ID, new UIntType(streamType))); + values.add(new StructElement(VIDEO_STREAM_ID_ID, videoStreamID != null ? new UIntType(videoStreamID) : new NullType())); + values.add(new StructElement(AUDIO_STREAM_ID_ID, audioStreamID != null ? new UIntType(audioStreamID) : new NullType())); + values.add(new StructElement(METADATA_OPTIONS_ID, new UIntType(metadataOptions))); + + return new StructType(values); + } + + public static WebRTCTransportRequestorClusterWebRTCSessionStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer id = null; + Long peerNodeId = null; + Integer peerFabricIndex = null; + Integer streamType = null; + @Nullable Integer videoStreamID = null; + @Nullable Integer audioStreamID = null; + Integer metadataOptions = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + id = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == PEER_NODE_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + peerNodeId = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == PEER_FABRIC_INDEX_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + peerFabricIndex = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamType = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == VIDEO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == AUDIO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == METADATA_OPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + metadataOptions = castingValue.value(Integer.class); + } + } + } + return new WebRTCTransportRequestorClusterWebRTCSessionStruct( + id, + peerNodeId, + peerFabricIndex, + streamType, + videoStreamID, + audioStreamID, + metadataOptions + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("WebRTCTransportRequestorClusterWebRTCSessionStruct {\n"); + output.append("\tid: "); + output.append(id); + output.append("\n"); + output.append("\tpeerNodeId: "); + output.append(peerNodeId); + output.append("\n"); + output.append("\tpeerFabricIndex: "); + output.append(peerFabricIndex); + output.append("\n"); + output.append("\tstreamType: "); + output.append(streamType); + output.append("\n"); + output.append("\tvideoStreamID: "); + output.append(videoStreamID); + output.append("\n"); + output.append("\taudioStreamID: "); + output.append(audioStreamID); + output.append("\n"); + output.append("\tmetadataOptions: "); + output.append(metadataOptions); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct { + public Integer initialDuration; + public Integer augmentationDuration; + public Long maxDuration; + public Integer blindDuration; + private static final long INITIAL_DURATION_ID = 0L; + private static final long AUGMENTATION_DURATION_ID = 1L; + private static final long MAX_DURATION_ID = 2L; + private static final long BLIND_DURATION_ID = 3L; + + public PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct( + Integer initialDuration, + Integer augmentationDuration, + Long maxDuration, + Integer blindDuration + ) { + this.initialDuration = initialDuration; + this.augmentationDuration = augmentationDuration; + this.maxDuration = maxDuration; + this.blindDuration = blindDuration; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(INITIAL_DURATION_ID, new UIntType(initialDuration))); + values.add(new StructElement(AUGMENTATION_DURATION_ID, new UIntType(augmentationDuration))); + values.add(new StructElement(MAX_DURATION_ID, new UIntType(maxDuration))); + values.add(new StructElement(BLIND_DURATION_ID, new UIntType(blindDuration))); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer initialDuration = null; + Integer augmentationDuration = null; + Long maxDuration = null; + Integer blindDuration = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == INITIAL_DURATION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + initialDuration = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == AUGMENTATION_DURATION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + augmentationDuration = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MAX_DURATION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + maxDuration = castingValue.value(Long.class); + } + } else if (element.contextTagNum() == BLIND_DURATION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + blindDuration = castingValue.value(Integer.class); + } + } + } + return new PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct( + initialDuration, + augmentationDuration, + maxDuration, + blindDuration + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct {\n"); + output.append("\tinitialDuration: "); + output.append(initialDuration); + output.append("\n"); + output.append("\taugmentationDuration: "); + output.append(augmentationDuration); + output.append("\n"); + output.append("\tmaxDuration: "); + output.append(maxDuration); + output.append("\n"); + output.append("\tblindDuration: "); + output.append(blindDuration); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct { + public Integer multiplexing; + public Boolean includeMotionZones; + public Boolean enableMetadataPrivacySensitive; + private static final long MULTIPLEXING_ID = 0L; + private static final long INCLUDE_MOTION_ZONES_ID = 1L; + private static final long ENABLE_METADATA_PRIVACY_SENSITIVE_ID = 2L; + + public PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct( + Integer multiplexing, + Boolean includeMotionZones, + Boolean enableMetadataPrivacySensitive + ) { + this.multiplexing = multiplexing; + this.includeMotionZones = includeMotionZones; + this.enableMetadataPrivacySensitive = enableMetadataPrivacySensitive; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(MULTIPLEXING_ID, new UIntType(multiplexing))); + values.add(new StructElement(INCLUDE_MOTION_ZONES_ID, new BooleanType(includeMotionZones))); + values.add(new StructElement(ENABLE_METADATA_PRIVACY_SENSITIVE_ID, new BooleanType(enableMetadataPrivacySensitive))); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer multiplexing = null; + Boolean includeMotionZones = null; + Boolean enableMetadataPrivacySensitive = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == MULTIPLEXING_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + multiplexing = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == INCLUDE_MOTION_ZONES_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Boolean) { + BooleanType castingValue = element.value(BooleanType.class); + includeMotionZones = castingValue.value(Boolean.class); + } + } else if (element.contextTagNum() == ENABLE_METADATA_PRIVACY_SENSITIVE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Boolean) { + BooleanType castingValue = element.value(BooleanType.class); + enableMetadataPrivacySensitive = castingValue.value(Boolean.class); + } + } + } + return new PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct( + multiplexing, + includeMotionZones, + enableMetadataPrivacySensitive + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct {\n"); + output.append("\tmultiplexing: "); + output.append(multiplexing); + output.append("\n"); + output.append("\tincludeMotionZones: "); + output.append(includeMotionZones); + output.append("\n"); + output.append("\tenableMetadataPrivacySensitive: "); + output.append(enableMetadataPrivacySensitive); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct { + public Integer triggerType; + public @Nullable Optional> motionZones; + public @Nullable Optional motionSensitivity; + public @Nullable Optional motionTimeControl; + public @Nullable Optional activationReason; + private static final long TRIGGER_TYPE_ID = 0L; + private static final long MOTION_ZONES_ID = 1L; + private static final long MOTION_SENSITIVITY_ID = 2L; + private static final long MOTION_TIME_CONTROL_ID = 3L; + private static final long ACTIVATION_REASON_ID = 4L; + + public PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct( + Integer triggerType, + @Nullable Optional> motionZones, + @Nullable Optional motionSensitivity, + @Nullable Optional motionTimeControl, + @Nullable Optional activationReason + ) { + this.triggerType = triggerType; + this.motionZones = motionZones; + this.motionSensitivity = motionSensitivity; + this.motionTimeControl = motionTimeControl; + this.activationReason = activationReason; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(TRIGGER_TYPE_ID, new UIntType(triggerType))); + values.add(new StructElement(MOTION_ZONES_ID, motionZones != null ? motionZones.map((nonOptionalmotionZones) -> ArrayType.generateArrayType(nonOptionalmotionZones, (elementnonOptionalmotionZones) -> new UIntType(elementnonOptionalmotionZones))).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(MOTION_SENSITIVITY_ID, motionSensitivity != null ? motionSensitivity.map((nonOptionalmotionSensitivity) -> new UIntType(nonOptionalmotionSensitivity)).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(MOTION_TIME_CONTROL_ID, motionTimeControl != null ? motionTimeControl.map((nonOptionalmotionTimeControl) -> nonOptionalmotionTimeControl.encodeTlv()).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(ACTIVATION_REASON_ID, activationReason != null ? activationReason.map((nonOptionalactivationReason) -> new UIntType(nonOptionalactivationReason)).orElse(new EmptyType()) : new NullType())); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer triggerType = null; + @Nullable Optional> motionZones = null; + @Nullable Optional motionSensitivity = null; + @Nullable Optional motionTimeControl = null; + @Nullable Optional activationReason = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == TRIGGER_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + triggerType = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == MOTION_ZONES_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Array) { + ArrayType castingValue = element.value(ArrayType.class); + motionZones = Optional.of(castingValue.map((elementcastingValue) -> elementcastingValue.value(Integer.class))); + } + } else if (element.contextTagNum() == MOTION_SENSITIVITY_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + motionSensitivity = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == MOTION_TIME_CONTROL_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + motionTimeControl = Optional.of(ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct.decodeTlv(castingValue)); + } + } else if (element.contextTagNum() == ACTIVATION_REASON_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + activationReason = Optional.of(castingValue.value(Integer.class)); + } + } + } + return new PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct( + triggerType, + motionZones, + motionSensitivity, + motionTimeControl, + activationReason + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct {\n"); + output.append("\ttriggerType: "); + output.append(triggerType); + output.append("\n"); + output.append("\tmotionZones: "); + output.append(motionZones); + output.append("\n"); + output.append("\tmotionSensitivity: "); + output.append(motionSensitivity); + output.append("\n"); + output.append("\tmotionTimeControl: "); + output.append(motionTimeControl); + output.append("\n"); + output.append("\tactivationReason: "); + output.append(activationReason); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct { + public Integer chunkDuration; + public @Nullable Optional CENCKey; + private static final long CHUNK_DURATION_ID = 0L; + private static final long CENC_KEY_ID = 1L; + + public PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct( + Integer chunkDuration, + @Nullable Optional CENCKey + ) { + this.chunkDuration = chunkDuration; + this.CENCKey = CENCKey; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(CHUNK_DURATION_ID, new UIntType(chunkDuration))); + values.add(new StructElement(CENC_KEY_ID, CENCKey != null ? CENCKey.map((nonOptionalCENCKey) -> new ByteArrayType(nonOptionalCENCKey)).orElse(new EmptyType()) : new NullType())); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer chunkDuration = null; + @Nullable Optional CENCKey = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == CHUNK_DURATION_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + chunkDuration = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == CENC_KEY_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.ByteArray) { + ByteArrayType castingValue = element.value(ByteArrayType.class); + CENCKey = Optional.of(castingValue.value(byte[].class)); + } + } + } + return new PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct( + chunkDuration, + CENCKey + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct {\n"); + output.append("\tchunkDuration: "); + output.append(chunkDuration); + output.append("\n"); + output.append("\tCENCKey: "); + output.append(CENCKey.isPresent() ? Arrays.toString(CENCKey.get()) : ""); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct { + public Integer containerType; + public @Nullable Optional CMAFContainerOptions; + private static final long CONTAINER_TYPE_ID = 0L; + private static final long CMAF_CONTAINER_OPTIONS_ID = 1L; + + public PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct( + Integer containerType, + @Nullable Optional CMAFContainerOptions + ) { + this.containerType = containerType; + this.CMAFContainerOptions = CMAFContainerOptions; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(CONTAINER_TYPE_ID, new UIntType(containerType))); + values.add(new StructElement(CMAF_CONTAINER_OPTIONS_ID, CMAFContainerOptions != null ? CMAFContainerOptions.map((nonOptionalCMAFContainerOptions) -> nonOptionalCMAFContainerOptions.encodeTlv()).orElse(new EmptyType()) : new NullType())); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer containerType = null; + @Nullable Optional CMAFContainerOptions = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == CONTAINER_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + containerType = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == CMAF_CONTAINER_OPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + CMAFContainerOptions = Optional.of(ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct.decodeTlv(castingValue)); + } + } + } + return new PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct( + containerType, + CMAFContainerOptions + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct {\n"); + output.append("\tcontainerType: "); + output.append(containerType); + output.append("\n"); + output.append("\tCMAFContainerOptions: "); + output.append(CMAFContainerOptions); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct { + public Integer streamType; + public @Nullable Optional videoStreamID; + public @Nullable Optional audioStreamID; + public Integer TLSEndpointID; + public String url; + public ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct triggerOptions; + public Integer containerFormat; + public Integer ingestMethod; + public ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct containerOptions; + public @Nullable Optional metadataOptions; + public @Nullable Optional expiryTime; + private static final long STREAM_TYPE_ID = 0L; + private static final long VIDEO_STREAM_ID_ID = 1L; + private static final long AUDIO_STREAM_ID_ID = 2L; + private static final long TLS_ENDPOINT_ID_ID = 3L; + private static final long URL_ID = 4L; + private static final long TRIGGER_OPTIONS_ID = 5L; + private static final long CONTAINER_FORMAT_ID = 6L; + private static final long INGEST_METHOD_ID = 7L; + private static final long CONTAINER_OPTIONS_ID = 8L; + private static final long METADATA_OPTIONS_ID = 9L; + private static final long EXPIRY_TIME_ID = 10L; + + public PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct( + Integer streamType, + @Nullable Optional videoStreamID, + @Nullable Optional audioStreamID, + Integer TLSEndpointID, + String url, + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct triggerOptions, + Integer containerFormat, + Integer ingestMethod, + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct containerOptions, + @Nullable Optional metadataOptions, + @Nullable Optional expiryTime + ) { + this.streamType = streamType; + this.videoStreamID = videoStreamID; + this.audioStreamID = audioStreamID; + this.TLSEndpointID = TLSEndpointID; + this.url = url; + this.triggerOptions = triggerOptions; + this.containerFormat = containerFormat; + this.ingestMethod = ingestMethod; + this.containerOptions = containerOptions; + this.metadataOptions = metadataOptions; + this.expiryTime = expiryTime; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(STREAM_TYPE_ID, new UIntType(streamType))); + values.add(new StructElement(VIDEO_STREAM_ID_ID, videoStreamID != null ? videoStreamID.map((nonOptionalvideoStreamID) -> new UIntType(nonOptionalvideoStreamID)).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(AUDIO_STREAM_ID_ID, audioStreamID != null ? audioStreamID.map((nonOptionalaudioStreamID) -> new UIntType(nonOptionalaudioStreamID)).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(TLS_ENDPOINT_ID_ID, new UIntType(TLSEndpointID))); + values.add(new StructElement(URL_ID, new StringType(url))); + values.add(new StructElement(TRIGGER_OPTIONS_ID, triggerOptions.encodeTlv())); + values.add(new StructElement(CONTAINER_FORMAT_ID, new UIntType(containerFormat))); + values.add(new StructElement(INGEST_METHOD_ID, new UIntType(ingestMethod))); + values.add(new StructElement(CONTAINER_OPTIONS_ID, containerOptions.encodeTlv())); + values.add(new StructElement(METADATA_OPTIONS_ID, metadataOptions != null ? metadataOptions.map((nonOptionalmetadataOptions) -> nonOptionalmetadataOptions.encodeTlv()).orElse(new EmptyType()) : new NullType())); + values.add(new StructElement(EXPIRY_TIME_ID, expiryTime != null ? expiryTime.map((nonOptionalexpiryTime) -> new UIntType(nonOptionalexpiryTime)).orElse(new EmptyType()) : new NullType())); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer streamType = null; + @Nullable Optional videoStreamID = null; + @Nullable Optional audioStreamID = null; + Integer TLSEndpointID = null; + String url = null; + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct triggerOptions = null; + Integer containerFormat = null; + Integer ingestMethod = null; + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct containerOptions = null; + @Nullable Optional metadataOptions = null; + @Nullable Optional expiryTime = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == STREAM_TYPE_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamType = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == VIDEO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + videoStreamID = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == AUDIO_STREAM_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + audioStreamID = Optional.of(castingValue.value(Integer.class)); + } + } else if (element.contextTagNum() == TLS_ENDPOINT_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + TLSEndpointID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == URL_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.String) { + StringType castingValue = element.value(StringType.class); + url = castingValue.value(String.class); + } + } else if (element.contextTagNum() == TRIGGER_OPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + triggerOptions = ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct.decodeTlv(castingValue); + } + } else if (element.contextTagNum() == CONTAINER_FORMAT_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + containerFormat = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == INGEST_METHOD_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + ingestMethod = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == CONTAINER_OPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + containerOptions = ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct.decodeTlv(castingValue); + } + } else if (element.contextTagNum() == METADATA_OPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + metadataOptions = Optional.of(ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct.decodeTlv(castingValue)); + } + } else if (element.contextTagNum() == EXPIRY_TIME_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + expiryTime = Optional.of(castingValue.value(Long.class)); + } + } + } + return new PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct( + streamType, + videoStreamID, + audioStreamID, + TLSEndpointID, + url, + triggerOptions, + containerFormat, + ingestMethod, + containerOptions, + metadataOptions, + expiryTime + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct {\n"); + output.append("\tstreamType: "); + output.append(streamType); + output.append("\n"); + output.append("\tvideoStreamID: "); + output.append(videoStreamID); + output.append("\n"); + output.append("\taudioStreamID: "); + output.append(audioStreamID); + output.append("\n"); + output.append("\tTLSEndpointID: "); + output.append(TLSEndpointID); + output.append("\n"); + output.append("\turl: "); + output.append(url); + output.append("\n"); + output.append("\ttriggerOptions: "); + output.append(triggerOptions); + output.append("\n"); + output.append("\tcontainerFormat: "); + output.append(containerFormat); + output.append("\n"); + output.append("\tingestMethod: "); + output.append(ingestMethod); + output.append("\n"); + output.append("\tcontainerOptions: "); + output.append(containerOptions); + output.append("\n"); + output.append("\tmetadataOptions: "); + output.append(metadataOptions); + output.append("\n"); + output.append("\texpiryTime: "); + output.append(expiryTime); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class PushAvStreamTransportClusterPushAVStreamConfigurationStruct { + public Integer connectionID; + public Integer streamTransportStatus; + public ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions; + private static final long CONNECTION_ID_ID = 0L; + private static final long STREAM_TRANSPORT_STATUS_ID = 1L; + private static final long STREAM_TRANSPORT_OPTIONS_ID = 2L; + + public PushAvStreamTransportClusterPushAVStreamConfigurationStruct( + Integer connectionID, + Integer streamTransportStatus, + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions + ) { + this.connectionID = connectionID; + this.streamTransportStatus = streamTransportStatus; + this.streamTransportOptions = streamTransportOptions; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(CONNECTION_ID_ID, new UIntType(connectionID))); + values.add(new StructElement(STREAM_TRANSPORT_STATUS_ID, new UIntType(streamTransportStatus))); + values.add(new StructElement(STREAM_TRANSPORT_OPTIONS_ID, streamTransportOptions.encodeTlv())); + + return new StructType(values); + } + + public static PushAvStreamTransportClusterPushAVStreamConfigurationStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer connectionID = null; + Integer streamTransportStatus = null; + ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == CONNECTION_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + connectionID = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TRANSPORT_STATUS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + streamTransportStatus = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == STREAM_TRANSPORT_OPTIONS_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.Struct) { + StructType castingValue = element.value(StructType.class); + streamTransportOptions = ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct.decodeTlv(castingValue); + } + } + } + return new PushAvStreamTransportClusterPushAVStreamConfigurationStruct( + connectionID, + streamTransportStatus, + streamTransportOptions + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("PushAvStreamTransportClusterPushAVStreamConfigurationStruct {\n"); + output.append("\tconnectionID: "); + output.append(connectionID); + output.append("\n"); + output.append("\tstreamTransportStatus: "); + output.append(streamTransportStatus); + output.append("\n"); + output.append("\tstreamTransportOptions: "); + output.append(streamTransportOptions); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} +public static class ChimeClusterChimeSoundStruct { + public Integer chimeId; + public String name; + private static final long CHIME_ID_ID = 0L; + private static final long NAME_ID = 1L; + + public ChimeClusterChimeSoundStruct( + Integer chimeId, + String name + ) { + this.chimeId = chimeId; + this.name = name; + } + + public StructType encodeTlv() { + ArrayList values = new ArrayList<>(); + values.add(new StructElement(CHIME_ID_ID, new UIntType(chimeId))); + values.add(new StructElement(NAME_ID, new StringType(name))); + + return new StructType(values); + } + + public static ChimeClusterChimeSoundStruct decodeTlv(BaseTLVType tlvValue) { + if (tlvValue == null || tlvValue.type() != TLVType.Struct) { + return null; + } + Integer chimeId = null; + String name = null; + for (StructElement element: ((StructType)tlvValue).value()) { + if (element.contextTagNum() == CHIME_ID_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.UInt) { + UIntType castingValue = element.value(UIntType.class); + chimeId = castingValue.value(Integer.class); + } + } else if (element.contextTagNum() == NAME_ID) { + if (element.value(BaseTLVType.class).type() == TLVType.String) { + StringType castingValue = element.value(StringType.class); + name = castingValue.value(String.class); + } + } + } + return new ChimeClusterChimeSoundStruct( + chimeId, + name + ); + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("ChimeClusterChimeSoundStruct {\n"); + output.append("\tchimeId: "); + output.append(chimeId); + output.append("\n"); + output.append("\tname: "); + output.append(name); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} public static class EcosystemInformationClusterDeviceTypeStruct { public Long deviceType; public Integer revision; diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java index 950e6070dff2c0..b73c9830794208 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java @@ -388,6 +388,24 @@ public static BaseCluster getCluster(long clusterId) { if (clusterId == ContentAppObserver.ID) { return new ContentAppObserver(); } + if (clusterId == CameraAvStreamManagement.ID) { + return new CameraAvStreamManagement(); + } + if (clusterId == CameraAvSettingsUserLevelManagement.ID) { + return new CameraAvSettingsUserLevelManagement(); + } + if (clusterId == WebRTCTransportProvider.ID) { + return new WebRTCTransportProvider(); + } + if (clusterId == WebRTCTransportRequestor.ID) { + return new WebRTCTransportRequestor(); + } + if (clusterId == PushAvStreamTransport.ID) { + return new PushAvStreamTransport(); + } + if (clusterId == Chime.ID) { + return new Chime(); + } if (clusterId == EcosystemInformation.ID) { return new EcosystemInformation(); } @@ -17230,6 +17248,1236 @@ public long getCommandID(String name) throws IllegalArgumentException { return Command.valueOf(name).getID(); } } + public static class CameraAvStreamManagement implements BaseCluster { + public static final long ID = 1361L; + public long getID() { + return ID; + } + + public enum Attribute { + MaxConcurrentVideoEncoders(0L), + MaxEncodedPixelRate(1L), + VideoSensorParams(2L), + NightVisionCapable(3L), + MinViewPortWidth(4L), + MinViewPortHeight(5L), + RateDistortionTradeOffPoints(6L), + MaxPreRollBufferSize(7L), + MicrophoneCapabilities(8L), + SpeakerCapabilities(9L), + TwoWayTalkSupport(10L), + SupportedSnapshotParams(11L), + HDRCapable(12L), + MaxNetworkBandwidth(13L), + CurrentFrameRate(14L), + HDRMode(15L), + CurrentVideoCodecs(16L), + CurrentSnapshotConfig(17L), + FabricsUsingCamera(18L), + AllocatedVideoStreams(19L), + AllocatedAudioStreams(20L), + AllocatedSnapshotStreams(21L), + RankedVideoStreamPrioritiesList(22L), + SoftRecordingPrivacyModeSetting(23L), + SoftLivestreamPrivacyModeSetting(24L), + HardPrivacyMode(25L), + NightVision(26L), + NightVisionIllum(27L), + Awb(28L), + ShutterSpeed(29L), + Iso(30L), + Viewport(31L), + SpkrOnOff(32L), + SpkrVolumeLevel(33L), + SpkrMaxLevel(34L), + SpkrMinLevel(35L), + MicOnOff(36L), + MicCurrentLevel(37L), + MicMaxLevel(38L), + MicMinLevel(39L), + MicAGC(40L), + ImageRotation(41L), + ImageFlipHorizontal(42L), + ImageFlipVertical(43L), + LocalVideoRecordingEnabled(44L), + LocalSnapshotRecordingEnabled(45L), + StatusLight(46L), + StatusLightBrightness(47L), + DepthSensorStatus(48L), + WatermarkEnabled(49L), + OSDEnabled(50L), + GeneratedCommandList(65528L), + AcceptedCommandList(65529L), + EventList(65530L), + AttributeList(65531L), + FeatureMap(65532L), + ClusterRevision(65533L),; + private final long id; + Attribute(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Attribute value(long id) throws NoSuchFieldError { + for (Attribute attribute : Attribute.values()) { + if (attribute.getID() == id) { + return attribute; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Event { + VideoStreamChanged(0L), + AudioStreamChanged(1L), + SnapshotStreamChanged(2L),; + private final long id; + Event(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Event value(long id) throws NoSuchFieldError { + for (Event event : Event.values()) { + if (event.getID() == id) { + return event; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Command { + AudioStreamAllocate(0L), + AudioStreamDeallocate(2L), + VideoStreamAllocate(3L), + VideoStreamModify(5L), + VideoStreamDeallocate(6L), + SnapshotStreamAllocate(7L), + SnapshotStreamDeallocate(9L), + SetStreamPriority(10L), + CaptureSnapshot(11L), + SetViewport(13L), + SetImageRotation(14L), + SetImageFlipHorizontal(15L), + SetImageFlipVertical(16L),; + private final long id; + Command(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Command value(long id) throws NoSuchFieldError { + for (Command command : Command.values()) { + if (command.getID() == id) { + return command; + } + } + throw new NoSuchFieldError(); + } + }public enum AudioStreamAllocateCommandField {StreamType(0),AudioCodec(1),ChannelCount(2),SampleRate(3),BitRate(4),BitDepth(5),; + private final int id; + AudioStreamAllocateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static AudioStreamAllocateCommandField value(int id) throws NoSuchFieldError { + for (AudioStreamAllocateCommandField field : AudioStreamAllocateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum AudioStreamDeallocateCommandField {AudioStreamID(0),; + private final int id; + AudioStreamDeallocateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static AudioStreamDeallocateCommandField value(int id) throws NoSuchFieldError { + for (AudioStreamDeallocateCommandField field : AudioStreamDeallocateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum VideoStreamAllocateCommandField {StreamType(0),VideoCodec(1),MinFrameRate(2),MaxFrameRate(3),MinResolution(4),MaxResolution(5),MinBitRate(6),MaxBitRate(7),MinFragmentLen(8),MaxFragmentLen(9),; + private final int id; + VideoStreamAllocateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static VideoStreamAllocateCommandField value(int id) throws NoSuchFieldError { + for (VideoStreamAllocateCommandField field : VideoStreamAllocateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum VideoStreamModifyCommandField {VideoStreamID(0),Resolution(1),; + private final int id; + VideoStreamModifyCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static VideoStreamModifyCommandField value(int id) throws NoSuchFieldError { + for (VideoStreamModifyCommandField field : VideoStreamModifyCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum VideoStreamDeallocateCommandField {VideoStreamID(0),; + private final int id; + VideoStreamDeallocateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static VideoStreamDeallocateCommandField value(int id) throws NoSuchFieldError { + for (VideoStreamDeallocateCommandField field : VideoStreamDeallocateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum SnapshotStreamAllocateCommandField {ImageCodec(0),FrameRate(1),BitRate(2),MinResolution(3),MaxResolution(4),Quality(5),; + private final int id; + SnapshotStreamAllocateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static SnapshotStreamAllocateCommandField value(int id) throws NoSuchFieldError { + for (SnapshotStreamAllocateCommandField field : SnapshotStreamAllocateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum SnapshotStreamDeallocateCommandField {SnapshotStreamID(0),; + private final int id; + SnapshotStreamDeallocateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static SnapshotStreamDeallocateCommandField value(int id) throws NoSuchFieldError { + for (SnapshotStreamDeallocateCommandField field : SnapshotStreamDeallocateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum CaptureSnapshotCommandField {SnapshotStreamID(0),RequestedResolution(1),; + private final int id; + CaptureSnapshotCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static CaptureSnapshotCommandField value(int id) throws NoSuchFieldError { + for (CaptureSnapshotCommandField field : CaptureSnapshotCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum SetViewportCommandField {Viewport(0),; + private final int id; + SetViewportCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static SetViewportCommandField value(int id) throws NoSuchFieldError { + for (SetViewportCommandField field : SetViewportCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum SetImageRotationCommandField {Angle(0),; + private final int id; + SetImageRotationCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static SetImageRotationCommandField value(int id) throws NoSuchFieldError { + for (SetImageRotationCommandField field : SetImageRotationCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum SetImageFlipHorizontalCommandField {OnOff(0),; + private final int id; + SetImageFlipHorizontalCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static SetImageFlipHorizontalCommandField value(int id) throws NoSuchFieldError { + for (SetImageFlipHorizontalCommandField field : SetImageFlipHorizontalCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum SetImageFlipVerticalCommandField {OnOff(0),; + private final int id; + SetImageFlipVerticalCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static SetImageFlipVerticalCommandField value(int id) throws NoSuchFieldError { + for (SetImageFlipVerticalCommandField field : SetImageFlipVerticalCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }@Override + public String getAttributeName(long id) throws NoSuchFieldError { + return Attribute.value(id).toString(); + } + + @Override + public String getEventName(long id) throws NoSuchFieldError { + return Event.value(id).toString(); + } + + @Override + public String getCommandName(long id) throws NoSuchFieldError { + return Command.value(id).toString(); + } + + @Override + public long getAttributeID(String name) throws IllegalArgumentException { + return Attribute.valueOf(name).getID(); + } + + @Override + public long getEventID(String name) throws IllegalArgumentException { + return Event.valueOf(name).getID(); + } + + @Override + public long getCommandID(String name) throws IllegalArgumentException { + return Command.valueOf(name).getID(); + } + } + public static class CameraAvSettingsUserLevelManagement implements BaseCluster { + public static final long ID = 1362L; + public long getID() { + return ID; + } + + public enum Attribute { + Mptz(0L), + MaxPresets(1L), + PresetMptzTable(2L), + MptzRelativeMove(3L), + DptzRelativeMove(4L), + GeneratedCommandList(65528L), + AcceptedCommandList(65529L), + EventList(65530L), + AttributeList(65531L), + FeatureMap(65532L), + ClusterRevision(65533L),; + private final long id; + Attribute(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Attribute value(long id) throws NoSuchFieldError { + for (Attribute attribute : Attribute.values()) { + if (attribute.getID() == id) { + return attribute; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Event {; + private final long id; + Event(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Event value(long id) throws NoSuchFieldError { + for (Event event : Event.values()) { + if (event.getID() == id) { + return event; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Command { + MptzSet(0L), + MptzRelativeMove(1L), + SetAsPreset(2L), + DptzSetViewport(3L), + DptzRelativeMove(4L),; + private final long id; + Command(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Command value(long id) throws NoSuchFieldError { + for (Command command : Command.values()) { + if (command.getID() == id) { + return command; + } + } + throw new NoSuchFieldError(); + } + }public enum MptzSetCommandField {NewPTZ(0),PresetID(1),; + private final int id; + MptzSetCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static MptzSetCommandField value(int id) throws NoSuchFieldError { + for (MptzSetCommandField field : MptzSetCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum MptzRelativeMoveCommandField {Pan(0),Tilt(1),Zoom(2),; + private final int id; + MptzRelativeMoveCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static MptzRelativeMoveCommandField value(int id) throws NoSuchFieldError { + for (MptzRelativeMoveCommandField field : MptzRelativeMoveCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum DptzSetViewportCommandField {VideoStreamID(0),Viewport(1),; + private final int id; + DptzSetViewportCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static DptzSetViewportCommandField value(int id) throws NoSuchFieldError { + for (DptzSetViewportCommandField field : DptzSetViewportCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum DptzRelativeMoveCommandField {VideoStreamID(0),Pan(1),Tilt(2),Zoom(3),; + private final int id; + DptzRelativeMoveCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static DptzRelativeMoveCommandField value(int id) throws NoSuchFieldError { + for (DptzRelativeMoveCommandField field : DptzRelativeMoveCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }@Override + public String getAttributeName(long id) throws NoSuchFieldError { + return Attribute.value(id).toString(); + } + + @Override + public String getEventName(long id) throws NoSuchFieldError { + return Event.value(id).toString(); + } + + @Override + public String getCommandName(long id) throws NoSuchFieldError { + return Command.value(id).toString(); + } + + @Override + public long getAttributeID(String name) throws IllegalArgumentException { + return Attribute.valueOf(name).getID(); + } + + @Override + public long getEventID(String name) throws IllegalArgumentException { + return Event.valueOf(name).getID(); + } + + @Override + public long getCommandID(String name) throws IllegalArgumentException { + return Command.valueOf(name).getID(); + } + } + public static class WebRTCTransportProvider implements BaseCluster { + public static final long ID = 1363L; + public long getID() { + return ID; + } + + public enum Attribute { + CurrentSessions(0L), + GeneratedCommandList(65528L), + AcceptedCommandList(65529L), + EventList(65530L), + AttributeList(65531L), + FeatureMap(65532L), + ClusterRevision(65533L),; + private final long id; + Attribute(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Attribute value(long id) throws NoSuchFieldError { + for (Attribute attribute : Attribute.values()) { + if (attribute.getID() == id) { + return attribute; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Event {; + private final long id; + Event(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Event value(long id) throws NoSuchFieldError { + for (Event event : Event.values()) { + if (event.getID() == id) { + return event; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Command { + WebRTCSolicitOffer(1L), + WebRTCProvideOffer(3L), + WebRTCProvideAnswer(5L), + WebRTCProvideICECandidate(6L), + WebRTCEndSession(7L),; + private final long id; + Command(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Command value(long id) throws NoSuchFieldError { + for (Command command : Command.values()) { + if (command.getID() == id) { + return command; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCSolicitOfferCommandField {StreamType(0),VideoStreamID(1),AudioStreamID(2),ICEServers(3),ICETransportPolicy(4),MetadataOptions(5),; + private final int id; + WebRTCSolicitOfferCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCSolicitOfferCommandField value(int id) throws NoSuchFieldError { + for (WebRTCSolicitOfferCommandField field : WebRTCSolicitOfferCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCProvideOfferCommandField {WebRTCSessionID(0),Sdp(1),StreamType(2),VideoStreamID(3),AudioStreamID(4),ICEServers(5),ICETransportPolicy(6),MetadataOptions(7),; + private final int id; + WebRTCProvideOfferCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCProvideOfferCommandField value(int id) throws NoSuchFieldError { + for (WebRTCProvideOfferCommandField field : WebRTCProvideOfferCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCProvideAnswerCommandField {WebRTCSessionID(0),Sdp(1),; + private final int id; + WebRTCProvideAnswerCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCProvideAnswerCommandField value(int id) throws NoSuchFieldError { + for (WebRTCProvideAnswerCommandField field : WebRTCProvideAnswerCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCProvideICECandidateCommandField {WebRTCSessionID(0),ICECandidate(1),; + private final int id; + WebRTCProvideICECandidateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCProvideICECandidateCommandField value(int id) throws NoSuchFieldError { + for (WebRTCProvideICECandidateCommandField field : WebRTCProvideICECandidateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCEndSessionCommandField {WebRTCSessionID(0),Reason(1),; + private final int id; + WebRTCEndSessionCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCEndSessionCommandField value(int id) throws NoSuchFieldError { + for (WebRTCEndSessionCommandField field : WebRTCEndSessionCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }@Override + public String getAttributeName(long id) throws NoSuchFieldError { + return Attribute.value(id).toString(); + } + + @Override + public String getEventName(long id) throws NoSuchFieldError { + return Event.value(id).toString(); + } + + @Override + public String getCommandName(long id) throws NoSuchFieldError { + return Command.value(id).toString(); + } + + @Override + public long getAttributeID(String name) throws IllegalArgumentException { + return Attribute.valueOf(name).getID(); + } + + @Override + public long getEventID(String name) throws IllegalArgumentException { + return Event.valueOf(name).getID(); + } + + @Override + public long getCommandID(String name) throws IllegalArgumentException { + return Command.valueOf(name).getID(); + } + } + public static class WebRTCTransportRequestor implements BaseCluster { + public static final long ID = 1364L; + public long getID() { + return ID; + } + + public enum Attribute { + CurrentSessions(0L), + GeneratedCommandList(65528L), + AcceptedCommandList(65529L), + EventList(65530L), + AttributeList(65531L), + FeatureMap(65532L), + ClusterRevision(65533L),; + private final long id; + Attribute(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Attribute value(long id) throws NoSuchFieldError { + for (Attribute attribute : Attribute.values()) { + if (attribute.getID() == id) { + return attribute; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Event {; + private final long id; + Event(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Event value(long id) throws NoSuchFieldError { + for (Event event : Event.values()) { + if (event.getID() == id) { + return event; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Command { + WebRTCOffer(1L), + WebRTCAnswer(2L), + WebRTCICECandidate(3L), + WebRTCEnd(4L),; + private final long id; + Command(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Command value(long id) throws NoSuchFieldError { + for (Command command : Command.values()) { + if (command.getID() == id) { + return command; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCOfferCommandField {WebRTCSessionID(0),Sdp(1),ICEServers(2),ICETransportPolicy(3),; + private final int id; + WebRTCOfferCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCOfferCommandField value(int id) throws NoSuchFieldError { + for (WebRTCOfferCommandField field : WebRTCOfferCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCAnswerCommandField {WebRTCSessionID(0),Sdp(1),; + private final int id; + WebRTCAnswerCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCAnswerCommandField value(int id) throws NoSuchFieldError { + for (WebRTCAnswerCommandField field : WebRTCAnswerCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCICECandidateCommandField {WebRTCSessionID(0),ICECandidate(1),; + private final int id; + WebRTCICECandidateCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCICECandidateCommandField value(int id) throws NoSuchFieldError { + for (WebRTCICECandidateCommandField field : WebRTCICECandidateCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum WebRTCEndCommandField {WebRTCSessionID(0),Reason(1),; + private final int id; + WebRTCEndCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static WebRTCEndCommandField value(int id) throws NoSuchFieldError { + for (WebRTCEndCommandField field : WebRTCEndCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }@Override + public String getAttributeName(long id) throws NoSuchFieldError { + return Attribute.value(id).toString(); + } + + @Override + public String getEventName(long id) throws NoSuchFieldError { + return Event.value(id).toString(); + } + + @Override + public String getCommandName(long id) throws NoSuchFieldError { + return Command.value(id).toString(); + } + + @Override + public long getAttributeID(String name) throws IllegalArgumentException { + return Attribute.valueOf(name).getID(); + } + + @Override + public long getEventID(String name) throws IllegalArgumentException { + return Event.valueOf(name).getID(); + } + + @Override + public long getCommandID(String name) throws IllegalArgumentException { + return Command.valueOf(name).getID(); + } + } + public static class PushAvStreamTransport implements BaseCluster { + public static final long ID = 1365L; + public long getID() { + return ID; + } + + public enum Attribute { + SupportedContainerFormats(0L), + SupportedIngestMethods(1L), + CurrentConnections(2L), + GeneratedCommandList(65528L), + AcceptedCommandList(65529L), + EventList(65530L), + AttributeList(65531L), + FeatureMap(65532L), + ClusterRevision(65533L),; + private final long id; + Attribute(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Attribute value(long id) throws NoSuchFieldError { + for (Attribute attribute : Attribute.values()) { + if (attribute.getID() == id) { + return attribute; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Event { + PushTransportBegin(0L), + PushTransportEnd(1L),; + private final long id; + Event(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Event value(long id) throws NoSuchFieldError { + for (Event event : Event.values()) { + if (event.getID() == id) { + return event; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Command { + AllocatePushTransport(0L), + DeallocatePushTransport(2L), + ModifyPushTransport(3L), + SetTransportStatus(4L), + ManuallyTriggerTransport(5L), + FindStreamConfiguration(6L),; + private final long id; + Command(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Command value(long id) throws NoSuchFieldError { + for (Command command : Command.values()) { + if (command.getID() == id) { + return command; + } + } + throw new NoSuchFieldError(); + } + }public enum AllocatePushTransportCommandField {StreamTransportOptions(0),; + private final int id; + AllocatePushTransportCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static AllocatePushTransportCommandField value(int id) throws NoSuchFieldError { + for (AllocatePushTransportCommandField field : AllocatePushTransportCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum DeallocatePushTransportCommandField {ConnectionID(0),; + private final int id; + DeallocatePushTransportCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static DeallocatePushTransportCommandField value(int id) throws NoSuchFieldError { + for (DeallocatePushTransportCommandField field : DeallocatePushTransportCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum ModifyPushTransportCommandField {ConnectionID(0),StreamTransportOptions(1),; + private final int id; + ModifyPushTransportCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static ModifyPushTransportCommandField value(int id) throws NoSuchFieldError { + for (ModifyPushTransportCommandField field : ModifyPushTransportCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum SetTransportStatusCommandField {ConnectionID(0),StreamTransportStatus(1),; + private final int id; + SetTransportStatusCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static SetTransportStatusCommandField value(int id) throws NoSuchFieldError { + for (SetTransportStatusCommandField field : SetTransportStatusCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum ManuallyTriggerTransportCommandField {ConnectionID(0),ActivationReason(1),TimeControl(2),; + private final int id; + ManuallyTriggerTransportCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static ManuallyTriggerTransportCommandField value(int id) throws NoSuchFieldError { + for (ManuallyTriggerTransportCommandField field : ManuallyTriggerTransportCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }public enum FindStreamConfigurationCommandField {ConnectionID(0),; + private final int id; + FindStreamConfigurationCommandField(int id) { + this.id = id; + } + + public int getID() { + return id; + } + public static FindStreamConfigurationCommandField value(int id) throws NoSuchFieldError { + for (FindStreamConfigurationCommandField field : FindStreamConfigurationCommandField.values()) { + if (field.getID() == id) { + return field; + } + } + throw new NoSuchFieldError(); + } + }@Override + public String getAttributeName(long id) throws NoSuchFieldError { + return Attribute.value(id).toString(); + } + + @Override + public String getEventName(long id) throws NoSuchFieldError { + return Event.value(id).toString(); + } + + @Override + public String getCommandName(long id) throws NoSuchFieldError { + return Command.value(id).toString(); + } + + @Override + public long getAttributeID(String name) throws IllegalArgumentException { + return Attribute.valueOf(name).getID(); + } + + @Override + public long getEventID(String name) throws IllegalArgumentException { + return Event.valueOf(name).getID(); + } + + @Override + public long getCommandID(String name) throws IllegalArgumentException { + return Command.valueOf(name).getID(); + } + } + public static class Chime implements BaseCluster { + public static final long ID = 1366L; + public long getID() { + return ID; + } + + public enum Attribute { + InstalledChimeSounds(0L), + ActiveChimeSoundId(1L), + Enabled(2L), + GeneratedCommandList(65528L), + AcceptedCommandList(65529L), + EventList(65530L), + AttributeList(65531L), + FeatureMap(65532L), + ClusterRevision(65533L),; + private final long id; + Attribute(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Attribute value(long id) throws NoSuchFieldError { + for (Attribute attribute : Attribute.values()) { + if (attribute.getID() == id) { + return attribute; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Event {; + private final long id; + Event(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Event value(long id) throws NoSuchFieldError { + for (Event event : Event.values()) { + if (event.getID() == id) { + return event; + } + } + throw new NoSuchFieldError(); + } + } + + public enum Command { + PlayChimeSound(0L),; + private final long id; + Command(long id) { + this.id = id; + } + + public long getID() { + return id; + } + + public static Command value(long id) throws NoSuchFieldError { + for (Command command : Command.values()) { + if (command.getID() == id) { + return command; + } + } + throw new NoSuchFieldError(); + } + }@Override + public String getAttributeName(long id) throws NoSuchFieldError { + return Attribute.value(id).toString(); + } + + @Override + public String getEventName(long id) throws NoSuchFieldError { + return Event.value(id).toString(); + } + + @Override + public String getCommandName(long id) throws NoSuchFieldError { + return Command.value(id).toString(); + } + + @Override + public long getAttributeID(String name) throws IllegalArgumentException { + return Attribute.valueOf(name).getID(); + } + + @Override + public long getEventID(String name) throws IllegalArgumentException { + return Event.valueOf(name).getID(); + } + + @Override + public long getCommandID(String name) throws IllegalArgumentException { + return Command.valueOf(name).getID(); + } + } public static class EcosystemInformation implements BaseCluster { public static final long ID = 1872L; public long getID() { diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java index 6e009e3ae63c5a..e2e499af82344a 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java @@ -20244,7 +20244,8 @@ public void onError(Exception ex) { } } - public static class DelegatedEcosystemInformationClusterDeviceDirectoryAttributeCallback implements ChipClusters.EcosystemInformationCluster.DeviceDirectoryAttributeCallback, DelegatedClusterCallback { + + public static class DelegatedCameraAvStreamManagementClusterAudioStreamAllocateResponseCallback implements ChipClusters.CameraAvStreamManagementCluster.AudioStreamAllocateResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20252,20 +20253,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Integer audioStreamID) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo audioStreamIDResponseValue = new CommandResponseInfo("audioStreamID", "Integer"); + responseValues.put(audioStreamIDResponseValue, audioStreamID); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedEcosystemInformationClusterLocationDirectoryAttributeCallback implements ChipClusters.EcosystemInformationCluster.LocationDirectoryAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterVideoStreamAllocateResponseCallback implements ChipClusters.CameraAvStreamManagementCluster.VideoStreamAllocateResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20273,10 +20275,53 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Integer videoStreamID) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo videoStreamIDResponseValue = new CommandResponseInfo("videoStreamID", "Integer"); + responseValues.put(videoStreamIDResponseValue, videoStreamID); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception error) { + callback.onFailure(error); + } + } + + public static class DelegatedCameraAvStreamManagementClusterSnapshotStreamAllocateResponseCallback implements ChipClusters.CameraAvStreamManagementCluster.SnapshotStreamAllocateResponseCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(Integer snapshotStreamID) { + Map responseValues = new LinkedHashMap<>(); + + CommandResponseInfo snapshotStreamIDResponseValue = new CommandResponseInfo("snapshotStreamID", "Integer"); + responseValues.put(snapshotStreamIDResponseValue, snapshotStreamID); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception error) { + callback.onFailure(error); + } + } + public static class DelegatedCameraAvStreamManagementClusterVideoSensorParamsAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.VideoSensorParamsAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(ChipStructs.CameraAvStreamManagementClusterVideoSensorParamsStruct value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.CameraAvStreamManagementClusterVideoSensorParamsStruct"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @@ -20286,7 +20331,7 @@ public void onError(Exception ex) { } } - public static class DelegatedEcosystemInformationClusterGeneratedCommandListAttributeCallback implements ChipClusters.EcosystemInformationCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterMinViewPortWidthAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.MinViewPortWidthAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20294,10 +20339,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Object value) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Object"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @@ -20307,7 +20352,7 @@ public void onError(Exception ex) { } } - public static class DelegatedEcosystemInformationClusterAcceptedCommandListAttributeCallback implements ChipClusters.EcosystemInformationCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterMinViewPortHeightAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.MinViewPortHeightAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20315,10 +20360,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Object value) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Object"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @@ -20328,7 +20373,7 @@ public void onError(Exception ex) { } } - public static class DelegatedEcosystemInformationClusterEventListAttributeCallback implements ChipClusters.EcosystemInformationCluster.EventListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterRateDistortionTradeOffPointsAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.RateDistortionTradeOffPointsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20336,9 +20381,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20349,7 +20394,7 @@ public void onError(Exception ex) { } } - public static class DelegatedEcosystemInformationClusterAttributeListAttributeCallback implements ChipClusters.EcosystemInformationCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterMicrophoneCapabilitiesAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.MicrophoneCapabilitiesAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20357,10 +20402,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @@ -20370,8 +20415,7 @@ public void onError(Exception ex) { } } - - public static class DelegatedCommissionerControlClusterReverseOpenCommissioningWindowCallback implements ChipClusters.CommissionerControlCluster.ReverseOpenCommissioningWindowCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterSpeakerCapabilitiesAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.SpeakerCapabilitiesAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20379,28 +20423,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Integer commissioningTimeout, byte[] PAKEPasscodeVerifier, Integer discriminator, Long iterations, byte[] salt) { + public void onSuccess(ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct value) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo commissioningTimeoutResponseValue = new CommandResponseInfo("commissioningTimeout", "Integer"); - responseValues.put(commissioningTimeoutResponseValue, commissioningTimeout); - CommandResponseInfo PAKEPasscodeVerifierResponseValue = new CommandResponseInfo("PAKEPasscodeVerifier", "byte[]"); - responseValues.put(PAKEPasscodeVerifierResponseValue, PAKEPasscodeVerifier); - CommandResponseInfo discriminatorResponseValue = new CommandResponseInfo("discriminator", "Integer"); - responseValues.put(discriminatorResponseValue, discriminator); - CommandResponseInfo iterationsResponseValue = new CommandResponseInfo("iterations", "Long"); - responseValues.put(iterationsResponseValue, iterations); - CommandResponseInfo saltResponseValue = new CommandResponseInfo("salt", "byte[]"); - responseValues.put(saltResponseValue, salt); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.CameraAvStreamManagementClusterAudioCapabilitiesStruct"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedCommissionerControlClusterGeneratedCommandListAttributeCallback implements ChipClusters.CommissionerControlCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + + public static class DelegatedCameraAvStreamManagementClusterSupportedSnapshotParamsAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.SupportedSnapshotParamsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20408,9 +20444,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20421,7 +20457,7 @@ public void onError(Exception ex) { } } - public static class DelegatedCommissionerControlClusterAcceptedCommandListAttributeCallback implements ChipClusters.CommissionerControlCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterCurrentVideoCodecsAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.CurrentVideoCodecsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20429,9 +20465,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20442,7 +20478,7 @@ public void onError(Exception ex) { } } - public static class DelegatedCommissionerControlClusterEventListAttributeCallback implements ChipClusters.CommissionerControlCluster.EventListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterCurrentSnapshotConfigAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.CurrentSnapshotConfigAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20450,10 +20486,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(ChipStructs.CameraAvStreamManagementClusterSnapshotParamsStruct value) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.CameraAvStreamManagementClusterSnapshotParamsStruct"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @@ -20463,7 +20499,7 @@ public void onError(Exception ex) { } } - public static class DelegatedCommissionerControlClusterAttributeListAttributeCallback implements ChipClusters.CommissionerControlCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterFabricsUsingCameraAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.FabricsUsingCameraAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20471,9 +20507,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20484,7 +20520,7 @@ public void onError(Exception ex) { } } - public static class DelegatedElectricalMeasurementClusterGeneratedCommandListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterAllocatedVideoStreamsAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.AllocatedVideoStreamsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20492,9 +20528,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20505,7 +20541,7 @@ public void onError(Exception ex) { } } - public static class DelegatedElectricalMeasurementClusterAcceptedCommandListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterAllocatedAudioStreamsAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.AllocatedAudioStreamsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20513,9 +20549,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20526,7 +20562,7 @@ public void onError(Exception ex) { } } - public static class DelegatedElectricalMeasurementClusterEventListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.EventListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterAllocatedSnapshotStreamsAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.AllocatedSnapshotStreamsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20534,9 +20570,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20547,7 +20583,7 @@ public void onError(Exception ex) { } } - public static class DelegatedElectricalMeasurementClusterAttributeListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterRankedVideoStreamPrioritiesListAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.RankedVideoStreamPrioritiesListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20555,9 +20591,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -20568,8 +20604,7 @@ public void onError(Exception ex) { } } - - public static class DelegatedUnitTestingClusterTestSpecificResponseCallback implements ChipClusters.UnitTestingCluster.TestSpecificResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterViewportAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.ViewportAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20577,21 +20612,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Integer returnValue) { + public void onSuccess(ChipStructs.CameraAvStreamManagementClusterViewportStruct value) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Integer"); - responseValues.put(returnValueResponseValue, returnValue); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.CameraAvStreamManagementClusterViewportStruct"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestAddArgumentsResponseCallback implements ChipClusters.UnitTestingCluster.TestAddArgumentsResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterWatermarkEnabledAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.WatermarkEnabledAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20599,21 +20633,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Integer returnValue) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Integer"); - responseValues.put(returnValueResponseValue, returnValue); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestSimpleArgumentResponseCallback implements ChipClusters.UnitTestingCluster.TestSimpleArgumentResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterOSDEnabledAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.OSDEnabledAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20621,21 +20654,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Boolean returnValue) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Boolean"); - responseValues.put(returnValueResponseValue, returnValue); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestStructArrayArgumentResponseCallback implements ChipClusters.UnitTestingCluster.TestStructArrayArgumentResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterGeneratedCommandListAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20643,35 +20675,41 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(ArrayList arg1, ArrayList arg2, ArrayList arg3, ArrayList arg4, Integer arg5, Boolean arg6) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } - // arg1: NestedStructList - // Conversion from this type to Java is not properly implemented yet - - // arg2: SimpleStruct - // Conversion from this type to Java is not properly implemented yet - - // arg3: SimpleEnum - // Conversion from this type to Java is not properly implemented yet + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - // arg4: boolean - // Conversion from this type to Java is not properly implemented yet + public static class DelegatedCameraAvStreamManagementClusterAcceptedCommandListAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - CommandResponseInfo arg5ResponseValue = new CommandResponseInfo("arg5", "Integer"); - responseValues.put(arg5ResponseValue, arg5); - CommandResponseInfo arg6ResponseValue = new CommandResponseInfo("arg6", "Boolean"); - responseValues.put(arg6ResponseValue, arg6); + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterBooleanResponseCallback implements ChipClusters.UnitTestingCluster.BooleanResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterEventListAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20679,21 +20717,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Boolean value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Boolean"); - responseValues.put(valueResponseValue, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestListInt8UReverseResponseCallback implements ChipClusters.UnitTestingCluster.TestListInt8UReverseResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvStreamManagementClusterAttributeListAttributeCallback implements ChipClusters.CameraAvStreamManagementCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20701,22 +20738,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(ArrayList arg1) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - // arg1: int8u - // Conversion from this type to Java is not properly implemented yet - + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestEnumsResponseCallback implements ChipClusters.UnitTestingCluster.TestEnumsResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvSettingsUserLevelManagementClusterMptzAttributeCallback implements ChipClusters.CameraAvSettingsUserLevelManagementCluster.MptzAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20724,23 +20759,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Integer arg1, Integer arg2) { + public void onSuccess(ChipStructs.CameraAvSettingsUserLevelManagementClusterMPTZStruct value) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo arg1ResponseValue = new CommandResponseInfo("arg1", "Integer"); - responseValues.put(arg1ResponseValue, arg1); - CommandResponseInfo arg2ResponseValue = new CommandResponseInfo("arg2", "Integer"); - responseValues.put(arg2ResponseValue, arg2); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.CameraAvSettingsUserLevelManagementClusterMPTZStruct"); + responseValues.put(commandResponseInfo, value); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestNullableOptionalResponseCallback implements ChipClusters.UnitTestingCluster.TestNullableOptionalResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvSettingsUserLevelManagementClusterPresetMptzTableAttributeCallback implements ChipClusters.CameraAvSettingsUserLevelManagementCluster.PresetMptzTableAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20748,27 +20780,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Boolean wasPresent, Optional wasNull, Optional value, @Nullable Optional originalValue) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo wasPresentResponseValue = new CommandResponseInfo("wasPresent", "Boolean"); - responseValues.put(wasPresentResponseValue, wasPresent); - CommandResponseInfo wasNullResponseValue = new CommandResponseInfo("wasNull", "Optional"); - responseValues.put(wasNullResponseValue, wasNull); - CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Optional"); - responseValues.put(valueResponseValue, value); - CommandResponseInfo originalValueResponseValue = new CommandResponseInfo("originalValue", "Optional"); - responseValues.put(originalValueResponseValue, originalValue); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestComplexNullableOptionalResponseCallback implements ChipClusters.UnitTestingCluster.TestComplexNullableOptionalResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvSettingsUserLevelManagementClusterDptzRelativeMoveAttributeCallback implements ChipClusters.CameraAvSettingsUserLevelManagementCluster.DptzRelativeMoveAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20776,78 +20801,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Boolean nullableIntWasNull, Optional nullableIntValue, Boolean optionalIntWasPresent, Optional optionalIntValue, Boolean nullableOptionalIntWasPresent, Optional nullableOptionalIntWasNull, Optional nullableOptionalIntValue, Boolean nullableStringWasNull, Optional nullableStringValue, Boolean optionalStringWasPresent, Optional optionalStringValue, Boolean nullableOptionalStringWasPresent, Optional nullableOptionalStringWasNull, Optional nullableOptionalStringValue, Boolean nullableStructWasNull, Optional nullableStructValue, Boolean optionalStructWasPresent, Optional optionalStructValue, Boolean nullableOptionalStructWasPresent, Optional nullableOptionalStructWasNull, Optional nullableOptionalStructValue, Boolean nullableListWasNull, Optional> nullableListValue, Boolean optionalListWasPresent, Optional> optionalListValue, Boolean nullableOptionalListWasPresent, Optional nullableOptionalListWasNull, Optional> nullableOptionalListValue) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo nullableIntWasNullResponseValue = new CommandResponseInfo("nullableIntWasNull", "Boolean"); - responseValues.put(nullableIntWasNullResponseValue, nullableIntWasNull); - CommandResponseInfo nullableIntValueResponseValue = new CommandResponseInfo("nullableIntValue", "Optional"); - responseValues.put(nullableIntValueResponseValue, nullableIntValue); - CommandResponseInfo optionalIntWasPresentResponseValue = new CommandResponseInfo("optionalIntWasPresent", "Boolean"); - responseValues.put(optionalIntWasPresentResponseValue, optionalIntWasPresent); - CommandResponseInfo optionalIntValueResponseValue = new CommandResponseInfo("optionalIntValue", "Optional"); - responseValues.put(optionalIntValueResponseValue, optionalIntValue); - CommandResponseInfo nullableOptionalIntWasPresentResponseValue = new CommandResponseInfo("nullableOptionalIntWasPresent", "Boolean"); - responseValues.put(nullableOptionalIntWasPresentResponseValue, nullableOptionalIntWasPresent); - CommandResponseInfo nullableOptionalIntWasNullResponseValue = new CommandResponseInfo("nullableOptionalIntWasNull", "Optional"); - responseValues.put(nullableOptionalIntWasNullResponseValue, nullableOptionalIntWasNull); - CommandResponseInfo nullableOptionalIntValueResponseValue = new CommandResponseInfo("nullableOptionalIntValue", "Optional"); - responseValues.put(nullableOptionalIntValueResponseValue, nullableOptionalIntValue); - CommandResponseInfo nullableStringWasNullResponseValue = new CommandResponseInfo("nullableStringWasNull", "Boolean"); - responseValues.put(nullableStringWasNullResponseValue, nullableStringWasNull); - CommandResponseInfo nullableStringValueResponseValue = new CommandResponseInfo("nullableStringValue", "Optional"); - responseValues.put(nullableStringValueResponseValue, nullableStringValue); - CommandResponseInfo optionalStringWasPresentResponseValue = new CommandResponseInfo("optionalStringWasPresent", "Boolean"); - responseValues.put(optionalStringWasPresentResponseValue, optionalStringWasPresent); - CommandResponseInfo optionalStringValueResponseValue = new CommandResponseInfo("optionalStringValue", "Optional"); - responseValues.put(optionalStringValueResponseValue, optionalStringValue); - CommandResponseInfo nullableOptionalStringWasPresentResponseValue = new CommandResponseInfo("nullableOptionalStringWasPresent", "Boolean"); - responseValues.put(nullableOptionalStringWasPresentResponseValue, nullableOptionalStringWasPresent); - CommandResponseInfo nullableOptionalStringWasNullResponseValue = new CommandResponseInfo("nullableOptionalStringWasNull", "Optional"); - responseValues.put(nullableOptionalStringWasNullResponseValue, nullableOptionalStringWasNull); - CommandResponseInfo nullableOptionalStringValueResponseValue = new CommandResponseInfo("nullableOptionalStringValue", "Optional"); - responseValues.put(nullableOptionalStringValueResponseValue, nullableOptionalStringValue); - CommandResponseInfo nullableStructWasNullResponseValue = new CommandResponseInfo("nullableStructWasNull", "Boolean"); - responseValues.put(nullableStructWasNullResponseValue, nullableStructWasNull); - // nullableStructValue: Struct SimpleStruct - // Conversion from this type to Java is not properly implemented yet - CommandResponseInfo optionalStructWasPresentResponseValue = new CommandResponseInfo("optionalStructWasPresent", "Boolean"); - responseValues.put(optionalStructWasPresentResponseValue, optionalStructWasPresent); - // optionalStructValue: Struct SimpleStruct - // Conversion from this type to Java is not properly implemented yet - CommandResponseInfo nullableOptionalStructWasPresentResponseValue = new CommandResponseInfo("nullableOptionalStructWasPresent", "Boolean"); - responseValues.put(nullableOptionalStructWasPresentResponseValue, nullableOptionalStructWasPresent); - CommandResponseInfo nullableOptionalStructWasNullResponseValue = new CommandResponseInfo("nullableOptionalStructWasNull", "Optional"); - responseValues.put(nullableOptionalStructWasNullResponseValue, nullableOptionalStructWasNull); - // nullableOptionalStructValue: Struct SimpleStruct - // Conversion from this type to Java is not properly implemented yet - CommandResponseInfo nullableListWasNullResponseValue = new CommandResponseInfo("nullableListWasNull", "Boolean"); - responseValues.put(nullableListWasNullResponseValue, nullableListWasNull); - // nullableListValue: SimpleEnum - // Conversion from this type to Java is not properly implemented yet - - CommandResponseInfo optionalListWasPresentResponseValue = new CommandResponseInfo("optionalListWasPresent", "Boolean"); - responseValues.put(optionalListWasPresentResponseValue, optionalListWasPresent); - // optionalListValue: SimpleEnum - // Conversion from this type to Java is not properly implemented yet - - CommandResponseInfo nullableOptionalListWasPresentResponseValue = new CommandResponseInfo("nullableOptionalListWasPresent", "Boolean"); - responseValues.put(nullableOptionalListWasPresentResponseValue, nullableOptionalListWasPresent); - CommandResponseInfo nullableOptionalListWasNullResponseValue = new CommandResponseInfo("nullableOptionalListWasNull", "Optional"); - responseValues.put(nullableOptionalListWasNullResponseValue, nullableOptionalListWasNull); - // nullableOptionalListValue: SimpleEnum - // Conversion from this type to Java is not properly implemented yet - - callback.onSuccess(responseValues); - } + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterSimpleStructResponseCallback implements ChipClusters.UnitTestingCluster.SimpleStructResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvSettingsUserLevelManagementClusterGeneratedCommandListAttributeCallback implements ChipClusters.CameraAvSettingsUserLevelManagementCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20855,21 +20822,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(ChipStructs.UnitTestingClusterSimpleStruct arg1) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - // arg1: Struct SimpleStruct - // Conversion from this type to Java is not properly implemented yet + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestEmitTestEventResponseCallback implements ChipClusters.UnitTestingCluster.TestEmitTestEventResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvSettingsUserLevelManagementClusterAcceptedCommandListAttributeCallback implements ChipClusters.CameraAvSettingsUserLevelManagementCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20877,21 +20843,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Long"); - responseValues.put(valueResponseValue, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestEmitTestFabricScopedEventResponseCallback implements ChipClusters.UnitTestingCluster.TestEmitTestFabricScopedEventResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvSettingsUserLevelManagementClusterEventListAttributeCallback implements ChipClusters.CameraAvSettingsUserLevelManagementCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20899,21 +20864,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Long"); - responseValues.put(valueResponseValue, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterTestBatchHelperResponseCallback implements ChipClusters.UnitTestingCluster.TestBatchHelperResponseCallback, DelegatedClusterCallback { + public static class DelegatedCameraAvSettingsUserLevelManagementClusterAttributeListAttributeCallback implements ChipClusters.CameraAvSettingsUserLevelManagementCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20921,21 +20885,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(byte[] buffer) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo bufferResponseValue = new CommandResponseInfo("buffer", "byte[]"); - responseValues.put(bufferResponseValue, buffer); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterStringEchoResponseCallback implements ChipClusters.UnitTestingCluster.StringEchoResponseCallback, DelegatedClusterCallback { + + public static class DelegatedWebRTCTransportProviderClusterWebRTCSolicitOfferResponseCallback implements ChipClusters.WebRTCTransportProviderCluster.WebRTCSolicitOfferResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20943,11 +20907,17 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(byte[] payload) { + public void onSuccess(Integer webRTCSessionID, Boolean deferredOffer, @Nullable Optional videoStreamID, @Nullable Optional audioStreamID) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo payloadResponseValue = new CommandResponseInfo("payload", "byte[]"); - responseValues.put(payloadResponseValue, payload); + CommandResponseInfo webRTCSessionIDResponseValue = new CommandResponseInfo("webRTCSessionID", "Integer"); + responseValues.put(webRTCSessionIDResponseValue, webRTCSessionID); + CommandResponseInfo deferredOfferResponseValue = new CommandResponseInfo("deferredOffer", "Boolean"); + responseValues.put(deferredOfferResponseValue, deferredOffer); + CommandResponseInfo videoStreamIDResponseValue = new CommandResponseInfo("videoStreamID", "Optional"); + responseValues.put(videoStreamIDResponseValue, videoStreamID); + CommandResponseInfo audioStreamIDResponseValue = new CommandResponseInfo("audioStreamID", "Optional"); + responseValues.put(audioStreamIDResponseValue, audioStreamID); callback.onSuccess(responseValues); } @@ -20957,7 +20927,7 @@ public void onError(Exception error) { } } - public static class DelegatedUnitTestingClusterGlobalEchoResponseCallback implements ChipClusters.UnitTestingCluster.GlobalEchoResponseCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportProviderClusterWebRTCProvideOfferResponseCallback implements ChipClusters.WebRTCTransportProviderCluster.WebRTCProvideOfferResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20965,13 +20935,15 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(ChipStructs.UnitTestingClusterTestGlobalStruct field1, Integer field2) { + public void onSuccess(Integer webRTCSessionID, Integer videoStreamID, Integer audioStreamID) { Map responseValues = new LinkedHashMap<>(); - // field1: Struct TestGlobalStruct - // Conversion from this type to Java is not properly implemented yet - CommandResponseInfo field2ResponseValue = new CommandResponseInfo("field2", "Integer"); - responseValues.put(field2ResponseValue, field2); + CommandResponseInfo webRTCSessionIDResponseValue = new CommandResponseInfo("webRTCSessionID", "Integer"); + responseValues.put(webRTCSessionIDResponseValue, webRTCSessionID); + CommandResponseInfo videoStreamIDResponseValue = new CommandResponseInfo("videoStreamID", "Integer"); + responseValues.put(videoStreamIDResponseValue, videoStreamID); + CommandResponseInfo audioStreamIDResponseValue = new CommandResponseInfo("audioStreamID", "Integer"); + responseValues.put(audioStreamIDResponseValue, audioStreamID); callback.onSuccess(responseValues); } @@ -20980,8 +20952,7 @@ public void onError(Exception error) { callback.onFailure(error); } } - - public static class DelegatedUnitTestingClusterTestDifferentVendorMeiResponseCallback implements ChipClusters.UnitTestingCluster.TestDifferentVendorMeiResponseCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportProviderClusterCurrentSessionsAttributeCallback implements ChipClusters.WebRTCTransportProviderCluster.CurrentSessionsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -20989,22 +20960,20 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Integer arg1, Long eventNumber) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - - CommandResponseInfo arg1ResponseValue = new CommandResponseInfo("arg1", "Integer"); - responseValues.put(arg1ResponseValue, arg1); - CommandResponseInfo eventNumberResponseValue = new CommandResponseInfo("eventNumber", "Long"); - responseValues.put(eventNumberResponseValue, eventNumber); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @Override - public void onError(Exception error) { - callback.onFailure(error); + public void onError(Exception ex) { + callback.onFailure(ex); } } - public static class DelegatedUnitTestingClusterListInt8uAttributeCallback implements ChipClusters.UnitTestingCluster.ListInt8uAttributeCallback, DelegatedClusterCallback { + + public static class DelegatedWebRTCTransportProviderClusterGeneratedCommandListAttributeCallback implements ChipClusters.WebRTCTransportProviderCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21012,9 +20981,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21025,7 +20994,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterListOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.ListOctetStringAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportProviderClusterAcceptedCommandListAttributeCallback implements ChipClusters.WebRTCTransportProviderCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21033,9 +21002,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21046,7 +21015,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterListStructOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.ListStructOctetStringAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportProviderClusterEventListAttributeCallback implements ChipClusters.WebRTCTransportProviderCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21054,9 +21023,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21067,7 +21036,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterListNullablesAndOptionalsStructAttributeCallback implements ChipClusters.UnitTestingCluster.ListNullablesAndOptionalsStructAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportProviderClusterAttributeListAttributeCallback implements ChipClusters.WebRTCTransportProviderCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21075,9 +21044,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21088,7 +21057,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterStructAttrAttributeCallback implements ChipClusters.UnitTestingCluster.StructAttrAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportRequestorClusterCurrentSessionsAttributeCallback implements ChipClusters.WebRTCTransportRequestorCluster.CurrentSessionsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21096,10 +21065,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(ChipStructs.UnitTestingClusterSimpleStruct value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterSimpleStruct"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21109,7 +21078,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterListLongOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.ListLongOctetStringAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportRequestorClusterGeneratedCommandListAttributeCallback implements ChipClusters.WebRTCTransportRequestorCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21117,9 +21086,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21130,7 +21099,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterListFabricScopedAttributeCallback implements ChipClusters.UnitTestingCluster.ListFabricScopedAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportRequestorClusterAcceptedCommandListAttributeCallback implements ChipClusters.WebRTCTransportRequestorCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21138,9 +21107,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21151,7 +21120,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterGlobalStructAttributeCallback implements ChipClusters.UnitTestingCluster.GlobalStructAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportRequestorClusterEventListAttributeCallback implements ChipClusters.WebRTCTransportRequestorCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21159,10 +21128,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(ChipStructs.UnitTestingClusterTestGlobalStruct value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterTestGlobalStruct"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21172,7 +21141,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableBooleanAttributeCallback implements ChipClusters.UnitTestingCluster.NullableBooleanAttributeCallback, DelegatedClusterCallback { + public static class DelegatedWebRTCTransportRequestorClusterAttributeListAttributeCallback implements ChipClusters.WebRTCTransportRequestorCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21180,10 +21149,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Boolean value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Boolean"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21193,7 +21162,8 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableBitmap8AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap8AttributeCallback, DelegatedClusterCallback { + + public static class DelegatedPushAvStreamTransportClusterAllocatePushTransportResponseCallback implements ChipClusters.PushAvStreamTransportCluster.AllocatePushTransportResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21201,20 +21171,25 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(Integer connectionID, ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct streamTransportOptions, Integer transportStatus) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + + CommandResponseInfo connectionIDResponseValue = new CommandResponseInfo("connectionID", "Integer"); + responseValues.put(connectionIDResponseValue, connectionID); + // streamTransportOptions: Struct PushAVStreamTransportOptionsStruct + // Conversion from this type to Java is not properly implemented yet + CommandResponseInfo transportStatusResponseValue = new CommandResponseInfo("transportStatus", "Integer"); + responseValues.put(transportStatusResponseValue, transportStatus); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterNullableBitmap16AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap16AttributeCallback, DelegatedClusterCallback { + public static class DelegatedPushAvStreamTransportClusterFindStreamConfigurationResponseCallback implements ChipClusters.PushAvStreamTransportCluster.FindStreamConfigurationResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21222,20 +21197,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(ArrayList streamConfigurations) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + + // streamConfigurations: PushAVStreamConfigurationStruct + // Conversion from this type to Java is not properly implemented yet + callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - - public static class DelegatedUnitTestingClusterNullableBitmap32AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap32AttributeCallback, DelegatedClusterCallback { + public static class DelegatedPushAvStreamTransportClusterCurrentConnectionsAttributeCallback implements ChipClusters.PushAvStreamTransportCluster.CurrentConnectionsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21243,10 +21219,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21256,7 +21232,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableBitmap64AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap64AttributeCallback, DelegatedClusterCallback { + public static class DelegatedPushAvStreamTransportClusterGeneratedCommandListAttributeCallback implements ChipClusters.PushAvStreamTransportCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21264,10 +21240,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21277,7 +21253,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt8uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt8uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedPushAvStreamTransportClusterAcceptedCommandListAttributeCallback implements ChipClusters.PushAvStreamTransportCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21285,10 +21261,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21298,7 +21274,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt16uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt16uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedPushAvStreamTransportClusterEventListAttributeCallback implements ChipClusters.PushAvStreamTransportCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21306,10 +21282,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21319,7 +21295,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt24uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt24uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedPushAvStreamTransportClusterAttributeListAttributeCallback implements ChipClusters.PushAvStreamTransportCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21327,10 +21303,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21340,7 +21316,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt32uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt32uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedChimeClusterInstalledChimeSoundsAttributeCallback implements ChipClusters.ChimeCluster.InstalledChimeSoundsAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21348,10 +21324,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21361,7 +21337,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt40uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt40uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedChimeClusterGeneratedCommandListAttributeCallback implements ChipClusters.ChimeCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21369,10 +21345,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21382,7 +21358,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt48uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt48uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedChimeClusterAcceptedCommandListAttributeCallback implements ChipClusters.ChimeCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21390,10 +21366,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21403,7 +21379,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt56uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt56uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedChimeClusterEventListAttributeCallback implements ChipClusters.ChimeCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21411,10 +21387,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21424,7 +21400,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt64uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt64uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedChimeClusterAttributeListAttributeCallback implements ChipClusters.ChimeCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21432,10 +21408,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21445,7 +21421,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt8sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt8sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedEcosystemInformationClusterDeviceDirectoryAttributeCallback implements ChipClusters.EcosystemInformationCluster.DeviceDirectoryAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21453,10 +21429,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21466,7 +21442,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt16sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt16sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedEcosystemInformationClusterLocationDirectoryAttributeCallback implements ChipClusters.EcosystemInformationCluster.LocationDirectoryAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21474,10 +21450,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21487,7 +21463,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt24sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt24sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedEcosystemInformationClusterGeneratedCommandListAttributeCallback implements ChipClusters.EcosystemInformationCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21495,10 +21471,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21508,7 +21484,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt32sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt32sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedEcosystemInformationClusterAcceptedCommandListAttributeCallback implements ChipClusters.EcosystemInformationCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21516,10 +21492,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21529,7 +21505,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt40sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt40sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedEcosystemInformationClusterEventListAttributeCallback implements ChipClusters.EcosystemInformationCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21537,10 +21513,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21550,7 +21526,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt48sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt48sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedEcosystemInformationClusterAttributeListAttributeCallback implements ChipClusters.EcosystemInformationCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21558,10 +21534,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21571,7 +21547,8 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableInt56sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt56sAttributeCallback, DelegatedClusterCallback { + + public static class DelegatedCommissionerControlClusterReverseOpenCommissioningWindowCallback implements ChipClusters.CommissionerControlCluster.ReverseOpenCommissioningWindowCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21579,20 +21556,28 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(Integer commissioningTimeout, byte[] PAKEPasscodeVerifier, Integer discriminator, Long iterations, byte[] salt) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + + CommandResponseInfo commissioningTimeoutResponseValue = new CommandResponseInfo("commissioningTimeout", "Integer"); + responseValues.put(commissioningTimeoutResponseValue, commissioningTimeout); + CommandResponseInfo PAKEPasscodeVerifierResponseValue = new CommandResponseInfo("PAKEPasscodeVerifier", "byte[]"); + responseValues.put(PAKEPasscodeVerifierResponseValue, PAKEPasscodeVerifier); + CommandResponseInfo discriminatorResponseValue = new CommandResponseInfo("discriminator", "Integer"); + responseValues.put(discriminatorResponseValue, discriminator); + CommandResponseInfo iterationsResponseValue = new CommandResponseInfo("iterations", "Long"); + responseValues.put(iterationsResponseValue, iterations); + CommandResponseInfo saltResponseValue = new CommandResponseInfo("salt", "byte[]"); + responseValues.put(saltResponseValue, salt); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - - public static class DelegatedUnitTestingClusterNullableInt64sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt64sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCommissionerControlClusterGeneratedCommandListAttributeCallback implements ChipClusters.CommissionerControlCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21600,10 +21585,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Long value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21613,7 +21598,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableEnum8AttributeCallback implements ChipClusters.UnitTestingCluster.NullableEnum8AttributeCallback, DelegatedClusterCallback { + public static class DelegatedCommissionerControlClusterAcceptedCommandListAttributeCallback implements ChipClusters.CommissionerControlCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21621,10 +21606,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21634,7 +21619,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableEnum16AttributeCallback implements ChipClusters.UnitTestingCluster.NullableEnum16AttributeCallback, DelegatedClusterCallback { + public static class DelegatedCommissionerControlClusterEventListAttributeCallback implements ChipClusters.CommissionerControlCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21642,10 +21627,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21655,7 +21640,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableFloatSingleAttributeCallback implements ChipClusters.UnitTestingCluster.NullableFloatSingleAttributeCallback, DelegatedClusterCallback { + public static class DelegatedCommissionerControlClusterAttributeListAttributeCallback implements ChipClusters.CommissionerControlCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21663,10 +21648,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Float value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Float"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21676,7 +21661,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableFloatDoubleAttributeCallback implements ChipClusters.UnitTestingCluster.NullableFloatDoubleAttributeCallback, DelegatedClusterCallback { + public static class DelegatedElectricalMeasurementClusterGeneratedCommandListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21684,10 +21669,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Double value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Double"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21697,7 +21682,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.NullableOctetStringAttributeCallback, DelegatedClusterCallback { + public static class DelegatedElectricalMeasurementClusterAcceptedCommandListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21705,10 +21690,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable byte[] value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "byte[]"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21718,7 +21703,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableCharStringAttributeCallback implements ChipClusters.UnitTestingCluster.NullableCharStringAttributeCallback, DelegatedClusterCallback { + public static class DelegatedElectricalMeasurementClusterEventListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.EventListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21726,10 +21711,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable String value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "String"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21739,7 +21724,7 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableEnumAttrAttributeCallback implements ChipClusters.UnitTestingCluster.NullableEnumAttrAttributeCallback, DelegatedClusterCallback { + public static class DelegatedElectricalMeasurementClusterAttributeListAttributeCallback implements ChipClusters.ElectricalMeasurementCluster.AttributeListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21747,10 +21732,10 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -21760,7 +21745,8 @@ public void onError(Exception ex) { } } - public static class DelegatedUnitTestingClusterNullableStructAttributeCallback implements ChipClusters.UnitTestingCluster.NullableStructAttributeCallback, DelegatedClusterCallback { + + public static class DelegatedUnitTestingClusterTestSpecificResponseCallback implements ChipClusters.UnitTestingCluster.TestSpecificResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21768,20 +21754,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable ChipStructs.UnitTestingClusterSimpleStruct value) { + public void onSuccess(Integer returnValue) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterSimpleStruct"); - responseValues.put(commandResponseInfo, value); + + CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Integer"); + responseValues.put(returnValueResponseValue, returnValue); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt8uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt8uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestAddArgumentsResponseCallback implements ChipClusters.UnitTestingCluster.TestAddArgumentsResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21789,20 +21776,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(Integer returnValue) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + + CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Integer"); + responseValues.put(returnValueResponseValue, returnValue); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt8sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt8sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestSimpleArgumentResponseCallback implements ChipClusters.UnitTestingCluster.TestSimpleArgumentResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21810,20 +21798,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(Boolean returnValue) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + + CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Boolean"); + responseValues.put(returnValueResponseValue, returnValue); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt16uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt16uAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestStructArrayArgumentResponseCallback implements ChipClusters.UnitTestingCluster.TestStructArrayArgumentResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21831,20 +21820,35 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(ArrayList arg1, ArrayList arg2, ArrayList arg3, ArrayList arg4, Integer arg5, Boolean arg6) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + + // arg1: NestedStructList + // Conversion from this type to Java is not properly implemented yet + + // arg2: SimpleStruct + // Conversion from this type to Java is not properly implemented yet + + // arg3: SimpleEnum + // Conversion from this type to Java is not properly implemented yet + + // arg4: boolean + // Conversion from this type to Java is not properly implemented yet + + CommandResponseInfo arg5ResponseValue = new CommandResponseInfo("arg5", "Integer"); + responseValues.put(arg5ResponseValue, arg5); + CommandResponseInfo arg6ResponseValue = new CommandResponseInfo("arg6", "Boolean"); + responseValues.put(arg6ResponseValue, arg6); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt16sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt16sAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterBooleanResponseCallback implements ChipClusters.UnitTestingCluster.BooleanResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21852,20 +21856,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(Boolean value) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + + CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Boolean"); + responseValues.put(valueResponseValue, value); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterNullableGlobalEnumAttributeCallback implements ChipClusters.UnitTestingCluster.NullableGlobalEnumAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestListInt8UReverseResponseCallback implements ChipClusters.UnitTestingCluster.TestListInt8UReverseResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21873,20 +21878,22 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable Integer value) { + public void onSuccess(ArrayList arg1) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); - responseValues.put(commandResponseInfo, value); + + // arg1: int8u + // Conversion from this type to Java is not properly implemented yet + callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterNullableGlobalStructAttributeCallback implements ChipClusters.UnitTestingCluster.NullableGlobalStructAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestEnumsResponseCallback implements ChipClusters.UnitTestingCluster.TestEnumsResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21894,20 +21901,23 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(@Nullable ChipStructs.UnitTestingClusterTestGlobalStruct value) { + public void onSuccess(Integer arg1, Integer arg2) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterTestGlobalStruct"); - responseValues.put(commandResponseInfo, value); + + CommandResponseInfo arg1ResponseValue = new CommandResponseInfo("arg1", "Integer"); + responseValues.put(arg1ResponseValue, arg1); + CommandResponseInfo arg2ResponseValue = new CommandResponseInfo("arg2", "Integer"); + responseValues.put(arg2ResponseValue, arg2); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterGeneratedCommandListAttributeCallback implements ChipClusters.UnitTestingCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestNullableOptionalResponseCallback implements ChipClusters.UnitTestingCluster.TestNullableOptionalResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21915,20 +21925,27 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Boolean wasPresent, Optional wasNull, Optional value, @Nullable Optional originalValue) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo wasPresentResponseValue = new CommandResponseInfo("wasPresent", "Boolean"); + responseValues.put(wasPresentResponseValue, wasPresent); + CommandResponseInfo wasNullResponseValue = new CommandResponseInfo("wasNull", "Optional"); + responseValues.put(wasNullResponseValue, wasNull); + CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Optional"); + responseValues.put(valueResponseValue, value); + CommandResponseInfo originalValueResponseValue = new CommandResponseInfo("originalValue", "Optional"); + responseValues.put(originalValueResponseValue, originalValue); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterAcceptedCommandListAttributeCallback implements ChipClusters.UnitTestingCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestComplexNullableOptionalResponseCallback implements ChipClusters.UnitTestingCluster.TestComplexNullableOptionalResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21936,20 +21953,78 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Boolean nullableIntWasNull, Optional nullableIntValue, Boolean optionalIntWasPresent, Optional optionalIntValue, Boolean nullableOptionalIntWasPresent, Optional nullableOptionalIntWasNull, Optional nullableOptionalIntValue, Boolean nullableStringWasNull, Optional nullableStringValue, Boolean optionalStringWasPresent, Optional optionalStringValue, Boolean nullableOptionalStringWasPresent, Optional nullableOptionalStringWasNull, Optional nullableOptionalStringValue, Boolean nullableStructWasNull, Optional nullableStructValue, Boolean optionalStructWasPresent, Optional optionalStructValue, Boolean nullableOptionalStructWasPresent, Optional nullableOptionalStructWasNull, Optional nullableOptionalStructValue, Boolean nullableListWasNull, Optional> nullableListValue, Boolean optionalListWasPresent, Optional> optionalListValue, Boolean nullableOptionalListWasPresent, Optional nullableOptionalListWasNull, Optional> nullableOptionalListValue) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo nullableIntWasNullResponseValue = new CommandResponseInfo("nullableIntWasNull", "Boolean"); + responseValues.put(nullableIntWasNullResponseValue, nullableIntWasNull); + CommandResponseInfo nullableIntValueResponseValue = new CommandResponseInfo("nullableIntValue", "Optional"); + responseValues.put(nullableIntValueResponseValue, nullableIntValue); + CommandResponseInfo optionalIntWasPresentResponseValue = new CommandResponseInfo("optionalIntWasPresent", "Boolean"); + responseValues.put(optionalIntWasPresentResponseValue, optionalIntWasPresent); + CommandResponseInfo optionalIntValueResponseValue = new CommandResponseInfo("optionalIntValue", "Optional"); + responseValues.put(optionalIntValueResponseValue, optionalIntValue); + CommandResponseInfo nullableOptionalIntWasPresentResponseValue = new CommandResponseInfo("nullableOptionalIntWasPresent", "Boolean"); + responseValues.put(nullableOptionalIntWasPresentResponseValue, nullableOptionalIntWasPresent); + CommandResponseInfo nullableOptionalIntWasNullResponseValue = new CommandResponseInfo("nullableOptionalIntWasNull", "Optional"); + responseValues.put(nullableOptionalIntWasNullResponseValue, nullableOptionalIntWasNull); + CommandResponseInfo nullableOptionalIntValueResponseValue = new CommandResponseInfo("nullableOptionalIntValue", "Optional"); + responseValues.put(nullableOptionalIntValueResponseValue, nullableOptionalIntValue); + CommandResponseInfo nullableStringWasNullResponseValue = new CommandResponseInfo("nullableStringWasNull", "Boolean"); + responseValues.put(nullableStringWasNullResponseValue, nullableStringWasNull); + CommandResponseInfo nullableStringValueResponseValue = new CommandResponseInfo("nullableStringValue", "Optional"); + responseValues.put(nullableStringValueResponseValue, nullableStringValue); + CommandResponseInfo optionalStringWasPresentResponseValue = new CommandResponseInfo("optionalStringWasPresent", "Boolean"); + responseValues.put(optionalStringWasPresentResponseValue, optionalStringWasPresent); + CommandResponseInfo optionalStringValueResponseValue = new CommandResponseInfo("optionalStringValue", "Optional"); + responseValues.put(optionalStringValueResponseValue, optionalStringValue); + CommandResponseInfo nullableOptionalStringWasPresentResponseValue = new CommandResponseInfo("nullableOptionalStringWasPresent", "Boolean"); + responseValues.put(nullableOptionalStringWasPresentResponseValue, nullableOptionalStringWasPresent); + CommandResponseInfo nullableOptionalStringWasNullResponseValue = new CommandResponseInfo("nullableOptionalStringWasNull", "Optional"); + responseValues.put(nullableOptionalStringWasNullResponseValue, nullableOptionalStringWasNull); + CommandResponseInfo nullableOptionalStringValueResponseValue = new CommandResponseInfo("nullableOptionalStringValue", "Optional"); + responseValues.put(nullableOptionalStringValueResponseValue, nullableOptionalStringValue); + CommandResponseInfo nullableStructWasNullResponseValue = new CommandResponseInfo("nullableStructWasNull", "Boolean"); + responseValues.put(nullableStructWasNullResponseValue, nullableStructWasNull); + // nullableStructValue: Struct SimpleStruct + // Conversion from this type to Java is not properly implemented yet + CommandResponseInfo optionalStructWasPresentResponseValue = new CommandResponseInfo("optionalStructWasPresent", "Boolean"); + responseValues.put(optionalStructWasPresentResponseValue, optionalStructWasPresent); + // optionalStructValue: Struct SimpleStruct + // Conversion from this type to Java is not properly implemented yet + CommandResponseInfo nullableOptionalStructWasPresentResponseValue = new CommandResponseInfo("nullableOptionalStructWasPresent", "Boolean"); + responseValues.put(nullableOptionalStructWasPresentResponseValue, nullableOptionalStructWasPresent); + CommandResponseInfo nullableOptionalStructWasNullResponseValue = new CommandResponseInfo("nullableOptionalStructWasNull", "Optional"); + responseValues.put(nullableOptionalStructWasNullResponseValue, nullableOptionalStructWasNull); + // nullableOptionalStructValue: Struct SimpleStruct + // Conversion from this type to Java is not properly implemented yet + CommandResponseInfo nullableListWasNullResponseValue = new CommandResponseInfo("nullableListWasNull", "Boolean"); + responseValues.put(nullableListWasNullResponseValue, nullableListWasNull); + // nullableListValue: SimpleEnum + // Conversion from this type to Java is not properly implemented yet + + CommandResponseInfo optionalListWasPresentResponseValue = new CommandResponseInfo("optionalListWasPresent", "Boolean"); + responseValues.put(optionalListWasPresentResponseValue, optionalListWasPresent); + // optionalListValue: SimpleEnum + // Conversion from this type to Java is not properly implemented yet + + CommandResponseInfo nullableOptionalListWasPresentResponseValue = new CommandResponseInfo("nullableOptionalListWasPresent", "Boolean"); + responseValues.put(nullableOptionalListWasPresentResponseValue, nullableOptionalListWasPresent); + CommandResponseInfo nullableOptionalListWasNullResponseValue = new CommandResponseInfo("nullableOptionalListWasNull", "Optional"); + responseValues.put(nullableOptionalListWasNullResponseValue, nullableOptionalListWasNull); + // nullableOptionalListValue: SimpleEnum + // Conversion from this type to Java is not properly implemented yet + callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterEventListAttributeCallback implements ChipClusters.UnitTestingCluster.EventListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterSimpleStructResponseCallback implements ChipClusters.UnitTestingCluster.SimpleStructResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21957,20 +22032,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(ChipStructs.UnitTestingClusterSimpleStruct arg1) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + // arg1: Struct SimpleStruct + // Conversion from this type to Java is not properly implemented yet callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedUnitTestingClusterAttributeListAttributeCallback implements ChipClusters.UnitTestingCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestEmitTestEventResponseCallback implements ChipClusters.UnitTestingCluster.TestEmitTestEventResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21978,20 +22054,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Long value) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Long"); + responseValues.put(valueResponseValue, value); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedFaultInjectionClusterGeneratedCommandListAttributeCallback implements ChipClusters.FaultInjectionCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestEmitTestFabricScopedEventResponseCallback implements ChipClusters.UnitTestingCluster.TestEmitTestFabricScopedEventResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -21999,20 +22076,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(Long value) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo valueResponseValue = new CommandResponseInfo("value", "Long"); + responseValues.put(valueResponseValue, value); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedFaultInjectionClusterAcceptedCommandListAttributeCallback implements ChipClusters.FaultInjectionCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestBatchHelperResponseCallback implements ChipClusters.UnitTestingCluster.TestBatchHelperResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22020,20 +22098,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(byte[] buffer) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo bufferResponseValue = new CommandResponseInfo("buffer", "byte[]"); + responseValues.put(bufferResponseValue, buffer); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedFaultInjectionClusterEventListAttributeCallback implements ChipClusters.FaultInjectionCluster.EventListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterStringEchoResponseCallback implements ChipClusters.UnitTestingCluster.StringEchoResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22041,20 +22120,21 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(byte[] payload) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + CommandResponseInfo payloadResponseValue = new CommandResponseInfo("payload", "byte[]"); + responseValues.put(payloadResponseValue, payload); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - public static class DelegatedFaultInjectionClusterAttributeListAttributeCallback implements ChipClusters.FaultInjectionCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterGlobalEchoResponseCallback implements ChipClusters.UnitTestingCluster.GlobalEchoResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22062,21 +22142,23 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(ChipStructs.UnitTestingClusterTestGlobalStruct field1, Integer field2) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); - responseValues.put(commandResponseInfo, valueList); + + // field1: Struct TestGlobalStruct + // Conversion from this type to Java is not properly implemented yet + CommandResponseInfo field2ResponseValue = new CommandResponseInfo("field2", "Integer"); + responseValues.put(field2ResponseValue, field2); callback.onSuccess(responseValues); } @Override - public void onError(Exception ex) { - callback.onFailure(ex); + public void onError(Exception error) { + callback.onFailure(error); } } - - public static class DelegatedSampleMeiClusterAddArgumentsResponseCallback implements ChipClusters.SampleMeiCluster.AddArgumentsResponseCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterTestDifferentVendorMeiResponseCallback implements ChipClusters.UnitTestingCluster.TestDifferentVendorMeiResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22084,11 +22166,13 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Integer returnValue) { + public void onSuccess(Integer arg1, Long eventNumber) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Integer"); - responseValues.put(returnValueResponseValue, returnValue); + CommandResponseInfo arg1ResponseValue = new CommandResponseInfo("arg1", "Integer"); + responseValues.put(arg1ResponseValue, arg1); + CommandResponseInfo eventNumberResponseValue = new CommandResponseInfo("eventNumber", "Long"); + responseValues.put(eventNumberResponseValue, eventNumber); callback.onSuccess(responseValues); } @@ -22097,7 +22181,7 @@ public void onError(Exception error) { callback.onFailure(error); } } - public static class DelegatedSampleMeiClusterGeneratedCommandListAttributeCallback implements ChipClusters.SampleMeiCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterListInt8uAttributeCallback implements ChipClusters.UnitTestingCluster.ListInt8uAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22105,9 +22189,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -22118,7 +22202,7 @@ public void onError(Exception ex) { } } - public static class DelegatedSampleMeiClusterAcceptedCommandListAttributeCallback implements ChipClusters.SampleMeiCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterListOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.ListOctetStringAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22126,9 +22210,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -22139,7 +22223,7 @@ public void onError(Exception ex) { } } - public static class DelegatedSampleMeiClusterEventListAttributeCallback implements ChipClusters.SampleMeiCluster.EventListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterListStructOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.ListStructOctetStringAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22147,9 +22231,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -22160,7 +22244,7 @@ public void onError(Exception ex) { } } - public static class DelegatedSampleMeiClusterAttributeListAttributeCallback implements ChipClusters.SampleMeiCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + public static class DelegatedUnitTestingClusterListNullablesAndOptionalsStructAttributeCallback implements ChipClusters.UnitTestingCluster.ListNullablesAndOptionalsStructAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -22168,9 +22252,9 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(List valueList) { + public void onSuccess(List valueList) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); responseValues.put(commandResponseInfo, valueList); callback.onSuccess(responseValues); } @@ -22181,6848 +22265,8843 @@ public void onError(Exception ex) { } } + public static class DelegatedUnitTestingClusterStructAttrAttributeCallback implements ChipClusters.UnitTestingCluster.StructAttrAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - public Map getClusterMap() { - Map clusterMap = initializeClusterMap(); - Map> commandMap = getCommandMap(); - combineCommand(clusterMap, commandMap); - Map> readAttributeMap = new ClusterReadMapping().getReadAttributeMap(); - combineCommand(clusterMap, readAttributeMap); - Map> writeAttributeMap = new ClusterWriteMapping().getWriteAttributeMap(); - combineCommand(clusterMap, writeAttributeMap); - return clusterMap; - } - - public Map initializeClusterMap() { - Map clusterMap = new HashMap<>(); - - ClusterInfo identifyClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.IdentifyCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("identify", identifyClusterInfo); + @Override + public void onSuccess(ChipStructs.UnitTestingClusterSimpleStruct value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterSimpleStruct"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo groupsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.GroupsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("groups", groupsClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo onOffClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OnOffCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("onOff", onOffClusterInfo); + public static class DelegatedUnitTestingClusterListLongOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.ListLongOctetStringAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo onOffSwitchConfigurationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OnOffSwitchConfigurationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("onOffSwitchConfiguration", onOffSwitchConfigurationClusterInfo); - - ClusterInfo levelControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.LevelControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("levelControl", levelControlClusterInfo); + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } - ClusterInfo binaryInputBasicClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BinaryInputBasicCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("binaryInputBasic", binaryInputBasicClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo pulseWidthModulationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.PulseWidthModulationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("pulseWidthModulation", pulseWidthModulationClusterInfo); + public static class DelegatedUnitTestingClusterListFabricScopedAttributeCallback implements ChipClusters.UnitTestingCluster.ListFabricScopedAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo descriptorClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DescriptorCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("descriptor", descriptorClusterInfo); + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } - ClusterInfo bindingClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BindingCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("binding", bindingClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo accessControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.AccessControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("accessControl", accessControlClusterInfo); + public static class DelegatedUnitTestingClusterGlobalStructAttributeCallback implements ChipClusters.UnitTestingCluster.GlobalStructAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo actionsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ActionsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("actions", actionsClusterInfo); + @Override + public void onSuccess(ChipStructs.UnitTestingClusterTestGlobalStruct value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterTestGlobalStruct"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo basicInformationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BasicInformationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("basicInformation", basicInformationClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo otaSoftwareUpdateProviderClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OtaSoftwareUpdateProviderCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("otaSoftwareUpdateProvider", otaSoftwareUpdateProviderClusterInfo); + public static class DelegatedUnitTestingClusterNullableBooleanAttributeCallback implements ChipClusters.UnitTestingCluster.NullableBooleanAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo otaSoftwareUpdateRequestorClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OtaSoftwareUpdateRequestorCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("otaSoftwareUpdateRequestor", otaSoftwareUpdateRequestorClusterInfo); + @Override + public void onSuccess(@Nullable Boolean value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Boolean"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo localizationConfigurationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.LocalizationConfigurationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("localizationConfiguration", localizationConfigurationClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo timeFormatLocalizationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.TimeFormatLocalizationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("timeFormatLocalization", timeFormatLocalizationClusterInfo); + public static class DelegatedUnitTestingClusterNullableBitmap8AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap8AttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo unitLocalizationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.UnitLocalizationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("unitLocalization", unitLocalizationClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo powerSourceConfigurationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.PowerSourceConfigurationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("powerSourceConfiguration", powerSourceConfigurationClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo powerSourceClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.PowerSourceCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("powerSource", powerSourceClusterInfo); + public static class DelegatedUnitTestingClusterNullableBitmap16AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap16AttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo generalCommissioningClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.GeneralCommissioningCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("generalCommissioning", generalCommissioningClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo networkCommissioningClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.NetworkCommissioningCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("networkCommissioning", networkCommissioningClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo diagnosticLogsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DiagnosticLogsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("diagnosticLogs", diagnosticLogsClusterInfo); + public static class DelegatedUnitTestingClusterNullableBitmap32AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap32AttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo generalDiagnosticsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.GeneralDiagnosticsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("generalDiagnostics", generalDiagnosticsClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo softwareDiagnosticsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.SoftwareDiagnosticsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("softwareDiagnostics", softwareDiagnosticsClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo threadNetworkDiagnosticsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ThreadNetworkDiagnosticsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("threadNetworkDiagnostics", threadNetworkDiagnosticsClusterInfo); + public static class DelegatedUnitTestingClusterNullableBitmap64AttributeCallback implements ChipClusters.UnitTestingCluster.NullableBitmap64AttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo wiFiNetworkDiagnosticsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.WiFiNetworkDiagnosticsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("wiFiNetworkDiagnostics", wiFiNetworkDiagnosticsClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo ethernetNetworkDiagnosticsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.EthernetNetworkDiagnosticsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("ethernetNetworkDiagnostics", ethernetNetworkDiagnosticsClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo timeSynchronizationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.TimeSynchronizationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("timeSynchronization", timeSynchronizationClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt8uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt8uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo bridgedDeviceBasicInformationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BridgedDeviceBasicInformationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("bridgedDeviceBasicInformation", bridgedDeviceBasicInformationClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo switchClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.SwitchCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("switch", switchClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo administratorCommissioningClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.AdministratorCommissioningCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("administratorCommissioning", administratorCommissioningClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt16uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt16uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo operationalCredentialsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OperationalCredentialsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("operationalCredentials", operationalCredentialsClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo groupKeyManagementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.GroupKeyManagementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("groupKeyManagement", groupKeyManagementClusterInfo); - - ClusterInfo fixedLabelClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.FixedLabelCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("fixedLabel", fixedLabelClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo userLabelClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.UserLabelCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("userLabel", userLabelClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt24uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt24uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo proxyConfigurationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ProxyConfigurationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("proxyConfiguration", proxyConfigurationClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo proxyDiscoveryClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ProxyDiscoveryCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("proxyDiscovery", proxyDiscoveryClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo proxyValidClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ProxyValidCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("proxyValid", proxyValidClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt32uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt32uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo booleanStateClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BooleanStateCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("booleanState", booleanStateClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo icdManagementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.IcdManagementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("icdManagement", icdManagementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo timerClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.TimerCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("timer", timerClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt40uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt40uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo ovenCavityOperationalStateClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OvenCavityOperationalStateCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("ovenCavityOperationalState", ovenCavityOperationalStateClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo ovenModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OvenModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("ovenMode", ovenModeClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo laundryDryerControlsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.LaundryDryerControlsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("laundryDryerControls", laundryDryerControlsClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt48uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt48uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo modeSelectClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ModeSelectCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("modeSelect", modeSelectClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo laundryWasherModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.LaundryWasherModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("laundryWasherMode", laundryWasherModeClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo refrigeratorAndTemperatureControlledCabinetModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.RefrigeratorAndTemperatureControlledCabinetModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("refrigeratorAndTemperatureControlledCabinetMode", refrigeratorAndTemperatureControlledCabinetModeClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt56uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt56uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo laundryWasherControlsClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.LaundryWasherControlsCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("laundryWasherControls", laundryWasherControlsClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo rvcRunModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.RvcRunModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("rvcRunMode", rvcRunModeClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo rvcCleanModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.RvcCleanModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("rvcCleanMode", rvcCleanModeClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt64uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt64uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo temperatureControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.TemperatureControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("temperatureControl", temperatureControlClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo refrigeratorAlarmClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.RefrigeratorAlarmCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("refrigeratorAlarm", refrigeratorAlarmClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo dishwasherModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DishwasherModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("dishwasherMode", dishwasherModeClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt8sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt8sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo airQualityClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.AirQualityCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("airQuality", airQualityClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo smokeCoAlarmClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.SmokeCoAlarmCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("smokeCoAlarm", smokeCoAlarmClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo dishwasherAlarmClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DishwasherAlarmCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("dishwasherAlarm", dishwasherAlarmClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt16sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt16sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo microwaveOvenModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.MicrowaveOvenModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("microwaveOvenMode", microwaveOvenModeClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo microwaveOvenControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.MicrowaveOvenControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("microwaveOvenControl", microwaveOvenControlClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo operationalStateClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OperationalStateCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("operationalState", operationalStateClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt24sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt24sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo rvcOperationalStateClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.RvcOperationalStateCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("rvcOperationalState", rvcOperationalStateClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo scenesManagementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ScenesManagementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("scenesManagement", scenesManagementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo hepaFilterMonitoringClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.HepaFilterMonitoringCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("hepaFilterMonitoring", hepaFilterMonitoringClusterInfo); - - ClusterInfo activatedCarbonFilterMonitoringClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ActivatedCarbonFilterMonitoringCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("activatedCarbonFilterMonitoring", activatedCarbonFilterMonitoringClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt32sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt32sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo booleanStateConfigurationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BooleanStateConfigurationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("booleanStateConfiguration", booleanStateConfigurationClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo valveConfigurationAndControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ValveConfigurationAndControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("valveConfigurationAndControl", valveConfigurationAndControlClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo electricalPowerMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ElectricalPowerMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("electricalPowerMeasurement", electricalPowerMeasurementClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt40sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt40sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo electricalEnergyMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ElectricalEnergyMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("electricalEnergyMeasurement", electricalEnergyMeasurementClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo waterHeaterManagementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.WaterHeaterManagementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("waterHeaterManagement", waterHeaterManagementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo demandResponseLoadControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DemandResponseLoadControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("demandResponseLoadControl", demandResponseLoadControlClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt48sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt48sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo messagesClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.MessagesCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("messages", messagesClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo deviceEnergyManagementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DeviceEnergyManagementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("deviceEnergyManagement", deviceEnergyManagementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo energyEvseClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.EnergyEvseCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("energyEvse", energyEvseClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt56sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt56sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo energyPreferenceClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.EnergyPreferenceCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("energyPreference", energyPreferenceClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo powerTopologyClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.PowerTopologyCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("powerTopology", powerTopologyClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo energyEvseModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.EnergyEvseModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("energyEvseMode", energyEvseModeClusterInfo); + public static class DelegatedUnitTestingClusterNullableInt64sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableInt64sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo waterHeaterModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.WaterHeaterModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("waterHeaterMode", waterHeaterModeClusterInfo); + @Override + public void onSuccess(@Nullable Long value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Long"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo deviceEnergyManagementModeClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DeviceEnergyManagementModeCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("deviceEnergyManagementMode", deviceEnergyManagementModeClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo doorLockClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.DoorLockCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("doorLock", doorLockClusterInfo); + public static class DelegatedUnitTestingClusterNullableEnum8AttributeCallback implements ChipClusters.UnitTestingCluster.NullableEnum8AttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo windowCoveringClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.WindowCoveringCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("windowCovering", windowCoveringClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo barrierControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BarrierControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("barrierControl", barrierControlClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo serviceAreaClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ServiceAreaCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("serviceArea", serviceAreaClusterInfo); + public static class DelegatedUnitTestingClusterNullableEnum16AttributeCallback implements ChipClusters.UnitTestingCluster.NullableEnum16AttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo pumpConfigurationAndControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.PumpConfigurationAndControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("pumpConfigurationAndControl", pumpConfigurationAndControlClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo thermostatClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ThermostatCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("thermostat", thermostatClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo fanControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.FanControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("fanControl", fanControlClusterInfo); + public static class DelegatedUnitTestingClusterNullableFloatSingleAttributeCallback implements ChipClusters.UnitTestingCluster.NullableFloatSingleAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo thermostatUserInterfaceConfigurationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ThermostatUserInterfaceConfigurationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("thermostatUserInterfaceConfiguration", thermostatUserInterfaceConfigurationClusterInfo); + @Override + public void onSuccess(@Nullable Float value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Float"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo colorControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ColorControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("colorControl", colorControlClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo ballastConfigurationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.BallastConfigurationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("ballastConfiguration", ballastConfigurationClusterInfo); + public static class DelegatedUnitTestingClusterNullableFloatDoubleAttributeCallback implements ChipClusters.UnitTestingCluster.NullableFloatDoubleAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo illuminanceMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.IlluminanceMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("illuminanceMeasurement", illuminanceMeasurementClusterInfo); + @Override + public void onSuccess(@Nullable Double value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Double"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo temperatureMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.TemperatureMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("temperatureMeasurement", temperatureMeasurementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo pressureMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.PressureMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("pressureMeasurement", pressureMeasurementClusterInfo); + public static class DelegatedUnitTestingClusterNullableOctetStringAttributeCallback implements ChipClusters.UnitTestingCluster.NullableOctetStringAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo flowMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.FlowMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("flowMeasurement", flowMeasurementClusterInfo); - - ClusterInfo relativeHumidityMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.RelativeHumidityMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("relativeHumidityMeasurement", relativeHumidityMeasurementClusterInfo); + @Override + public void onSuccess(@Nullable byte[] value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "byte[]"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo occupancySensingClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OccupancySensingCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("occupancySensing", occupancySensingClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo carbonMonoxideConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.CarbonMonoxideConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("carbonMonoxideConcentrationMeasurement", carbonMonoxideConcentrationMeasurementClusterInfo); + public static class DelegatedUnitTestingClusterNullableCharStringAttributeCallback implements ChipClusters.UnitTestingCluster.NullableCharStringAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo carbonDioxideConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.CarbonDioxideConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("carbonDioxideConcentrationMeasurement", carbonDioxideConcentrationMeasurementClusterInfo); + @Override + public void onSuccess(@Nullable String value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "String"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo nitrogenDioxideConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.NitrogenDioxideConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("nitrogenDioxideConcentrationMeasurement", nitrogenDioxideConcentrationMeasurementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo ozoneConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.OzoneConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("ozoneConcentrationMeasurement", ozoneConcentrationMeasurementClusterInfo); + public static class DelegatedUnitTestingClusterNullableEnumAttrAttributeCallback implements ChipClusters.UnitTestingCluster.NullableEnumAttrAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo pm25ConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.Pm25ConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("pm25ConcentrationMeasurement", pm25ConcentrationMeasurementClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo formaldehydeConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.FormaldehydeConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("formaldehydeConcentrationMeasurement", formaldehydeConcentrationMeasurementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo pm1ConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.Pm1ConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("pm1ConcentrationMeasurement", pm1ConcentrationMeasurementClusterInfo); + public static class DelegatedUnitTestingClusterNullableStructAttributeCallback implements ChipClusters.UnitTestingCluster.NullableStructAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo pm10ConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.Pm10ConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("pm10ConcentrationMeasurement", pm10ConcentrationMeasurementClusterInfo); + @Override + public void onSuccess(@Nullable ChipStructs.UnitTestingClusterSimpleStruct value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterSimpleStruct"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo totalVolatileOrganicCompoundsConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.TotalVolatileOrganicCompoundsConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("totalVolatileOrganicCompoundsConcentrationMeasurement", totalVolatileOrganicCompoundsConcentrationMeasurementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo radonConcentrationMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.RadonConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("radonConcentrationMeasurement", radonConcentrationMeasurementClusterInfo); + public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt8uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt8uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo wiFiNetworkManagementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.WiFiNetworkManagementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("wiFiNetworkManagement", wiFiNetworkManagementClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo threadBorderRouterManagementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ThreadBorderRouterManagementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("threadBorderRouterManagement", threadBorderRouterManagementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo threadNetworkDirectoryClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ThreadNetworkDirectoryCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("threadNetworkDirectory", threadNetworkDirectoryClusterInfo); + public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt8sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt8sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo wakeOnLanClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.WakeOnLanCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("wakeOnLan", wakeOnLanClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo channelClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ChannelCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("channel", channelClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo targetNavigatorClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.TargetNavigatorCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("targetNavigator", targetNavigatorClusterInfo); + public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt16uAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt16uAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo mediaPlaybackClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.MediaPlaybackCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("mediaPlayback", mediaPlaybackClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo mediaInputClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.MediaInputCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("mediaInput", mediaInputClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo lowPowerClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.LowPowerCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("lowPower", lowPowerClusterInfo); + public static class DelegatedUnitTestingClusterNullableRangeRestrictedInt16sAttributeCallback implements ChipClusters.UnitTestingCluster.NullableRangeRestrictedInt16sAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo keypadInputClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.KeypadInputCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("keypadInput", keypadInputClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo contentLauncherClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ContentLauncherCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("contentLauncher", contentLauncherClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo audioOutputClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.AudioOutputCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("audioOutput", audioOutputClusterInfo); + public static class DelegatedUnitTestingClusterNullableGlobalEnumAttributeCallback implements ChipClusters.UnitTestingCluster.NullableGlobalEnumAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo applicationLauncherClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ApplicationLauncherCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("applicationLauncher", applicationLauncherClusterInfo); + @Override + public void onSuccess(@Nullable Integer value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "Integer"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo applicationBasicClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ApplicationBasicCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("applicationBasic", applicationBasicClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo accountLoginClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.AccountLoginCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("accountLogin", accountLoginClusterInfo); + public static class DelegatedUnitTestingClusterNullableGlobalStructAttributeCallback implements ChipClusters.UnitTestingCluster.NullableGlobalStructAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo contentControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ContentControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("contentControl", contentControlClusterInfo); + @Override + public void onSuccess(@Nullable ChipStructs.UnitTestingClusterTestGlobalStruct value) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("value", "ChipStructs.UnitTestingClusterTestGlobalStruct"); + responseValues.put(commandResponseInfo, value); + callback.onSuccess(responseValues); + } - ClusterInfo contentAppObserverClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ContentAppObserverCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("contentAppObserver", contentAppObserverClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo ecosystemInformationClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.EcosystemInformationCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("ecosystemInformation", ecosystemInformationClusterInfo); + public static class DelegatedUnitTestingClusterGeneratedCommandListAttributeCallback implements ChipClusters.UnitTestingCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo commissionerControlClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.CommissionerControlCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("commissionerControl", commissionerControlClusterInfo); + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } - ClusterInfo electricalMeasurementClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.ElectricalMeasurementCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("electricalMeasurement", electricalMeasurementClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - ClusterInfo unitTestingClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.UnitTestingCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("unitTesting", unitTestingClusterInfo); + public static class DelegatedUnitTestingClusterAcceptedCommandListAttributeCallback implements ChipClusters.UnitTestingCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } - ClusterInfo faultInjectionClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.FaultInjectionCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("faultInjection", faultInjectionClusterInfo); + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } - ClusterInfo sampleMeiClusterInfo = new ClusterInfo( - (ptr, endpointId) -> new ChipClusters.SampleMeiCluster(ptr, endpointId), new HashMap<>()); - clusterMap.put("sampleMei", sampleMeiClusterInfo); + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } - return clusterMap; + public static class DelegatedUnitTestingClusterEventListAttributeCallback implements ChipClusters.UnitTestingCluster.EventListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } } - public void combineCommand(Map destination, Map> source) { - destination.get("identify").combineCommands(source.get("identify")); - destination.get("groups").combineCommands(source.get("groups")); - destination.get("onOff").combineCommands(source.get("onOff")); - destination.get("onOffSwitchConfiguration").combineCommands(source.get("onOffSwitchConfiguration")); - destination.get("levelControl").combineCommands(source.get("levelControl")); - destination.get("binaryInputBasic").combineCommands(source.get("binaryInputBasic")); - destination.get("pulseWidthModulation").combineCommands(source.get("pulseWidthModulation")); - destination.get("descriptor").combineCommands(source.get("descriptor")); - destination.get("binding").combineCommands(source.get("binding")); - destination.get("accessControl").combineCommands(source.get("accessControl")); - destination.get("actions").combineCommands(source.get("actions")); - destination.get("basicInformation").combineCommands(source.get("basicInformation")); - destination.get("otaSoftwareUpdateProvider").combineCommands(source.get("otaSoftwareUpdateProvider")); - destination.get("otaSoftwareUpdateRequestor").combineCommands(source.get("otaSoftwareUpdateRequestor")); - destination.get("localizationConfiguration").combineCommands(source.get("localizationConfiguration")); - destination.get("timeFormatLocalization").combineCommands(source.get("timeFormatLocalization")); - destination.get("unitLocalization").combineCommands(source.get("unitLocalization")); - destination.get("powerSourceConfiguration").combineCommands(source.get("powerSourceConfiguration")); - destination.get("powerSource").combineCommands(source.get("powerSource")); - destination.get("generalCommissioning").combineCommands(source.get("generalCommissioning")); - destination.get("networkCommissioning").combineCommands(source.get("networkCommissioning")); - destination.get("diagnosticLogs").combineCommands(source.get("diagnosticLogs")); - destination.get("generalDiagnostics").combineCommands(source.get("generalDiagnostics")); - destination.get("softwareDiagnostics").combineCommands(source.get("softwareDiagnostics")); - destination.get("threadNetworkDiagnostics").combineCommands(source.get("threadNetworkDiagnostics")); - destination.get("wiFiNetworkDiagnostics").combineCommands(source.get("wiFiNetworkDiagnostics")); - destination.get("ethernetNetworkDiagnostics").combineCommands(source.get("ethernetNetworkDiagnostics")); - destination.get("timeSynchronization").combineCommands(source.get("timeSynchronization")); - destination.get("bridgedDeviceBasicInformation").combineCommands(source.get("bridgedDeviceBasicInformation")); - destination.get("switch").combineCommands(source.get("switch")); - destination.get("administratorCommissioning").combineCommands(source.get("administratorCommissioning")); - destination.get("operationalCredentials").combineCommands(source.get("operationalCredentials")); - destination.get("groupKeyManagement").combineCommands(source.get("groupKeyManagement")); - destination.get("fixedLabel").combineCommands(source.get("fixedLabel")); - destination.get("userLabel").combineCommands(source.get("userLabel")); - destination.get("proxyConfiguration").combineCommands(source.get("proxyConfiguration")); - destination.get("proxyDiscovery").combineCommands(source.get("proxyDiscovery")); - destination.get("proxyValid").combineCommands(source.get("proxyValid")); - destination.get("booleanState").combineCommands(source.get("booleanState")); - destination.get("icdManagement").combineCommands(source.get("icdManagement")); - destination.get("timer").combineCommands(source.get("timer")); - destination.get("ovenCavityOperationalState").combineCommands(source.get("ovenCavityOperationalState")); - destination.get("ovenMode").combineCommands(source.get("ovenMode")); - destination.get("laundryDryerControls").combineCommands(source.get("laundryDryerControls")); - destination.get("modeSelect").combineCommands(source.get("modeSelect")); - destination.get("laundryWasherMode").combineCommands(source.get("laundryWasherMode")); - destination.get("refrigeratorAndTemperatureControlledCabinetMode").combineCommands(source.get("refrigeratorAndTemperatureControlledCabinetMode")); - destination.get("laundryWasherControls").combineCommands(source.get("laundryWasherControls")); - destination.get("rvcRunMode").combineCommands(source.get("rvcRunMode")); - destination.get("rvcCleanMode").combineCommands(source.get("rvcCleanMode")); - destination.get("temperatureControl").combineCommands(source.get("temperatureControl")); - destination.get("refrigeratorAlarm").combineCommands(source.get("refrigeratorAlarm")); - destination.get("dishwasherMode").combineCommands(source.get("dishwasherMode")); - destination.get("airQuality").combineCommands(source.get("airQuality")); - destination.get("smokeCoAlarm").combineCommands(source.get("smokeCoAlarm")); - destination.get("dishwasherAlarm").combineCommands(source.get("dishwasherAlarm")); - destination.get("microwaveOvenMode").combineCommands(source.get("microwaveOvenMode")); - destination.get("microwaveOvenControl").combineCommands(source.get("microwaveOvenControl")); - destination.get("operationalState").combineCommands(source.get("operationalState")); - destination.get("rvcOperationalState").combineCommands(source.get("rvcOperationalState")); - destination.get("scenesManagement").combineCommands(source.get("scenesManagement")); - destination.get("hepaFilterMonitoring").combineCommands(source.get("hepaFilterMonitoring")); - destination.get("activatedCarbonFilterMonitoring").combineCommands(source.get("activatedCarbonFilterMonitoring")); - destination.get("booleanStateConfiguration").combineCommands(source.get("booleanStateConfiguration")); - destination.get("valveConfigurationAndControl").combineCommands(source.get("valveConfigurationAndControl")); - destination.get("electricalPowerMeasurement").combineCommands(source.get("electricalPowerMeasurement")); - destination.get("electricalEnergyMeasurement").combineCommands(source.get("electricalEnergyMeasurement")); - destination.get("waterHeaterManagement").combineCommands(source.get("waterHeaterManagement")); - destination.get("demandResponseLoadControl").combineCommands(source.get("demandResponseLoadControl")); - destination.get("messages").combineCommands(source.get("messages")); - destination.get("deviceEnergyManagement").combineCommands(source.get("deviceEnergyManagement")); - destination.get("energyEvse").combineCommands(source.get("energyEvse")); - destination.get("energyPreference").combineCommands(source.get("energyPreference")); - destination.get("powerTopology").combineCommands(source.get("powerTopology")); - destination.get("energyEvseMode").combineCommands(source.get("energyEvseMode")); - destination.get("waterHeaterMode").combineCommands(source.get("waterHeaterMode")); - destination.get("deviceEnergyManagementMode").combineCommands(source.get("deviceEnergyManagementMode")); - destination.get("doorLock").combineCommands(source.get("doorLock")); - destination.get("windowCovering").combineCommands(source.get("windowCovering")); - destination.get("barrierControl").combineCommands(source.get("barrierControl")); - destination.get("serviceArea").combineCommands(source.get("serviceArea")); - destination.get("pumpConfigurationAndControl").combineCommands(source.get("pumpConfigurationAndControl")); - destination.get("thermostat").combineCommands(source.get("thermostat")); - destination.get("fanControl").combineCommands(source.get("fanControl")); - destination.get("thermostatUserInterfaceConfiguration").combineCommands(source.get("thermostatUserInterfaceConfiguration")); - destination.get("colorControl").combineCommands(source.get("colorControl")); - destination.get("ballastConfiguration").combineCommands(source.get("ballastConfiguration")); - destination.get("illuminanceMeasurement").combineCommands(source.get("illuminanceMeasurement")); - destination.get("temperatureMeasurement").combineCommands(source.get("temperatureMeasurement")); - destination.get("pressureMeasurement").combineCommands(source.get("pressureMeasurement")); - destination.get("flowMeasurement").combineCommands(source.get("flowMeasurement")); - destination.get("relativeHumidityMeasurement").combineCommands(source.get("relativeHumidityMeasurement")); - destination.get("occupancySensing").combineCommands(source.get("occupancySensing")); - destination.get("carbonMonoxideConcentrationMeasurement").combineCommands(source.get("carbonMonoxideConcentrationMeasurement")); - destination.get("carbonDioxideConcentrationMeasurement").combineCommands(source.get("carbonDioxideConcentrationMeasurement")); - destination.get("nitrogenDioxideConcentrationMeasurement").combineCommands(source.get("nitrogenDioxideConcentrationMeasurement")); - destination.get("ozoneConcentrationMeasurement").combineCommands(source.get("ozoneConcentrationMeasurement")); - destination.get("pm25ConcentrationMeasurement").combineCommands(source.get("pm25ConcentrationMeasurement")); - destination.get("formaldehydeConcentrationMeasurement").combineCommands(source.get("formaldehydeConcentrationMeasurement")); - destination.get("pm1ConcentrationMeasurement").combineCommands(source.get("pm1ConcentrationMeasurement")); - destination.get("pm10ConcentrationMeasurement").combineCommands(source.get("pm10ConcentrationMeasurement")); - destination.get("totalVolatileOrganicCompoundsConcentrationMeasurement").combineCommands(source.get("totalVolatileOrganicCompoundsConcentrationMeasurement")); - destination.get("radonConcentrationMeasurement").combineCommands(source.get("radonConcentrationMeasurement")); - destination.get("wiFiNetworkManagement").combineCommands(source.get("wiFiNetworkManagement")); - destination.get("threadBorderRouterManagement").combineCommands(source.get("threadBorderRouterManagement")); - destination.get("threadNetworkDirectory").combineCommands(source.get("threadNetworkDirectory")); - destination.get("wakeOnLan").combineCommands(source.get("wakeOnLan")); - destination.get("channel").combineCommands(source.get("channel")); - destination.get("targetNavigator").combineCommands(source.get("targetNavigator")); - destination.get("mediaPlayback").combineCommands(source.get("mediaPlayback")); - destination.get("mediaInput").combineCommands(source.get("mediaInput")); - destination.get("lowPower").combineCommands(source.get("lowPower")); - destination.get("keypadInput").combineCommands(source.get("keypadInput")); - destination.get("contentLauncher").combineCommands(source.get("contentLauncher")); - destination.get("audioOutput").combineCommands(source.get("audioOutput")); - destination.get("applicationLauncher").combineCommands(source.get("applicationLauncher")); - destination.get("applicationBasic").combineCommands(source.get("applicationBasic")); - destination.get("accountLogin").combineCommands(source.get("accountLogin")); - destination.get("contentControl").combineCommands(source.get("contentControl")); - destination.get("contentAppObserver").combineCommands(source.get("contentAppObserver")); - destination.get("ecosystemInformation").combineCommands(source.get("ecosystemInformation")); - destination.get("commissionerControl").combineCommands(source.get("commissionerControl")); - destination.get("electricalMeasurement").combineCommands(source.get("electricalMeasurement")); - destination.get("unitTesting").combineCommands(source.get("unitTesting")); - destination.get("faultInjection").combineCommands(source.get("faultInjection")); - destination.get("sampleMei").combineCommands(source.get("sampleMei")); + public static class DelegatedUnitTestingClusterAttributeListAttributeCallback implements ChipClusters.UnitTestingCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } } - @SuppressWarnings("unchecked") - public Map> getCommandMap() { - Map> commandMap = new HashMap<>(); + public static class DelegatedFaultInjectionClusterGeneratedCommandListAttributeCallback implements ChipClusters.FaultInjectionCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + public static class DelegatedFaultInjectionClusterAcceptedCommandListAttributeCallback implements ChipClusters.FaultInjectionCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + public static class DelegatedFaultInjectionClusterEventListAttributeCallback implements ChipClusters.FaultInjectionCluster.EventListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + public static class DelegatedFaultInjectionClusterAttributeListAttributeCallback implements ChipClusters.FaultInjectionCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + + public static class DelegatedSampleMeiClusterAddArgumentsResponseCallback implements ChipClusters.SampleMeiCluster.AddArgumentsResponseCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(Integer returnValue) { + Map responseValues = new LinkedHashMap<>(); + + CommandResponseInfo returnValueResponseValue = new CommandResponseInfo("returnValue", "Integer"); + responseValues.put(returnValueResponseValue, returnValue); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception error) { + callback.onFailure(error); + } + } + public static class DelegatedSampleMeiClusterGeneratedCommandListAttributeCallback implements ChipClusters.SampleMeiCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + public static class DelegatedSampleMeiClusterAcceptedCommandListAttributeCallback implements ChipClusters.SampleMeiCluster.AcceptedCommandListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + public static class DelegatedSampleMeiClusterEventListAttributeCallback implements ChipClusters.SampleMeiCluster.EventListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + public static class DelegatedSampleMeiClusterAttributeListAttributeCallback implements ChipClusters.SampleMeiCluster.AttributeListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + + @Override + public void onSuccess(List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } + + + public Map getClusterMap() { + Map clusterMap = initializeClusterMap(); + Map> commandMap = getCommandMap(); + combineCommand(clusterMap, commandMap); + Map> readAttributeMap = new ClusterReadMapping().getReadAttributeMap(); + combineCommand(clusterMap, readAttributeMap); + Map> writeAttributeMap = new ClusterWriteMapping().getWriteAttributeMap(); + combineCommand(clusterMap, writeAttributeMap); + return clusterMap; + } + + public Map initializeClusterMap() { + Map clusterMap = new HashMap<>(); + + ClusterInfo identifyClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.IdentifyCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("identify", identifyClusterInfo); + + ClusterInfo groupsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.GroupsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("groups", groupsClusterInfo); + + ClusterInfo onOffClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OnOffCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("onOff", onOffClusterInfo); + + ClusterInfo onOffSwitchConfigurationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OnOffSwitchConfigurationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("onOffSwitchConfiguration", onOffSwitchConfigurationClusterInfo); + + ClusterInfo levelControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.LevelControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("levelControl", levelControlClusterInfo); + + ClusterInfo binaryInputBasicClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BinaryInputBasicCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("binaryInputBasic", binaryInputBasicClusterInfo); + + ClusterInfo pulseWidthModulationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.PulseWidthModulationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("pulseWidthModulation", pulseWidthModulationClusterInfo); + + ClusterInfo descriptorClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DescriptorCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("descriptor", descriptorClusterInfo); + + ClusterInfo bindingClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BindingCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("binding", bindingClusterInfo); + + ClusterInfo accessControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.AccessControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("accessControl", accessControlClusterInfo); + + ClusterInfo actionsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ActionsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("actions", actionsClusterInfo); + + ClusterInfo basicInformationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BasicInformationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("basicInformation", basicInformationClusterInfo); + + ClusterInfo otaSoftwareUpdateProviderClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OtaSoftwareUpdateProviderCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("otaSoftwareUpdateProvider", otaSoftwareUpdateProviderClusterInfo); + + ClusterInfo otaSoftwareUpdateRequestorClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OtaSoftwareUpdateRequestorCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("otaSoftwareUpdateRequestor", otaSoftwareUpdateRequestorClusterInfo); + + ClusterInfo localizationConfigurationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.LocalizationConfigurationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("localizationConfiguration", localizationConfigurationClusterInfo); + + ClusterInfo timeFormatLocalizationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.TimeFormatLocalizationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("timeFormatLocalization", timeFormatLocalizationClusterInfo); + + ClusterInfo unitLocalizationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.UnitLocalizationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("unitLocalization", unitLocalizationClusterInfo); + + ClusterInfo powerSourceConfigurationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.PowerSourceConfigurationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("powerSourceConfiguration", powerSourceConfigurationClusterInfo); + + ClusterInfo powerSourceClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.PowerSourceCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("powerSource", powerSourceClusterInfo); + + ClusterInfo generalCommissioningClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.GeneralCommissioningCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("generalCommissioning", generalCommissioningClusterInfo); + + ClusterInfo networkCommissioningClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.NetworkCommissioningCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("networkCommissioning", networkCommissioningClusterInfo); + + ClusterInfo diagnosticLogsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DiagnosticLogsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("diagnosticLogs", diagnosticLogsClusterInfo); + + ClusterInfo generalDiagnosticsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.GeneralDiagnosticsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("generalDiagnostics", generalDiagnosticsClusterInfo); + + ClusterInfo softwareDiagnosticsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.SoftwareDiagnosticsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("softwareDiagnostics", softwareDiagnosticsClusterInfo); + + ClusterInfo threadNetworkDiagnosticsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ThreadNetworkDiagnosticsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("threadNetworkDiagnostics", threadNetworkDiagnosticsClusterInfo); + + ClusterInfo wiFiNetworkDiagnosticsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WiFiNetworkDiagnosticsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("wiFiNetworkDiagnostics", wiFiNetworkDiagnosticsClusterInfo); + + ClusterInfo ethernetNetworkDiagnosticsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.EthernetNetworkDiagnosticsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("ethernetNetworkDiagnostics", ethernetNetworkDiagnosticsClusterInfo); + + ClusterInfo timeSynchronizationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.TimeSynchronizationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("timeSynchronization", timeSynchronizationClusterInfo); + + ClusterInfo bridgedDeviceBasicInformationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BridgedDeviceBasicInformationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("bridgedDeviceBasicInformation", bridgedDeviceBasicInformationClusterInfo); + + ClusterInfo switchClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.SwitchCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("switch", switchClusterInfo); + + ClusterInfo administratorCommissioningClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.AdministratorCommissioningCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("administratorCommissioning", administratorCommissioningClusterInfo); + + ClusterInfo operationalCredentialsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OperationalCredentialsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("operationalCredentials", operationalCredentialsClusterInfo); + + ClusterInfo groupKeyManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.GroupKeyManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("groupKeyManagement", groupKeyManagementClusterInfo); + + ClusterInfo fixedLabelClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.FixedLabelCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("fixedLabel", fixedLabelClusterInfo); + + ClusterInfo userLabelClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.UserLabelCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("userLabel", userLabelClusterInfo); + + ClusterInfo proxyConfigurationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ProxyConfigurationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("proxyConfiguration", proxyConfigurationClusterInfo); + + ClusterInfo proxyDiscoveryClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ProxyDiscoveryCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("proxyDiscovery", proxyDiscoveryClusterInfo); + + ClusterInfo proxyValidClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ProxyValidCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("proxyValid", proxyValidClusterInfo); + + ClusterInfo booleanStateClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BooleanStateCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("booleanState", booleanStateClusterInfo); + + ClusterInfo icdManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.IcdManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("icdManagement", icdManagementClusterInfo); + + ClusterInfo timerClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.TimerCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("timer", timerClusterInfo); + + ClusterInfo ovenCavityOperationalStateClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OvenCavityOperationalStateCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("ovenCavityOperationalState", ovenCavityOperationalStateClusterInfo); + + ClusterInfo ovenModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OvenModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("ovenMode", ovenModeClusterInfo); + + ClusterInfo laundryDryerControlsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.LaundryDryerControlsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("laundryDryerControls", laundryDryerControlsClusterInfo); + + ClusterInfo modeSelectClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ModeSelectCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("modeSelect", modeSelectClusterInfo); + + ClusterInfo laundryWasherModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.LaundryWasherModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("laundryWasherMode", laundryWasherModeClusterInfo); + + ClusterInfo refrigeratorAndTemperatureControlledCabinetModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.RefrigeratorAndTemperatureControlledCabinetModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("refrigeratorAndTemperatureControlledCabinetMode", refrigeratorAndTemperatureControlledCabinetModeClusterInfo); + + ClusterInfo laundryWasherControlsClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.LaundryWasherControlsCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("laundryWasherControls", laundryWasherControlsClusterInfo); + + ClusterInfo rvcRunModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.RvcRunModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("rvcRunMode", rvcRunModeClusterInfo); + + ClusterInfo rvcCleanModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.RvcCleanModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("rvcCleanMode", rvcCleanModeClusterInfo); + + ClusterInfo temperatureControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.TemperatureControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("temperatureControl", temperatureControlClusterInfo); + + ClusterInfo refrigeratorAlarmClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.RefrigeratorAlarmCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("refrigeratorAlarm", refrigeratorAlarmClusterInfo); + + ClusterInfo dishwasherModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DishwasherModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("dishwasherMode", dishwasherModeClusterInfo); + + ClusterInfo airQualityClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.AirQualityCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("airQuality", airQualityClusterInfo); + + ClusterInfo smokeCoAlarmClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.SmokeCoAlarmCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("smokeCoAlarm", smokeCoAlarmClusterInfo); + + ClusterInfo dishwasherAlarmClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DishwasherAlarmCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("dishwasherAlarm", dishwasherAlarmClusterInfo); + + ClusterInfo microwaveOvenModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.MicrowaveOvenModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("microwaveOvenMode", microwaveOvenModeClusterInfo); + + ClusterInfo microwaveOvenControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.MicrowaveOvenControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("microwaveOvenControl", microwaveOvenControlClusterInfo); + + ClusterInfo operationalStateClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OperationalStateCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("operationalState", operationalStateClusterInfo); + + ClusterInfo rvcOperationalStateClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.RvcOperationalStateCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("rvcOperationalState", rvcOperationalStateClusterInfo); + + ClusterInfo scenesManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ScenesManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("scenesManagement", scenesManagementClusterInfo); + + ClusterInfo hepaFilterMonitoringClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.HepaFilterMonitoringCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("hepaFilterMonitoring", hepaFilterMonitoringClusterInfo); + + ClusterInfo activatedCarbonFilterMonitoringClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ActivatedCarbonFilterMonitoringCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("activatedCarbonFilterMonitoring", activatedCarbonFilterMonitoringClusterInfo); + + ClusterInfo booleanStateConfigurationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BooleanStateConfigurationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("booleanStateConfiguration", booleanStateConfigurationClusterInfo); + + ClusterInfo valveConfigurationAndControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ValveConfigurationAndControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("valveConfigurationAndControl", valveConfigurationAndControlClusterInfo); + + ClusterInfo electricalPowerMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ElectricalPowerMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("electricalPowerMeasurement", electricalPowerMeasurementClusterInfo); + + ClusterInfo electricalEnergyMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ElectricalEnergyMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("electricalEnergyMeasurement", electricalEnergyMeasurementClusterInfo); + + ClusterInfo waterHeaterManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WaterHeaterManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("waterHeaterManagement", waterHeaterManagementClusterInfo); + + ClusterInfo demandResponseLoadControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DemandResponseLoadControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("demandResponseLoadControl", demandResponseLoadControlClusterInfo); + + ClusterInfo messagesClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.MessagesCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("messages", messagesClusterInfo); + + ClusterInfo deviceEnergyManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DeviceEnergyManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("deviceEnergyManagement", deviceEnergyManagementClusterInfo); + + ClusterInfo energyEvseClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.EnergyEvseCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("energyEvse", energyEvseClusterInfo); + + ClusterInfo energyPreferenceClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.EnergyPreferenceCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("energyPreference", energyPreferenceClusterInfo); + + ClusterInfo powerTopologyClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.PowerTopologyCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("powerTopology", powerTopologyClusterInfo); + + ClusterInfo energyEvseModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.EnergyEvseModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("energyEvseMode", energyEvseModeClusterInfo); + + ClusterInfo waterHeaterModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WaterHeaterModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("waterHeaterMode", waterHeaterModeClusterInfo); + + ClusterInfo deviceEnergyManagementModeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DeviceEnergyManagementModeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("deviceEnergyManagementMode", deviceEnergyManagementModeClusterInfo); + + ClusterInfo doorLockClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.DoorLockCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("doorLock", doorLockClusterInfo); + + ClusterInfo windowCoveringClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WindowCoveringCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("windowCovering", windowCoveringClusterInfo); + + ClusterInfo barrierControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BarrierControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("barrierControl", barrierControlClusterInfo); + + ClusterInfo serviceAreaClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ServiceAreaCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("serviceArea", serviceAreaClusterInfo); + + ClusterInfo pumpConfigurationAndControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.PumpConfigurationAndControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("pumpConfigurationAndControl", pumpConfigurationAndControlClusterInfo); + + ClusterInfo thermostatClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ThermostatCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("thermostat", thermostatClusterInfo); + + ClusterInfo fanControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.FanControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("fanControl", fanControlClusterInfo); + + ClusterInfo thermostatUserInterfaceConfigurationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ThermostatUserInterfaceConfigurationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("thermostatUserInterfaceConfiguration", thermostatUserInterfaceConfigurationClusterInfo); + + ClusterInfo colorControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ColorControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("colorControl", colorControlClusterInfo); + + ClusterInfo ballastConfigurationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.BallastConfigurationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("ballastConfiguration", ballastConfigurationClusterInfo); + + ClusterInfo illuminanceMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.IlluminanceMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("illuminanceMeasurement", illuminanceMeasurementClusterInfo); + + ClusterInfo temperatureMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.TemperatureMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("temperatureMeasurement", temperatureMeasurementClusterInfo); + + ClusterInfo pressureMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.PressureMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("pressureMeasurement", pressureMeasurementClusterInfo); + + ClusterInfo flowMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.FlowMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("flowMeasurement", flowMeasurementClusterInfo); + + ClusterInfo relativeHumidityMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.RelativeHumidityMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("relativeHumidityMeasurement", relativeHumidityMeasurementClusterInfo); + + ClusterInfo occupancySensingClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OccupancySensingCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("occupancySensing", occupancySensingClusterInfo); + + ClusterInfo carbonMonoxideConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.CarbonMonoxideConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("carbonMonoxideConcentrationMeasurement", carbonMonoxideConcentrationMeasurementClusterInfo); + + ClusterInfo carbonDioxideConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.CarbonDioxideConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("carbonDioxideConcentrationMeasurement", carbonDioxideConcentrationMeasurementClusterInfo); + + ClusterInfo nitrogenDioxideConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.NitrogenDioxideConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("nitrogenDioxideConcentrationMeasurement", nitrogenDioxideConcentrationMeasurementClusterInfo); + + ClusterInfo ozoneConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.OzoneConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("ozoneConcentrationMeasurement", ozoneConcentrationMeasurementClusterInfo); + + ClusterInfo pm25ConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.Pm25ConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("pm25ConcentrationMeasurement", pm25ConcentrationMeasurementClusterInfo); + + ClusterInfo formaldehydeConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.FormaldehydeConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("formaldehydeConcentrationMeasurement", formaldehydeConcentrationMeasurementClusterInfo); + + ClusterInfo pm1ConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.Pm1ConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("pm1ConcentrationMeasurement", pm1ConcentrationMeasurementClusterInfo); + + ClusterInfo pm10ConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.Pm10ConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("pm10ConcentrationMeasurement", pm10ConcentrationMeasurementClusterInfo); + + ClusterInfo totalVolatileOrganicCompoundsConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.TotalVolatileOrganicCompoundsConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("totalVolatileOrganicCompoundsConcentrationMeasurement", totalVolatileOrganicCompoundsConcentrationMeasurementClusterInfo); + + ClusterInfo radonConcentrationMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.RadonConcentrationMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("radonConcentrationMeasurement", radonConcentrationMeasurementClusterInfo); + + ClusterInfo wiFiNetworkManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WiFiNetworkManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("wiFiNetworkManagement", wiFiNetworkManagementClusterInfo); + + ClusterInfo threadBorderRouterManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ThreadBorderRouterManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("threadBorderRouterManagement", threadBorderRouterManagementClusterInfo); + + ClusterInfo threadNetworkDirectoryClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ThreadNetworkDirectoryCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("threadNetworkDirectory", threadNetworkDirectoryClusterInfo); + + ClusterInfo wakeOnLanClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WakeOnLanCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("wakeOnLan", wakeOnLanClusterInfo); + + ClusterInfo channelClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ChannelCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("channel", channelClusterInfo); + + ClusterInfo targetNavigatorClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.TargetNavigatorCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("targetNavigator", targetNavigatorClusterInfo); + + ClusterInfo mediaPlaybackClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.MediaPlaybackCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("mediaPlayback", mediaPlaybackClusterInfo); + + ClusterInfo mediaInputClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.MediaInputCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("mediaInput", mediaInputClusterInfo); + + ClusterInfo lowPowerClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.LowPowerCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("lowPower", lowPowerClusterInfo); + + ClusterInfo keypadInputClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.KeypadInputCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("keypadInput", keypadInputClusterInfo); + + ClusterInfo contentLauncherClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ContentLauncherCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("contentLauncher", contentLauncherClusterInfo); + + ClusterInfo audioOutputClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.AudioOutputCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("audioOutput", audioOutputClusterInfo); + + ClusterInfo applicationLauncherClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ApplicationLauncherCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("applicationLauncher", applicationLauncherClusterInfo); + + ClusterInfo applicationBasicClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ApplicationBasicCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("applicationBasic", applicationBasicClusterInfo); + + ClusterInfo accountLoginClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.AccountLoginCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("accountLogin", accountLoginClusterInfo); + + ClusterInfo contentControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ContentControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("contentControl", contentControlClusterInfo); + + ClusterInfo contentAppObserverClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ContentAppObserverCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("contentAppObserver", contentAppObserverClusterInfo); + + ClusterInfo cameraAvStreamManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.CameraAvStreamManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("cameraAvStreamManagement", cameraAvStreamManagementClusterInfo); + + ClusterInfo cameraAvSettingsUserLevelManagementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.CameraAvSettingsUserLevelManagementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("cameraAvSettingsUserLevelManagement", cameraAvSettingsUserLevelManagementClusterInfo); + + ClusterInfo webRTCTransportProviderClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WebRTCTransportProviderCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("webRTCTransportProvider", webRTCTransportProviderClusterInfo); + + ClusterInfo webRTCTransportRequestorClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.WebRTCTransportRequestorCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("webRTCTransportRequestor", webRTCTransportRequestorClusterInfo); + + ClusterInfo pushAvStreamTransportClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.PushAvStreamTransportCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("pushAvStreamTransport", pushAvStreamTransportClusterInfo); + + ClusterInfo chimeClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ChimeCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("chime", chimeClusterInfo); + + ClusterInfo ecosystemInformationClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.EcosystemInformationCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("ecosystemInformation", ecosystemInformationClusterInfo); + + ClusterInfo commissionerControlClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.CommissionerControlCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("commissionerControl", commissionerControlClusterInfo); + + ClusterInfo electricalMeasurementClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.ElectricalMeasurementCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("electricalMeasurement", electricalMeasurementClusterInfo); + + ClusterInfo unitTestingClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.UnitTestingCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("unitTesting", unitTestingClusterInfo); + + ClusterInfo faultInjectionClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.FaultInjectionCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("faultInjection", faultInjectionClusterInfo); + + ClusterInfo sampleMeiClusterInfo = new ClusterInfo( + (ptr, endpointId) -> new ChipClusters.SampleMeiCluster(ptr, endpointId), new HashMap<>()); + clusterMap.put("sampleMei", sampleMeiClusterInfo); + + return clusterMap; + } + + public void combineCommand(Map destination, Map> source) { + destination.get("identify").combineCommands(source.get("identify")); + destination.get("groups").combineCommands(source.get("groups")); + destination.get("onOff").combineCommands(source.get("onOff")); + destination.get("onOffSwitchConfiguration").combineCommands(source.get("onOffSwitchConfiguration")); + destination.get("levelControl").combineCommands(source.get("levelControl")); + destination.get("binaryInputBasic").combineCommands(source.get("binaryInputBasic")); + destination.get("pulseWidthModulation").combineCommands(source.get("pulseWidthModulation")); + destination.get("descriptor").combineCommands(source.get("descriptor")); + destination.get("binding").combineCommands(source.get("binding")); + destination.get("accessControl").combineCommands(source.get("accessControl")); + destination.get("actions").combineCommands(source.get("actions")); + destination.get("basicInformation").combineCommands(source.get("basicInformation")); + destination.get("otaSoftwareUpdateProvider").combineCommands(source.get("otaSoftwareUpdateProvider")); + destination.get("otaSoftwareUpdateRequestor").combineCommands(source.get("otaSoftwareUpdateRequestor")); + destination.get("localizationConfiguration").combineCommands(source.get("localizationConfiguration")); + destination.get("timeFormatLocalization").combineCommands(source.get("timeFormatLocalization")); + destination.get("unitLocalization").combineCommands(source.get("unitLocalization")); + destination.get("powerSourceConfiguration").combineCommands(source.get("powerSourceConfiguration")); + destination.get("powerSource").combineCommands(source.get("powerSource")); + destination.get("generalCommissioning").combineCommands(source.get("generalCommissioning")); + destination.get("networkCommissioning").combineCommands(source.get("networkCommissioning")); + destination.get("diagnosticLogs").combineCommands(source.get("diagnosticLogs")); + destination.get("generalDiagnostics").combineCommands(source.get("generalDiagnostics")); + destination.get("softwareDiagnostics").combineCommands(source.get("softwareDiagnostics")); + destination.get("threadNetworkDiagnostics").combineCommands(source.get("threadNetworkDiagnostics")); + destination.get("wiFiNetworkDiagnostics").combineCommands(source.get("wiFiNetworkDiagnostics")); + destination.get("ethernetNetworkDiagnostics").combineCommands(source.get("ethernetNetworkDiagnostics")); + destination.get("timeSynchronization").combineCommands(source.get("timeSynchronization")); + destination.get("bridgedDeviceBasicInformation").combineCommands(source.get("bridgedDeviceBasicInformation")); + destination.get("switch").combineCommands(source.get("switch")); + destination.get("administratorCommissioning").combineCommands(source.get("administratorCommissioning")); + destination.get("operationalCredentials").combineCommands(source.get("operationalCredentials")); + destination.get("groupKeyManagement").combineCommands(source.get("groupKeyManagement")); + destination.get("fixedLabel").combineCommands(source.get("fixedLabel")); + destination.get("userLabel").combineCommands(source.get("userLabel")); + destination.get("proxyConfiguration").combineCommands(source.get("proxyConfiguration")); + destination.get("proxyDiscovery").combineCommands(source.get("proxyDiscovery")); + destination.get("proxyValid").combineCommands(source.get("proxyValid")); + destination.get("booleanState").combineCommands(source.get("booleanState")); + destination.get("icdManagement").combineCommands(source.get("icdManagement")); + destination.get("timer").combineCommands(source.get("timer")); + destination.get("ovenCavityOperationalState").combineCommands(source.get("ovenCavityOperationalState")); + destination.get("ovenMode").combineCommands(source.get("ovenMode")); + destination.get("laundryDryerControls").combineCommands(source.get("laundryDryerControls")); + destination.get("modeSelect").combineCommands(source.get("modeSelect")); + destination.get("laundryWasherMode").combineCommands(source.get("laundryWasherMode")); + destination.get("refrigeratorAndTemperatureControlledCabinetMode").combineCommands(source.get("refrigeratorAndTemperatureControlledCabinetMode")); + destination.get("laundryWasherControls").combineCommands(source.get("laundryWasherControls")); + destination.get("rvcRunMode").combineCommands(source.get("rvcRunMode")); + destination.get("rvcCleanMode").combineCommands(source.get("rvcCleanMode")); + destination.get("temperatureControl").combineCommands(source.get("temperatureControl")); + destination.get("refrigeratorAlarm").combineCommands(source.get("refrigeratorAlarm")); + destination.get("dishwasherMode").combineCommands(source.get("dishwasherMode")); + destination.get("airQuality").combineCommands(source.get("airQuality")); + destination.get("smokeCoAlarm").combineCommands(source.get("smokeCoAlarm")); + destination.get("dishwasherAlarm").combineCommands(source.get("dishwasherAlarm")); + destination.get("microwaveOvenMode").combineCommands(source.get("microwaveOvenMode")); + destination.get("microwaveOvenControl").combineCommands(source.get("microwaveOvenControl")); + destination.get("operationalState").combineCommands(source.get("operationalState")); + destination.get("rvcOperationalState").combineCommands(source.get("rvcOperationalState")); + destination.get("scenesManagement").combineCommands(source.get("scenesManagement")); + destination.get("hepaFilterMonitoring").combineCommands(source.get("hepaFilterMonitoring")); + destination.get("activatedCarbonFilterMonitoring").combineCommands(source.get("activatedCarbonFilterMonitoring")); + destination.get("booleanStateConfiguration").combineCommands(source.get("booleanStateConfiguration")); + destination.get("valveConfigurationAndControl").combineCommands(source.get("valveConfigurationAndControl")); + destination.get("electricalPowerMeasurement").combineCommands(source.get("electricalPowerMeasurement")); + destination.get("electricalEnergyMeasurement").combineCommands(source.get("electricalEnergyMeasurement")); + destination.get("waterHeaterManagement").combineCommands(source.get("waterHeaterManagement")); + destination.get("demandResponseLoadControl").combineCommands(source.get("demandResponseLoadControl")); + destination.get("messages").combineCommands(source.get("messages")); + destination.get("deviceEnergyManagement").combineCommands(source.get("deviceEnergyManagement")); + destination.get("energyEvse").combineCommands(source.get("energyEvse")); + destination.get("energyPreference").combineCommands(source.get("energyPreference")); + destination.get("powerTopology").combineCommands(source.get("powerTopology")); + destination.get("energyEvseMode").combineCommands(source.get("energyEvseMode")); + destination.get("waterHeaterMode").combineCommands(source.get("waterHeaterMode")); + destination.get("deviceEnergyManagementMode").combineCommands(source.get("deviceEnergyManagementMode")); + destination.get("doorLock").combineCommands(source.get("doorLock")); + destination.get("windowCovering").combineCommands(source.get("windowCovering")); + destination.get("barrierControl").combineCommands(source.get("barrierControl")); + destination.get("serviceArea").combineCommands(source.get("serviceArea")); + destination.get("pumpConfigurationAndControl").combineCommands(source.get("pumpConfigurationAndControl")); + destination.get("thermostat").combineCommands(source.get("thermostat")); + destination.get("fanControl").combineCommands(source.get("fanControl")); + destination.get("thermostatUserInterfaceConfiguration").combineCommands(source.get("thermostatUserInterfaceConfiguration")); + destination.get("colorControl").combineCommands(source.get("colorControl")); + destination.get("ballastConfiguration").combineCommands(source.get("ballastConfiguration")); + destination.get("illuminanceMeasurement").combineCommands(source.get("illuminanceMeasurement")); + destination.get("temperatureMeasurement").combineCommands(source.get("temperatureMeasurement")); + destination.get("pressureMeasurement").combineCommands(source.get("pressureMeasurement")); + destination.get("flowMeasurement").combineCommands(source.get("flowMeasurement")); + destination.get("relativeHumidityMeasurement").combineCommands(source.get("relativeHumidityMeasurement")); + destination.get("occupancySensing").combineCommands(source.get("occupancySensing")); + destination.get("carbonMonoxideConcentrationMeasurement").combineCommands(source.get("carbonMonoxideConcentrationMeasurement")); + destination.get("carbonDioxideConcentrationMeasurement").combineCommands(source.get("carbonDioxideConcentrationMeasurement")); + destination.get("nitrogenDioxideConcentrationMeasurement").combineCommands(source.get("nitrogenDioxideConcentrationMeasurement")); + destination.get("ozoneConcentrationMeasurement").combineCommands(source.get("ozoneConcentrationMeasurement")); + destination.get("pm25ConcentrationMeasurement").combineCommands(source.get("pm25ConcentrationMeasurement")); + destination.get("formaldehydeConcentrationMeasurement").combineCommands(source.get("formaldehydeConcentrationMeasurement")); + destination.get("pm1ConcentrationMeasurement").combineCommands(source.get("pm1ConcentrationMeasurement")); + destination.get("pm10ConcentrationMeasurement").combineCommands(source.get("pm10ConcentrationMeasurement")); + destination.get("totalVolatileOrganicCompoundsConcentrationMeasurement").combineCommands(source.get("totalVolatileOrganicCompoundsConcentrationMeasurement")); + destination.get("radonConcentrationMeasurement").combineCommands(source.get("radonConcentrationMeasurement")); + destination.get("wiFiNetworkManagement").combineCommands(source.get("wiFiNetworkManagement")); + destination.get("threadBorderRouterManagement").combineCommands(source.get("threadBorderRouterManagement")); + destination.get("threadNetworkDirectory").combineCommands(source.get("threadNetworkDirectory")); + destination.get("wakeOnLan").combineCommands(source.get("wakeOnLan")); + destination.get("channel").combineCommands(source.get("channel")); + destination.get("targetNavigator").combineCommands(source.get("targetNavigator")); + destination.get("mediaPlayback").combineCommands(source.get("mediaPlayback")); + destination.get("mediaInput").combineCommands(source.get("mediaInput")); + destination.get("lowPower").combineCommands(source.get("lowPower")); + destination.get("keypadInput").combineCommands(source.get("keypadInput")); + destination.get("contentLauncher").combineCommands(source.get("contentLauncher")); + destination.get("audioOutput").combineCommands(source.get("audioOutput")); + destination.get("applicationLauncher").combineCommands(source.get("applicationLauncher")); + destination.get("applicationBasic").combineCommands(source.get("applicationBasic")); + destination.get("accountLogin").combineCommands(source.get("accountLogin")); + destination.get("contentControl").combineCommands(source.get("contentControl")); + destination.get("contentAppObserver").combineCommands(source.get("contentAppObserver")); + destination.get("cameraAvStreamManagement").combineCommands(source.get("cameraAvStreamManagement")); + destination.get("cameraAvSettingsUserLevelManagement").combineCommands(source.get("cameraAvSettingsUserLevelManagement")); + destination.get("webRTCTransportProvider").combineCommands(source.get("webRTCTransportProvider")); + destination.get("webRTCTransportRequestor").combineCommands(source.get("webRTCTransportRequestor")); + destination.get("pushAvStreamTransport").combineCommands(source.get("pushAvStreamTransport")); + destination.get("chime").combineCommands(source.get("chime")); + destination.get("ecosystemInformation").combineCommands(source.get("ecosystemInformation")); + destination.get("commissionerControl").combineCommands(source.get("commissionerControl")); + destination.get("electricalMeasurement").combineCommands(source.get("electricalMeasurement")); + destination.get("unitTesting").combineCommands(source.get("unitTesting")); + destination.get("faultInjection").combineCommands(source.get("faultInjection")); + destination.get("sampleMei").combineCommands(source.get("sampleMei")); + } + + @SuppressWarnings("unchecked") + public Map> getCommandMap() { + Map> commandMap = new HashMap<>(); + + Map identifyClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map identifyidentifyCommandParams = new LinkedHashMap(); + + CommandParameterInfo identifyidentifyidentifyTimeCommandParameterInfo = new CommandParameterInfo("identifyTime", Integer.class, Integer.class); + identifyidentifyCommandParams.put("identifyTime",identifyidentifyidentifyTimeCommandParameterInfo); + InteractionInfo identifyidentifyInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.IdentifyCluster) cluster) + .identify((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("identifyTime") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + identifyidentifyCommandParams + ); + identifyClusterInteractionInfoMap.put("identify", identifyidentifyInteractionInfo); + + Map identifytriggerEffectCommandParams = new LinkedHashMap(); + + CommandParameterInfo identifytriggerEffecteffectIdentifierCommandParameterInfo = new CommandParameterInfo("effectIdentifier", Integer.class, Integer.class); + identifytriggerEffectCommandParams.put("effectIdentifier",identifytriggerEffecteffectIdentifierCommandParameterInfo); + + CommandParameterInfo identifytriggerEffecteffectVariantCommandParameterInfo = new CommandParameterInfo("effectVariant", Integer.class, Integer.class); + identifytriggerEffectCommandParams.put("effectVariant",identifytriggerEffecteffectVariantCommandParameterInfo); + InteractionInfo identifytriggerEffectInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.IdentifyCluster) cluster) + .triggerEffect((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("effectIdentifier") + , (Integer) + commandArguments.get("effectVariant") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + identifytriggerEffectCommandParams + ); + identifyClusterInteractionInfoMap.put("triggerEffect", identifytriggerEffectInteractionInfo); + + commandMap.put("identify", identifyClusterInteractionInfoMap); + + Map groupsClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map groupsaddGroupCommandParams = new LinkedHashMap(); + + CommandParameterInfo groupsaddGroupgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + groupsaddGroupCommandParams.put("groupID",groupsaddGroupgroupIDCommandParameterInfo); + + CommandParameterInfo groupsaddGroupgroupNameCommandParameterInfo = new CommandParameterInfo("groupName", String.class, String.class); + groupsaddGroupCommandParams.put("groupName",groupsaddGroupgroupNameCommandParameterInfo); + InteractionInfo groupsaddGroupInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GroupsCluster) cluster) + .addGroup((ChipClusters.GroupsCluster.AddGroupResponseCallback) callback + , (Integer) + commandArguments.get("groupID") + + , (String) + commandArguments.get("groupName") + + ); + }, + () -> new DelegatedGroupsClusterAddGroupResponseCallback(), + groupsaddGroupCommandParams + ); + groupsClusterInteractionInfoMap.put("addGroup", groupsaddGroupInteractionInfo); + + Map groupsviewGroupCommandParams = new LinkedHashMap(); + + CommandParameterInfo groupsviewGroupgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + groupsviewGroupCommandParams.put("groupID",groupsviewGroupgroupIDCommandParameterInfo); + InteractionInfo groupsviewGroupInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GroupsCluster) cluster) + .viewGroup((ChipClusters.GroupsCluster.ViewGroupResponseCallback) callback + , (Integer) + commandArguments.get("groupID") + + ); + }, + () -> new DelegatedGroupsClusterViewGroupResponseCallback(), + groupsviewGroupCommandParams + ); + groupsClusterInteractionInfoMap.put("viewGroup", groupsviewGroupInteractionInfo); + + Map groupsgetGroupMembershipCommandParams = new LinkedHashMap(); + + CommandParameterInfo groupsgetGroupMembershipgroupListCommandParameterInfo = new CommandParameterInfo("groupList", ArrayList.class, ArrayList.class); + groupsgetGroupMembershipCommandParams.put("groupList",groupsgetGroupMembershipgroupListCommandParameterInfo); + InteractionInfo groupsgetGroupMembershipInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GroupsCluster) cluster) + .getGroupMembership((ChipClusters.GroupsCluster.GetGroupMembershipResponseCallback) callback + , (ArrayList) + commandArguments.get("groupList") + + ); + }, + () -> new DelegatedGroupsClusterGetGroupMembershipResponseCallback(), + groupsgetGroupMembershipCommandParams + ); + groupsClusterInteractionInfoMap.put("getGroupMembership", groupsgetGroupMembershipInteractionInfo); + + Map groupsremoveGroupCommandParams = new LinkedHashMap(); + + CommandParameterInfo groupsremoveGroupgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + groupsremoveGroupCommandParams.put("groupID",groupsremoveGroupgroupIDCommandParameterInfo); + InteractionInfo groupsremoveGroupInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GroupsCluster) cluster) + .removeGroup((ChipClusters.GroupsCluster.RemoveGroupResponseCallback) callback + , (Integer) + commandArguments.get("groupID") + + ); + }, + () -> new DelegatedGroupsClusterRemoveGroupResponseCallback(), + groupsremoveGroupCommandParams + ); + groupsClusterInteractionInfoMap.put("removeGroup", groupsremoveGroupInteractionInfo); + + Map groupsremoveAllGroupsCommandParams = new LinkedHashMap(); + InteractionInfo groupsremoveAllGroupsInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GroupsCluster) cluster) + .removeAllGroups((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + groupsremoveAllGroupsCommandParams + ); + groupsClusterInteractionInfoMap.put("removeAllGroups", groupsremoveAllGroupsInteractionInfo); + + Map groupsaddGroupIfIdentifyingCommandParams = new LinkedHashMap(); + + CommandParameterInfo groupsaddGroupIfIdentifyinggroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + groupsaddGroupIfIdentifyingCommandParams.put("groupID",groupsaddGroupIfIdentifyinggroupIDCommandParameterInfo); + + CommandParameterInfo groupsaddGroupIfIdentifyinggroupNameCommandParameterInfo = new CommandParameterInfo("groupName", String.class, String.class); + groupsaddGroupIfIdentifyingCommandParams.put("groupName",groupsaddGroupIfIdentifyinggroupNameCommandParameterInfo); + InteractionInfo groupsaddGroupIfIdentifyingInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GroupsCluster) cluster) + .addGroupIfIdentifying((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("groupID") + , (String) + commandArguments.get("groupName") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + groupsaddGroupIfIdentifyingCommandParams + ); + groupsClusterInteractionInfoMap.put("addGroupIfIdentifying", groupsaddGroupIfIdentifyingInteractionInfo); + + commandMap.put("groups", groupsClusterInteractionInfoMap); + + Map onOffClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map onOffoffCommandParams = new LinkedHashMap(); + InteractionInfo onOffoffInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OnOffCluster) cluster) + .off((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + onOffoffCommandParams + ); + onOffClusterInteractionInfoMap.put("off", onOffoffInteractionInfo); + + Map onOffonCommandParams = new LinkedHashMap(); + InteractionInfo onOffonInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OnOffCluster) cluster) + .on((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + onOffonCommandParams + ); + onOffClusterInteractionInfoMap.put("on", onOffonInteractionInfo); + + Map onOfftoggleCommandParams = new LinkedHashMap(); + InteractionInfo onOfftoggleInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OnOffCluster) cluster) + .toggle((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + onOfftoggleCommandParams + ); + onOffClusterInteractionInfoMap.put("toggle", onOfftoggleInteractionInfo); + + Map onOffoffWithEffectCommandParams = new LinkedHashMap(); + + CommandParameterInfo onOffoffWithEffecteffectIdentifierCommandParameterInfo = new CommandParameterInfo("effectIdentifier", Integer.class, Integer.class); + onOffoffWithEffectCommandParams.put("effectIdentifier",onOffoffWithEffecteffectIdentifierCommandParameterInfo); + + CommandParameterInfo onOffoffWithEffecteffectVariantCommandParameterInfo = new CommandParameterInfo("effectVariant", Integer.class, Integer.class); + onOffoffWithEffectCommandParams.put("effectVariant",onOffoffWithEffecteffectVariantCommandParameterInfo); + InteractionInfo onOffoffWithEffectInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OnOffCluster) cluster) + .offWithEffect((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("effectIdentifier") + , (Integer) + commandArguments.get("effectVariant") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + onOffoffWithEffectCommandParams + ); + onOffClusterInteractionInfoMap.put("offWithEffect", onOffoffWithEffectInteractionInfo); + + Map onOffonWithRecallGlobalSceneCommandParams = new LinkedHashMap(); + InteractionInfo onOffonWithRecallGlobalSceneInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OnOffCluster) cluster) + .onWithRecallGlobalScene((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + onOffonWithRecallGlobalSceneCommandParams + ); + onOffClusterInteractionInfoMap.put("onWithRecallGlobalScene", onOffonWithRecallGlobalSceneInteractionInfo); + + Map onOffonWithTimedOffCommandParams = new LinkedHashMap(); + + CommandParameterInfo onOffonWithTimedOffonOffControlCommandParameterInfo = new CommandParameterInfo("onOffControl", Integer.class, Integer.class); + onOffonWithTimedOffCommandParams.put("onOffControl",onOffonWithTimedOffonOffControlCommandParameterInfo); + + CommandParameterInfo onOffonWithTimedOffonTimeCommandParameterInfo = new CommandParameterInfo("onTime", Integer.class, Integer.class); + onOffonWithTimedOffCommandParams.put("onTime",onOffonWithTimedOffonTimeCommandParameterInfo); + + CommandParameterInfo onOffonWithTimedOffoffWaitTimeCommandParameterInfo = new CommandParameterInfo("offWaitTime", Integer.class, Integer.class); + onOffonWithTimedOffCommandParams.put("offWaitTime",onOffonWithTimedOffoffWaitTimeCommandParameterInfo); + InteractionInfo onOffonWithTimedOffInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OnOffCluster) cluster) + .onWithTimedOff((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("onOffControl") + , (Integer) + commandArguments.get("onTime") + , (Integer) + commandArguments.get("offWaitTime") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + onOffonWithTimedOffCommandParams + ); + onOffClusterInteractionInfoMap.put("onWithTimedOff", onOffonWithTimedOffInteractionInfo); + + commandMap.put("onOff", onOffClusterInteractionInfoMap); + + Map onOffSwitchConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("onOffSwitchConfiguration", onOffSwitchConfigurationClusterInteractionInfoMap); + + Map levelControlClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map levelControlmoveToLevelCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlmoveToLevellevelCommandParameterInfo = new CommandParameterInfo("level", Integer.class, Integer.class); + levelControlmoveToLevelCommandParams.put("level",levelControlmoveToLevellevelCommandParameterInfo); + + CommandParameterInfo levelControlmoveToLeveltransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + levelControlmoveToLevelCommandParams.put("transitionTime",levelControlmoveToLeveltransitionTimeCommandParameterInfo); + + CommandParameterInfo levelControlmoveToLeveloptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlmoveToLevelCommandParams.put("optionsMask",levelControlmoveToLeveloptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlmoveToLeveloptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlmoveToLevelCommandParams.put("optionsOverride",levelControlmoveToLeveloptionsOverrideCommandParameterInfo); + InteractionInfo levelControlmoveToLevelInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .moveToLevel((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("level") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlmoveToLevelCommandParams + ); + levelControlClusterInteractionInfoMap.put("moveToLevel", levelControlmoveToLevelInteractionInfo); + + Map levelControlmoveCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlmovemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); + levelControlmoveCommandParams.put("moveMode",levelControlmovemoveModeCommandParameterInfo); + + CommandParameterInfo levelControlmoverateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); + levelControlmoveCommandParams.put("rate",levelControlmoverateCommandParameterInfo); + + CommandParameterInfo levelControlmoveoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlmoveCommandParams.put("optionsMask",levelControlmoveoptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlmoveoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlmoveCommandParams.put("optionsOverride",levelControlmoveoptionsOverrideCommandParameterInfo); + InteractionInfo levelControlmoveInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .move((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("moveMode") + , (Integer) + commandArguments.get("rate") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlmoveCommandParams + ); + levelControlClusterInteractionInfoMap.put("move", levelControlmoveInteractionInfo); + + Map levelControlstepCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlstepstepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); + levelControlstepCommandParams.put("stepMode",levelControlstepstepModeCommandParameterInfo); + + CommandParameterInfo levelControlstepstepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); + levelControlstepCommandParams.put("stepSize",levelControlstepstepSizeCommandParameterInfo); + + CommandParameterInfo levelControlsteptransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + levelControlstepCommandParams.put("transitionTime",levelControlsteptransitionTimeCommandParameterInfo); + + CommandParameterInfo levelControlstepoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlstepCommandParams.put("optionsMask",levelControlstepoptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlstepoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlstepCommandParams.put("optionsOverride",levelControlstepoptionsOverrideCommandParameterInfo); + InteractionInfo levelControlstepInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .step((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("stepMode") + , (Integer) + commandArguments.get("stepSize") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlstepCommandParams + ); + levelControlClusterInteractionInfoMap.put("step", levelControlstepInteractionInfo); + + Map levelControlstopCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlstopoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlstopCommandParams.put("optionsMask",levelControlstopoptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlstopoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlstopCommandParams.put("optionsOverride",levelControlstopoptionsOverrideCommandParameterInfo); + InteractionInfo levelControlstopInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .stop((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlstopCommandParams + ); + levelControlClusterInteractionInfoMap.put("stop", levelControlstopInteractionInfo); + + Map levelControlmoveToLevelWithOnOffCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlmoveToLevelWithOnOfflevelCommandParameterInfo = new CommandParameterInfo("level", Integer.class, Integer.class); + levelControlmoveToLevelWithOnOffCommandParams.put("level",levelControlmoveToLevelWithOnOfflevelCommandParameterInfo); + + CommandParameterInfo levelControlmoveToLevelWithOnOfftransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + levelControlmoveToLevelWithOnOffCommandParams.put("transitionTime",levelControlmoveToLevelWithOnOfftransitionTimeCommandParameterInfo); + + CommandParameterInfo levelControlmoveToLevelWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlmoveToLevelWithOnOffCommandParams.put("optionsMask",levelControlmoveToLevelWithOnOffoptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlmoveToLevelWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlmoveToLevelWithOnOffCommandParams.put("optionsOverride",levelControlmoveToLevelWithOnOffoptionsOverrideCommandParameterInfo); + InteractionInfo levelControlmoveToLevelWithOnOffInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .moveToLevelWithOnOff((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("level") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlmoveToLevelWithOnOffCommandParams + ); + levelControlClusterInteractionInfoMap.put("moveToLevelWithOnOff", levelControlmoveToLevelWithOnOffInteractionInfo); + + Map levelControlmoveWithOnOffCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlmoveWithOnOffmoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); + levelControlmoveWithOnOffCommandParams.put("moveMode",levelControlmoveWithOnOffmoveModeCommandParameterInfo); + + CommandParameterInfo levelControlmoveWithOnOffrateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); + levelControlmoveWithOnOffCommandParams.put("rate",levelControlmoveWithOnOffrateCommandParameterInfo); + + CommandParameterInfo levelControlmoveWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlmoveWithOnOffCommandParams.put("optionsMask",levelControlmoveWithOnOffoptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlmoveWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlmoveWithOnOffCommandParams.put("optionsOverride",levelControlmoveWithOnOffoptionsOverrideCommandParameterInfo); + InteractionInfo levelControlmoveWithOnOffInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .moveWithOnOff((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("moveMode") + , (Integer) + commandArguments.get("rate") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlmoveWithOnOffCommandParams + ); + levelControlClusterInteractionInfoMap.put("moveWithOnOff", levelControlmoveWithOnOffInteractionInfo); + + Map levelControlstepWithOnOffCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlstepWithOnOffstepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); + levelControlstepWithOnOffCommandParams.put("stepMode",levelControlstepWithOnOffstepModeCommandParameterInfo); + + CommandParameterInfo levelControlstepWithOnOffstepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); + levelControlstepWithOnOffCommandParams.put("stepSize",levelControlstepWithOnOffstepSizeCommandParameterInfo); + + CommandParameterInfo levelControlstepWithOnOfftransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + levelControlstepWithOnOffCommandParams.put("transitionTime",levelControlstepWithOnOfftransitionTimeCommandParameterInfo); + + CommandParameterInfo levelControlstepWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlstepWithOnOffCommandParams.put("optionsMask",levelControlstepWithOnOffoptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlstepWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlstepWithOnOffCommandParams.put("optionsOverride",levelControlstepWithOnOffoptionsOverrideCommandParameterInfo); + InteractionInfo levelControlstepWithOnOffInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .stepWithOnOff((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("stepMode") + , (Integer) + commandArguments.get("stepSize") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlstepWithOnOffCommandParams + ); + levelControlClusterInteractionInfoMap.put("stepWithOnOff", levelControlstepWithOnOffInteractionInfo); + + Map levelControlstopWithOnOffCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlstopWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + levelControlstopWithOnOffCommandParams.put("optionsMask",levelControlstopWithOnOffoptionsMaskCommandParameterInfo); + + CommandParameterInfo levelControlstopWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + levelControlstopWithOnOffCommandParams.put("optionsOverride",levelControlstopWithOnOffoptionsOverrideCommandParameterInfo); + InteractionInfo levelControlstopWithOnOffInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .stopWithOnOff((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlstopWithOnOffCommandParams + ); + levelControlClusterInteractionInfoMap.put("stopWithOnOff", levelControlstopWithOnOffInteractionInfo); + + Map levelControlmoveToClosestFrequencyCommandParams = new LinkedHashMap(); + + CommandParameterInfo levelControlmoveToClosestFrequencyfrequencyCommandParameterInfo = new CommandParameterInfo("frequency", Integer.class, Integer.class); + levelControlmoveToClosestFrequencyCommandParams.put("frequency",levelControlmoveToClosestFrequencyfrequencyCommandParameterInfo); + InteractionInfo levelControlmoveToClosestFrequencyInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LevelControlCluster) cluster) + .moveToClosestFrequency((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("frequency") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + levelControlmoveToClosestFrequencyCommandParams + ); + levelControlClusterInteractionInfoMap.put("moveToClosestFrequency", levelControlmoveToClosestFrequencyInteractionInfo); + + commandMap.put("levelControl", levelControlClusterInteractionInfoMap); + + Map binaryInputBasicClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("binaryInputBasic", binaryInputBasicClusterInteractionInfoMap); + + Map pulseWidthModulationClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("pulseWidthModulation", pulseWidthModulationClusterInteractionInfoMap); + + Map descriptorClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("descriptor", descriptorClusterInteractionInfoMap); + + Map bindingClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("binding", bindingClusterInteractionInfoMap); + + Map accessControlClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map accessControlreviewFabricRestrictionsCommandParams = new LinkedHashMap(); + + InteractionInfo accessControlreviewFabricRestrictionsInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.AccessControlCluster) cluster) + .reviewFabricRestrictions((ChipClusters.AccessControlCluster.ReviewFabricRestrictionsResponseCallback) callback + , (ArrayList) + commandArguments.get("arl") + + ); + }, + () -> new DelegatedAccessControlClusterReviewFabricRestrictionsResponseCallback(), + accessControlreviewFabricRestrictionsCommandParams + ); + accessControlClusterInteractionInfoMap.put("reviewFabricRestrictions", accessControlreviewFabricRestrictionsInteractionInfo); + + commandMap.put("accessControl", accessControlClusterInteractionInfoMap); + + Map actionsClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map actionsinstantActionCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsinstantActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsinstantActionCommandParams.put("actionID",actionsinstantActionactionIDCommandParameterInfo); + + CommandParameterInfo actionsinstantActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsinstantActionCommandParams.put("invokeID",actionsinstantActioninvokeIDCommandParameterInfo); + InteractionInfo actionsinstantActionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .instantAction((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsinstantActionCommandParams + ); + actionsClusterInteractionInfoMap.put("instantAction", actionsinstantActionInteractionInfo); + + Map actionsinstantActionWithTransitionCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsinstantActionWithTransitionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsinstantActionWithTransitionCommandParams.put("actionID",actionsinstantActionWithTransitionactionIDCommandParameterInfo); + + CommandParameterInfo actionsinstantActionWithTransitioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsinstantActionWithTransitionCommandParams.put("invokeID",actionsinstantActionWithTransitioninvokeIDCommandParameterInfo); + + CommandParameterInfo actionsinstantActionWithTransitiontransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + actionsinstantActionWithTransitionCommandParams.put("transitionTime",actionsinstantActionWithTransitiontransitionTimeCommandParameterInfo); + InteractionInfo actionsinstantActionWithTransitionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .instantActionWithTransition((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + , (Integer) + commandArguments.get("transitionTime") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsinstantActionWithTransitionCommandParams + ); + actionsClusterInteractionInfoMap.put("instantActionWithTransition", actionsinstantActionWithTransitionInteractionInfo); + + Map actionsstartActionCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsstartActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsstartActionCommandParams.put("actionID",actionsstartActionactionIDCommandParameterInfo); + + CommandParameterInfo actionsstartActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsstartActionCommandParams.put("invokeID",actionsstartActioninvokeIDCommandParameterInfo); + InteractionInfo actionsstartActionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .startAction((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsstartActionCommandParams + ); + actionsClusterInteractionInfoMap.put("startAction", actionsstartActionInteractionInfo); + + Map actionsstartActionWithDurationCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsstartActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsstartActionWithDurationCommandParams.put("actionID",actionsstartActionWithDurationactionIDCommandParameterInfo); + + CommandParameterInfo actionsstartActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsstartActionWithDurationCommandParams.put("invokeID",actionsstartActionWithDurationinvokeIDCommandParameterInfo); + + CommandParameterInfo actionsstartActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); + actionsstartActionWithDurationCommandParams.put("duration",actionsstartActionWithDurationdurationCommandParameterInfo); + InteractionInfo actionsstartActionWithDurationInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .startActionWithDuration((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + , (Long) + commandArguments.get("duration") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsstartActionWithDurationCommandParams + ); + actionsClusterInteractionInfoMap.put("startActionWithDuration", actionsstartActionWithDurationInteractionInfo); + + Map actionsstopActionCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsstopActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsstopActionCommandParams.put("actionID",actionsstopActionactionIDCommandParameterInfo); + + CommandParameterInfo actionsstopActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsstopActionCommandParams.put("invokeID",actionsstopActioninvokeIDCommandParameterInfo); + InteractionInfo actionsstopActionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .stopAction((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsstopActionCommandParams + ); + actionsClusterInteractionInfoMap.put("stopAction", actionsstopActionInteractionInfo); + + Map actionspauseActionCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionspauseActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionspauseActionCommandParams.put("actionID",actionspauseActionactionIDCommandParameterInfo); + + CommandParameterInfo actionspauseActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionspauseActionCommandParams.put("invokeID",actionspauseActioninvokeIDCommandParameterInfo); + InteractionInfo actionspauseActionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .pauseAction((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionspauseActionCommandParams + ); + actionsClusterInteractionInfoMap.put("pauseAction", actionspauseActionInteractionInfo); + + Map actionspauseActionWithDurationCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionspauseActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionspauseActionWithDurationCommandParams.put("actionID",actionspauseActionWithDurationactionIDCommandParameterInfo); + + CommandParameterInfo actionspauseActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionspauseActionWithDurationCommandParams.put("invokeID",actionspauseActionWithDurationinvokeIDCommandParameterInfo); + + CommandParameterInfo actionspauseActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); + actionspauseActionWithDurationCommandParams.put("duration",actionspauseActionWithDurationdurationCommandParameterInfo); + InteractionInfo actionspauseActionWithDurationInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .pauseActionWithDuration((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + , (Long) + commandArguments.get("duration") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionspauseActionWithDurationCommandParams + ); + actionsClusterInteractionInfoMap.put("pauseActionWithDuration", actionspauseActionWithDurationInteractionInfo); + + Map actionsresumeActionCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsresumeActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsresumeActionCommandParams.put("actionID",actionsresumeActionactionIDCommandParameterInfo); + + CommandParameterInfo actionsresumeActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsresumeActionCommandParams.put("invokeID",actionsresumeActioninvokeIDCommandParameterInfo); + InteractionInfo actionsresumeActionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .resumeAction((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsresumeActionCommandParams + ); + actionsClusterInteractionInfoMap.put("resumeAction", actionsresumeActionInteractionInfo); + + Map actionsenableActionCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsenableActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsenableActionCommandParams.put("actionID",actionsenableActionactionIDCommandParameterInfo); + + CommandParameterInfo actionsenableActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsenableActionCommandParams.put("invokeID",actionsenableActioninvokeIDCommandParameterInfo); + InteractionInfo actionsenableActionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .enableAction((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsenableActionCommandParams + ); + actionsClusterInteractionInfoMap.put("enableAction", actionsenableActionInteractionInfo); + + Map actionsenableActionWithDurationCommandParams = new LinkedHashMap(); + + CommandParameterInfo actionsenableActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsenableActionWithDurationCommandParams.put("actionID",actionsenableActionWithDurationactionIDCommandParameterInfo); + + CommandParameterInfo actionsenableActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsenableActionWithDurationCommandParams.put("invokeID",actionsenableActionWithDurationinvokeIDCommandParameterInfo); + + CommandParameterInfo actionsenableActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); + actionsenableActionWithDurationCommandParams.put("duration",actionsenableActionWithDurationdurationCommandParameterInfo); + InteractionInfo actionsenableActionWithDurationInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActionsCluster) cluster) + .enableActionWithDuration((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + , (Long) + commandArguments.get("duration") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + actionsenableActionWithDurationCommandParams + ); + actionsClusterInteractionInfoMap.put("enableActionWithDuration", actionsenableActionWithDurationInteractionInfo); - Map identifyClusterInteractionInfoMap = new LinkedHashMap<>(); + Map actionsdisableActionCommandParams = new LinkedHashMap(); - Map identifyidentifyCommandParams = new LinkedHashMap(); + CommandParameterInfo actionsdisableActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsdisableActionCommandParams.put("actionID",actionsdisableActionactionIDCommandParameterInfo); - CommandParameterInfo identifyidentifyidentifyTimeCommandParameterInfo = new CommandParameterInfo("identifyTime", Integer.class, Integer.class); - identifyidentifyCommandParams.put("identifyTime",identifyidentifyidentifyTimeCommandParameterInfo); - InteractionInfo identifyidentifyInteractionInfo = new InteractionInfo( + CommandParameterInfo actionsdisableActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsdisableActionCommandParams.put("invokeID",actionsdisableActioninvokeIDCommandParameterInfo); + InteractionInfo actionsdisableActionInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.IdentifyCluster) cluster) - .identify((DefaultClusterCallback) callback + ((ChipClusters.ActionsCluster) cluster) + .disableAction((DefaultClusterCallback) callback , (Integer) - commandArguments.get("identifyTime") + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") ); }, () -> new DelegatedDefaultClusterCallback(), - identifyidentifyCommandParams + actionsdisableActionCommandParams ); - identifyClusterInteractionInfoMap.put("identify", identifyidentifyInteractionInfo); + actionsClusterInteractionInfoMap.put("disableAction", actionsdisableActionInteractionInfo); - Map identifytriggerEffectCommandParams = new LinkedHashMap(); + Map actionsdisableActionWithDurationCommandParams = new LinkedHashMap(); - CommandParameterInfo identifytriggerEffecteffectIdentifierCommandParameterInfo = new CommandParameterInfo("effectIdentifier", Integer.class, Integer.class); - identifytriggerEffectCommandParams.put("effectIdentifier",identifytriggerEffecteffectIdentifierCommandParameterInfo); + CommandParameterInfo actionsdisableActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); + actionsdisableActionWithDurationCommandParams.put("actionID",actionsdisableActionWithDurationactionIDCommandParameterInfo); - CommandParameterInfo identifytriggerEffecteffectVariantCommandParameterInfo = new CommandParameterInfo("effectVariant", Integer.class, Integer.class); - identifytriggerEffectCommandParams.put("effectVariant",identifytriggerEffecteffectVariantCommandParameterInfo); - InteractionInfo identifytriggerEffectInteractionInfo = new InteractionInfo( + CommandParameterInfo actionsdisableActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); + actionsdisableActionWithDurationCommandParams.put("invokeID",actionsdisableActionWithDurationinvokeIDCommandParameterInfo); + + CommandParameterInfo actionsdisableActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); + actionsdisableActionWithDurationCommandParams.put("duration",actionsdisableActionWithDurationdurationCommandParameterInfo); + InteractionInfo actionsdisableActionWithDurationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.IdentifyCluster) cluster) - .triggerEffect((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("effectIdentifier") + ((ChipClusters.ActionsCluster) cluster) + .disableActionWithDuration((DefaultClusterCallback) callback , (Integer) - commandArguments.get("effectVariant") + commandArguments.get("actionID") + , (Optional) + commandArguments.get("invokeID") + , (Long) + commandArguments.get("duration") ); }, () -> new DelegatedDefaultClusterCallback(), - identifytriggerEffectCommandParams + actionsdisableActionWithDurationCommandParams ); - identifyClusterInteractionInfoMap.put("triggerEffect", identifytriggerEffectInteractionInfo); + actionsClusterInteractionInfoMap.put("disableActionWithDuration", actionsdisableActionWithDurationInteractionInfo); - commandMap.put("identify", identifyClusterInteractionInfoMap); + commandMap.put("actions", actionsClusterInteractionInfoMap); - Map groupsClusterInteractionInfoMap = new LinkedHashMap<>(); + Map basicInformationClusterInteractionInfoMap = new LinkedHashMap<>(); - Map groupsaddGroupCommandParams = new LinkedHashMap(); + Map basicInformationmfgSpecificPingCommandParams = new LinkedHashMap(); + InteractionInfo basicInformationmfgSpecificPingInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.BasicInformationCluster) cluster) + .mfgSpecificPing((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + basicInformationmfgSpecificPingCommandParams + ); + basicInformationClusterInteractionInfoMap.put("mfgSpecificPing", basicInformationmfgSpecificPingInteractionInfo); - CommandParameterInfo groupsaddGroupgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - groupsaddGroupCommandParams.put("groupID",groupsaddGroupgroupIDCommandParameterInfo); + commandMap.put("basicInformation", basicInformationClusterInteractionInfoMap); - CommandParameterInfo groupsaddGroupgroupNameCommandParameterInfo = new CommandParameterInfo("groupName", String.class, String.class); - groupsaddGroupCommandParams.put("groupName",groupsaddGroupgroupNameCommandParameterInfo); - InteractionInfo groupsaddGroupInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupsCluster) cluster) - .addGroup((ChipClusters.GroupsCluster.AddGroupResponseCallback) callback - , (Integer) - commandArguments.get("groupID") + Map otaSoftwareUpdateProviderClusterInteractionInfoMap = new LinkedHashMap<>(); - , (String) - commandArguments.get("groupName") + Map otaSoftwareUpdateProviderqueryImageCommandParams = new LinkedHashMap(); - ); - }, - () -> new DelegatedGroupsClusterAddGroupResponseCallback(), - groupsaddGroupCommandParams - ); - groupsClusterInteractionInfoMap.put("addGroup", groupsaddGroupInteractionInfo); + CommandParameterInfo otaSoftwareUpdateProviderqueryImagevendorIDCommandParameterInfo = new CommandParameterInfo("vendorID", Integer.class, Integer.class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("vendorID",otaSoftwareUpdateProviderqueryImagevendorIDCommandParameterInfo); - Map groupsviewGroupCommandParams = new LinkedHashMap(); + CommandParameterInfo otaSoftwareUpdateProviderqueryImageproductIDCommandParameterInfo = new CommandParameterInfo("productID", Integer.class, Integer.class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("productID",otaSoftwareUpdateProviderqueryImageproductIDCommandParameterInfo); - CommandParameterInfo groupsviewGroupgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - groupsviewGroupCommandParams.put("groupID",groupsviewGroupgroupIDCommandParameterInfo); - InteractionInfo groupsviewGroupInteractionInfo = new InteractionInfo( + CommandParameterInfo otaSoftwareUpdateProviderqueryImagesoftwareVersionCommandParameterInfo = new CommandParameterInfo("softwareVersion", Long.class, Long.class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("softwareVersion",otaSoftwareUpdateProviderqueryImagesoftwareVersionCommandParameterInfo); + + CommandParameterInfo otaSoftwareUpdateProviderqueryImageprotocolsSupportedCommandParameterInfo = new CommandParameterInfo("protocolsSupported", ArrayList.class, ArrayList.class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("protocolsSupported",otaSoftwareUpdateProviderqueryImageprotocolsSupportedCommandParameterInfo); + + CommandParameterInfo otaSoftwareUpdateProviderqueryImagehardwareVersionCommandParameterInfo = new CommandParameterInfo("hardwareVersion", Optional.class, Integer.class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("hardwareVersion",otaSoftwareUpdateProviderqueryImagehardwareVersionCommandParameterInfo); + + CommandParameterInfo otaSoftwareUpdateProviderqueryImagelocationCommandParameterInfo = new CommandParameterInfo("location", Optional.class, String.class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("location",otaSoftwareUpdateProviderqueryImagelocationCommandParameterInfo); + + CommandParameterInfo otaSoftwareUpdateProviderqueryImagerequestorCanConsentCommandParameterInfo = new CommandParameterInfo("requestorCanConsent", Optional.class, Boolean.class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("requestorCanConsent",otaSoftwareUpdateProviderqueryImagerequestorCanConsentCommandParameterInfo); + + CommandParameterInfo otaSoftwareUpdateProviderqueryImagemetadataForProviderCommandParameterInfo = new CommandParameterInfo("metadataForProvider", Optional.class, byte[].class); + otaSoftwareUpdateProviderqueryImageCommandParams.put("metadataForProvider",otaSoftwareUpdateProviderqueryImagemetadataForProviderCommandParameterInfo); + InteractionInfo otaSoftwareUpdateProviderqueryImageInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupsCluster) cluster) - .viewGroup((ChipClusters.GroupsCluster.ViewGroupResponseCallback) callback + ((ChipClusters.OtaSoftwareUpdateProviderCluster) cluster) + .queryImage((ChipClusters.OtaSoftwareUpdateProviderCluster.QueryImageResponseCallback) callback , (Integer) - commandArguments.get("groupID") + commandArguments.get("vendorID") - ); - }, - () -> new DelegatedGroupsClusterViewGroupResponseCallback(), - groupsviewGroupCommandParams - ); - groupsClusterInteractionInfoMap.put("viewGroup", groupsviewGroupInteractionInfo); + , (Integer) + commandArguments.get("productID") - Map groupsgetGroupMembershipCommandParams = new LinkedHashMap(); + , (Long) + commandArguments.get("softwareVersion") - CommandParameterInfo groupsgetGroupMembershipgroupListCommandParameterInfo = new CommandParameterInfo("groupList", ArrayList.class, ArrayList.class); - groupsgetGroupMembershipCommandParams.put("groupList",groupsgetGroupMembershipgroupListCommandParameterInfo); - InteractionInfo groupsgetGroupMembershipInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupsCluster) cluster) - .getGroupMembership((ChipClusters.GroupsCluster.GetGroupMembershipResponseCallback) callback , (ArrayList) - commandArguments.get("groupList") + commandArguments.get("protocolsSupported") - ); - }, - () -> new DelegatedGroupsClusterGetGroupMembershipResponseCallback(), - groupsgetGroupMembershipCommandParams - ); - groupsClusterInteractionInfoMap.put("getGroupMembership", groupsgetGroupMembershipInteractionInfo); + , (Optional) + commandArguments.get("hardwareVersion") - Map groupsremoveGroupCommandParams = new LinkedHashMap(); + , (Optional) + commandArguments.get("location") - CommandParameterInfo groupsremoveGroupgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - groupsremoveGroupCommandParams.put("groupID",groupsremoveGroupgroupIDCommandParameterInfo); - InteractionInfo groupsremoveGroupInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupsCluster) cluster) - .removeGroup((ChipClusters.GroupsCluster.RemoveGroupResponseCallback) callback - , (Integer) - commandArguments.get("groupID") + , (Optional) + commandArguments.get("requestorCanConsent") + + , (Optional) + commandArguments.get("metadataForProvider") ); }, - () -> new DelegatedGroupsClusterRemoveGroupResponseCallback(), - groupsremoveGroupCommandParams + () -> new DelegatedOtaSoftwareUpdateProviderClusterQueryImageResponseCallback(), + otaSoftwareUpdateProviderqueryImageCommandParams ); - groupsClusterInteractionInfoMap.put("removeGroup", groupsremoveGroupInteractionInfo); - - Map groupsremoveAllGroupsCommandParams = new LinkedHashMap(); - InteractionInfo groupsremoveAllGroupsInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupsCluster) cluster) - .removeAllGroups((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - groupsremoveAllGroupsCommandParams - ); - groupsClusterInteractionInfoMap.put("removeAllGroups", groupsremoveAllGroupsInteractionInfo); + otaSoftwareUpdateProviderClusterInteractionInfoMap.put("queryImage", otaSoftwareUpdateProviderqueryImageInteractionInfo); - Map groupsaddGroupIfIdentifyingCommandParams = new LinkedHashMap(); + Map otaSoftwareUpdateProviderapplyUpdateRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo groupsaddGroupIfIdentifyinggroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - groupsaddGroupIfIdentifyingCommandParams.put("groupID",groupsaddGroupIfIdentifyinggroupIDCommandParameterInfo); + CommandParameterInfo otaSoftwareUpdateProviderapplyUpdateRequestupdateTokenCommandParameterInfo = new CommandParameterInfo("updateToken", byte[].class, byte[].class); + otaSoftwareUpdateProviderapplyUpdateRequestCommandParams.put("updateToken",otaSoftwareUpdateProviderapplyUpdateRequestupdateTokenCommandParameterInfo); - CommandParameterInfo groupsaddGroupIfIdentifyinggroupNameCommandParameterInfo = new CommandParameterInfo("groupName", String.class, String.class); - groupsaddGroupIfIdentifyingCommandParams.put("groupName",groupsaddGroupIfIdentifyinggroupNameCommandParameterInfo); - InteractionInfo groupsaddGroupIfIdentifyingInteractionInfo = new InteractionInfo( + CommandParameterInfo otaSoftwareUpdateProviderapplyUpdateRequestnewVersionCommandParameterInfo = new CommandParameterInfo("newVersion", Long.class, Long.class); + otaSoftwareUpdateProviderapplyUpdateRequestCommandParams.put("newVersion",otaSoftwareUpdateProviderapplyUpdateRequestnewVersionCommandParameterInfo); + InteractionInfo otaSoftwareUpdateProviderapplyUpdateRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupsCluster) cluster) - .addGroupIfIdentifying((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("groupID") - , (String) - commandArguments.get("groupName") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - groupsaddGroupIfIdentifyingCommandParams - ); - groupsClusterInteractionInfoMap.put("addGroupIfIdentifying", groupsaddGroupIfIdentifyingInteractionInfo); + ((ChipClusters.OtaSoftwareUpdateProviderCluster) cluster) + .applyUpdateRequest((ChipClusters.OtaSoftwareUpdateProviderCluster.ApplyUpdateResponseCallback) callback + , (byte[]) + commandArguments.get("updateToken") - commandMap.put("groups", groupsClusterInteractionInfoMap); + , (Long) + commandArguments.get("newVersion") - Map onOffClusterInteractionInfoMap = new LinkedHashMap<>(); + ); + }, + () -> new DelegatedOtaSoftwareUpdateProviderClusterApplyUpdateResponseCallback(), + otaSoftwareUpdateProviderapplyUpdateRequestCommandParams + ); + otaSoftwareUpdateProviderClusterInteractionInfoMap.put("applyUpdateRequest", otaSoftwareUpdateProviderapplyUpdateRequestInteractionInfo); - Map onOffoffCommandParams = new LinkedHashMap(); - InteractionInfo onOffoffInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OnOffCluster) cluster) - .off((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - onOffoffCommandParams - ); - onOffClusterInteractionInfoMap.put("off", onOffoffInteractionInfo); + Map otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams = new LinkedHashMap(); - Map onOffonCommandParams = new LinkedHashMap(); - InteractionInfo onOffonInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OnOffCluster) cluster) - .on((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - onOffonCommandParams - ); - onOffClusterInteractionInfoMap.put("on", onOffonInteractionInfo); + CommandParameterInfo otaSoftwareUpdateProvidernotifyUpdateAppliedupdateTokenCommandParameterInfo = new CommandParameterInfo("updateToken", byte[].class, byte[].class); + otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams.put("updateToken",otaSoftwareUpdateProvidernotifyUpdateAppliedupdateTokenCommandParameterInfo); - Map onOfftoggleCommandParams = new LinkedHashMap(); - InteractionInfo onOfftoggleInteractionInfo = new InteractionInfo( + CommandParameterInfo otaSoftwareUpdateProvidernotifyUpdateAppliedsoftwareVersionCommandParameterInfo = new CommandParameterInfo("softwareVersion", Long.class, Long.class); + otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams.put("softwareVersion",otaSoftwareUpdateProvidernotifyUpdateAppliedsoftwareVersionCommandParameterInfo); + InteractionInfo otaSoftwareUpdateProvidernotifyUpdateAppliedInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OnOffCluster) cluster) - .toggle((DefaultClusterCallback) callback + ((ChipClusters.OtaSoftwareUpdateProviderCluster) cluster) + .notifyUpdateApplied((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("updateToken") + , (Long) + commandArguments.get("softwareVersion") ); }, () -> new DelegatedDefaultClusterCallback(), - onOfftoggleCommandParams + otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams ); - onOffClusterInteractionInfoMap.put("toggle", onOfftoggleInteractionInfo); + otaSoftwareUpdateProviderClusterInteractionInfoMap.put("notifyUpdateApplied", otaSoftwareUpdateProvidernotifyUpdateAppliedInteractionInfo); - Map onOffoffWithEffectCommandParams = new LinkedHashMap(); + commandMap.put("otaSoftwareUpdateProvider", otaSoftwareUpdateProviderClusterInteractionInfoMap); - CommandParameterInfo onOffoffWithEffecteffectIdentifierCommandParameterInfo = new CommandParameterInfo("effectIdentifier", Integer.class, Integer.class); - onOffoffWithEffectCommandParams.put("effectIdentifier",onOffoffWithEffecteffectIdentifierCommandParameterInfo); + Map otaSoftwareUpdateRequestorClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo onOffoffWithEffecteffectVariantCommandParameterInfo = new CommandParameterInfo("effectVariant", Integer.class, Integer.class); - onOffoffWithEffectCommandParams.put("effectVariant",onOffoffWithEffecteffectVariantCommandParameterInfo); - InteractionInfo onOffoffWithEffectInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OnOffCluster) cluster) - .offWithEffect((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("effectIdentifier") - , (Integer) - commandArguments.get("effectVariant") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - onOffoffWithEffectCommandParams - ); - onOffClusterInteractionInfoMap.put("offWithEffect", onOffoffWithEffectInteractionInfo); + Map otaSoftwareUpdateRequestorannounceOTAProviderCommandParams = new LinkedHashMap(); - Map onOffonWithRecallGlobalSceneCommandParams = new LinkedHashMap(); - InteractionInfo onOffonWithRecallGlobalSceneInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OnOffCluster) cluster) - .onWithRecallGlobalScene((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - onOffonWithRecallGlobalSceneCommandParams - ); - onOffClusterInteractionInfoMap.put("onWithRecallGlobalScene", onOffonWithRecallGlobalSceneInteractionInfo); + CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProviderproviderNodeIDCommandParameterInfo = new CommandParameterInfo("providerNodeID", Long.class, Long.class); + otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("providerNodeID",otaSoftwareUpdateRequestorannounceOTAProviderproviderNodeIDCommandParameterInfo); - Map onOffonWithTimedOffCommandParams = new LinkedHashMap(); + CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProvidervendorIDCommandParameterInfo = new CommandParameterInfo("vendorID", Integer.class, Integer.class); + otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("vendorID",otaSoftwareUpdateRequestorannounceOTAProvidervendorIDCommandParameterInfo); - CommandParameterInfo onOffonWithTimedOffonOffControlCommandParameterInfo = new CommandParameterInfo("onOffControl", Integer.class, Integer.class); - onOffonWithTimedOffCommandParams.put("onOffControl",onOffonWithTimedOffonOffControlCommandParameterInfo); + CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProviderannouncementReasonCommandParameterInfo = new CommandParameterInfo("announcementReason", Integer.class, Integer.class); + otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("announcementReason",otaSoftwareUpdateRequestorannounceOTAProviderannouncementReasonCommandParameterInfo); - CommandParameterInfo onOffonWithTimedOffonTimeCommandParameterInfo = new CommandParameterInfo("onTime", Integer.class, Integer.class); - onOffonWithTimedOffCommandParams.put("onTime",onOffonWithTimedOffonTimeCommandParameterInfo); + CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProvidermetadataForNodeCommandParameterInfo = new CommandParameterInfo("metadataForNode", Optional.class, byte[].class); + otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("metadataForNode",otaSoftwareUpdateRequestorannounceOTAProvidermetadataForNodeCommandParameterInfo); - CommandParameterInfo onOffonWithTimedOffoffWaitTimeCommandParameterInfo = new CommandParameterInfo("offWaitTime", Integer.class, Integer.class); - onOffonWithTimedOffCommandParams.put("offWaitTime",onOffonWithTimedOffoffWaitTimeCommandParameterInfo); - InteractionInfo onOffonWithTimedOffInteractionInfo = new InteractionInfo( + CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProviderendpointCommandParameterInfo = new CommandParameterInfo("endpoint", Integer.class, Integer.class); + otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("endpoint",otaSoftwareUpdateRequestorannounceOTAProviderendpointCommandParameterInfo); + InteractionInfo otaSoftwareUpdateRequestorannounceOTAProviderInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OnOffCluster) cluster) - .onWithTimedOff((DefaultClusterCallback) callback + ((ChipClusters.OtaSoftwareUpdateRequestorCluster) cluster) + .announceOTAProvider((DefaultClusterCallback) callback + , (Long) + commandArguments.get("providerNodeID") , (Integer) - commandArguments.get("onOffControl") + commandArguments.get("vendorID") , (Integer) - commandArguments.get("onTime") + commandArguments.get("announcementReason") + , (Optional) + commandArguments.get("metadataForNode") , (Integer) - commandArguments.get("offWaitTime") + commandArguments.get("endpoint") ); }, () -> new DelegatedDefaultClusterCallback(), - onOffonWithTimedOffCommandParams + otaSoftwareUpdateRequestorannounceOTAProviderCommandParams ); - onOffClusterInteractionInfoMap.put("onWithTimedOff", onOffonWithTimedOffInteractionInfo); + otaSoftwareUpdateRequestorClusterInteractionInfoMap.put("announceOTAProvider", otaSoftwareUpdateRequestorannounceOTAProviderInteractionInfo); - commandMap.put("onOff", onOffClusterInteractionInfoMap); + commandMap.put("otaSoftwareUpdateRequestor", otaSoftwareUpdateRequestorClusterInteractionInfoMap); - Map onOffSwitchConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); + Map localizationConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("onOffSwitchConfiguration", onOffSwitchConfigurationClusterInteractionInfoMap); + commandMap.put("localizationConfiguration", localizationConfigurationClusterInteractionInfoMap); - Map levelControlClusterInteractionInfoMap = new LinkedHashMap<>(); + Map timeFormatLocalizationClusterInteractionInfoMap = new LinkedHashMap<>(); - Map levelControlmoveToLevelCommandParams = new LinkedHashMap(); + commandMap.put("timeFormatLocalization", timeFormatLocalizationClusterInteractionInfoMap); - CommandParameterInfo levelControlmoveToLevellevelCommandParameterInfo = new CommandParameterInfo("level", Integer.class, Integer.class); - levelControlmoveToLevelCommandParams.put("level",levelControlmoveToLevellevelCommandParameterInfo); + Map unitLocalizationClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo levelControlmoveToLeveltransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - levelControlmoveToLevelCommandParams.put("transitionTime",levelControlmoveToLeveltransitionTimeCommandParameterInfo); + commandMap.put("unitLocalization", unitLocalizationClusterInteractionInfoMap); - CommandParameterInfo levelControlmoveToLeveloptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlmoveToLevelCommandParams.put("optionsMask",levelControlmoveToLeveloptionsMaskCommandParameterInfo); + Map powerSourceConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo levelControlmoveToLeveloptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlmoveToLevelCommandParams.put("optionsOverride",levelControlmoveToLeveloptionsOverrideCommandParameterInfo); - InteractionInfo levelControlmoveToLevelInteractionInfo = new InteractionInfo( + commandMap.put("powerSourceConfiguration", powerSourceConfigurationClusterInteractionInfoMap); + + Map powerSourceClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("powerSource", powerSourceClusterInteractionInfoMap); + + Map generalCommissioningClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map generalCommissioningarmFailSafeCommandParams = new LinkedHashMap(); + + CommandParameterInfo generalCommissioningarmFailSafeexpiryLengthSecondsCommandParameterInfo = new CommandParameterInfo("expiryLengthSeconds", Integer.class, Integer.class); + generalCommissioningarmFailSafeCommandParams.put("expiryLengthSeconds",generalCommissioningarmFailSafeexpiryLengthSecondsCommandParameterInfo); + + CommandParameterInfo generalCommissioningarmFailSafebreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Long.class, Long.class); + generalCommissioningarmFailSafeCommandParams.put("breadcrumb",generalCommissioningarmFailSafebreadcrumbCommandParameterInfo); + InteractionInfo generalCommissioningarmFailSafeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .moveToLevel((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("level") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlmoveToLevelCommandParams - ); - levelControlClusterInteractionInfoMap.put("moveToLevel", levelControlmoveToLevelInteractionInfo); + ((ChipClusters.GeneralCommissioningCluster) cluster) + .armFailSafe((ChipClusters.GeneralCommissioningCluster.ArmFailSafeResponseCallback) callback + , (Integer) + commandArguments.get("expiryLengthSeconds") - Map levelControlmoveCommandParams = new LinkedHashMap(); + , (Long) + commandArguments.get("breadcrumb") - CommandParameterInfo levelControlmovemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); - levelControlmoveCommandParams.put("moveMode",levelControlmovemoveModeCommandParameterInfo); + ); + }, + () -> new DelegatedGeneralCommissioningClusterArmFailSafeResponseCallback(), + generalCommissioningarmFailSafeCommandParams + ); + generalCommissioningClusterInteractionInfoMap.put("armFailSafe", generalCommissioningarmFailSafeInteractionInfo); - CommandParameterInfo levelControlmoverateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); - levelControlmoveCommandParams.put("rate",levelControlmoverateCommandParameterInfo); + Map generalCommissioningsetRegulatoryConfigCommandParams = new LinkedHashMap(); - CommandParameterInfo levelControlmoveoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlmoveCommandParams.put("optionsMask",levelControlmoveoptionsMaskCommandParameterInfo); + CommandParameterInfo generalCommissioningsetRegulatoryConfignewRegulatoryConfigCommandParameterInfo = new CommandParameterInfo("newRegulatoryConfig", Integer.class, Integer.class); + generalCommissioningsetRegulatoryConfigCommandParams.put("newRegulatoryConfig",generalCommissioningsetRegulatoryConfignewRegulatoryConfigCommandParameterInfo); - CommandParameterInfo levelControlmoveoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlmoveCommandParams.put("optionsOverride",levelControlmoveoptionsOverrideCommandParameterInfo); - InteractionInfo levelControlmoveInteractionInfo = new InteractionInfo( + CommandParameterInfo generalCommissioningsetRegulatoryConfigcountryCodeCommandParameterInfo = new CommandParameterInfo("countryCode", String.class, String.class); + generalCommissioningsetRegulatoryConfigCommandParams.put("countryCode",generalCommissioningsetRegulatoryConfigcountryCodeCommandParameterInfo); + + CommandParameterInfo generalCommissioningsetRegulatoryConfigbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Long.class, Long.class); + generalCommissioningsetRegulatoryConfigCommandParams.put("breadcrumb",generalCommissioningsetRegulatoryConfigbreadcrumbCommandParameterInfo); + InteractionInfo generalCommissioningsetRegulatoryConfigInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .move((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("moveMode") - , (Integer) - commandArguments.get("rate") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlmoveCommandParams - ); - levelControlClusterInteractionInfoMap.put("move", levelControlmoveInteractionInfo); + ((ChipClusters.GeneralCommissioningCluster) cluster) + .setRegulatoryConfig((ChipClusters.GeneralCommissioningCluster.SetRegulatoryConfigResponseCallback) callback + , (Integer) + commandArguments.get("newRegulatoryConfig") + + , (String) + commandArguments.get("countryCode") + + , (Long) + commandArguments.get("breadcrumb") + + ); + }, + () -> new DelegatedGeneralCommissioningClusterSetRegulatoryConfigResponseCallback(), + generalCommissioningsetRegulatoryConfigCommandParams + ); + generalCommissioningClusterInteractionInfoMap.put("setRegulatoryConfig", generalCommissioningsetRegulatoryConfigInteractionInfo); + + Map generalCommissioningcommissioningCompleteCommandParams = new LinkedHashMap(); + InteractionInfo generalCommissioningcommissioningCompleteInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GeneralCommissioningCluster) cluster) + .commissioningComplete((ChipClusters.GeneralCommissioningCluster.CommissioningCompleteResponseCallback) callback + ); + }, + () -> new DelegatedGeneralCommissioningClusterCommissioningCompleteResponseCallback(), + generalCommissioningcommissioningCompleteCommandParams + ); + generalCommissioningClusterInteractionInfoMap.put("commissioningComplete", generalCommissioningcommissioningCompleteInteractionInfo); + + Map generalCommissioningsetTCAcknowledgementsCommandParams = new LinkedHashMap(); + + CommandParameterInfo generalCommissioningsetTCAcknowledgementsTCVersionCommandParameterInfo = new CommandParameterInfo("TCVersion", Integer.class, Integer.class); + generalCommissioningsetTCAcknowledgementsCommandParams.put("TCVersion",generalCommissioningsetTCAcknowledgementsTCVersionCommandParameterInfo); + + CommandParameterInfo generalCommissioningsetTCAcknowledgementsTCUserResponseCommandParameterInfo = new CommandParameterInfo("TCUserResponse", Integer.class, Integer.class); + generalCommissioningsetTCAcknowledgementsCommandParams.put("TCUserResponse",generalCommissioningsetTCAcknowledgementsTCUserResponseCommandParameterInfo); + InteractionInfo generalCommissioningsetTCAcknowledgementsInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GeneralCommissioningCluster) cluster) + .setTCAcknowledgements((ChipClusters.GeneralCommissioningCluster.SetTCAcknowledgementsResponseCallback) callback + , (Integer) + commandArguments.get("TCVersion") + + , (Integer) + commandArguments.get("TCUserResponse") + + ); + }, + () -> new DelegatedGeneralCommissioningClusterSetTCAcknowledgementsResponseCallback(), + generalCommissioningsetTCAcknowledgementsCommandParams + ); + generalCommissioningClusterInteractionInfoMap.put("setTCAcknowledgements", generalCommissioningsetTCAcknowledgementsInteractionInfo); + + commandMap.put("generalCommissioning", generalCommissioningClusterInteractionInfoMap); + + Map networkCommissioningClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map networkCommissioningscanNetworksCommandParams = new LinkedHashMap(); + + CommandParameterInfo networkCommissioningscanNetworksssidCommandParameterInfo = new CommandParameterInfo("ssid", Optional.class, byte[].class); + networkCommissioningscanNetworksCommandParams.put("ssid",networkCommissioningscanNetworksssidCommandParameterInfo); + + CommandParameterInfo networkCommissioningscanNetworksbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); + networkCommissioningscanNetworksCommandParams.put("breadcrumb",networkCommissioningscanNetworksbreadcrumbCommandParameterInfo); + InteractionInfo networkCommissioningscanNetworksInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.NetworkCommissioningCluster) cluster) + .scanNetworks((ChipClusters.NetworkCommissioningCluster.ScanNetworksResponseCallback) callback + , (Optional) + commandArguments.get("ssid") - Map levelControlstepCommandParams = new LinkedHashMap(); + , (Optional) + commandArguments.get("breadcrumb") - CommandParameterInfo levelControlstepstepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); - levelControlstepCommandParams.put("stepMode",levelControlstepstepModeCommandParameterInfo); + ); + }, + () -> new DelegatedNetworkCommissioningClusterScanNetworksResponseCallback(), + networkCommissioningscanNetworksCommandParams + ); + networkCommissioningClusterInteractionInfoMap.put("scanNetworks", networkCommissioningscanNetworksInteractionInfo); - CommandParameterInfo levelControlstepstepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); - levelControlstepCommandParams.put("stepSize",levelControlstepstepSizeCommandParameterInfo); + Map networkCommissioningaddOrUpdateWiFiNetworkCommandParams = new LinkedHashMap(); - CommandParameterInfo levelControlsteptransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - levelControlstepCommandParams.put("transitionTime",levelControlsteptransitionTimeCommandParameterInfo); + CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkssidCommandParameterInfo = new CommandParameterInfo("ssid", byte[].class, byte[].class); + networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("ssid",networkCommissioningaddOrUpdateWiFiNetworkssidCommandParameterInfo); - CommandParameterInfo levelControlstepoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlstepCommandParams.put("optionsMask",levelControlstepoptionsMaskCommandParameterInfo); + CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkcredentialsCommandParameterInfo = new CommandParameterInfo("credentials", byte[].class, byte[].class); + networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("credentials",networkCommissioningaddOrUpdateWiFiNetworkcredentialsCommandParameterInfo); - CommandParameterInfo levelControlstepoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlstepCommandParams.put("optionsOverride",levelControlstepoptionsOverrideCommandParameterInfo); - InteractionInfo levelControlstepInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .step((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("stepMode") - , (Integer) - commandArguments.get("stepSize") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlstepCommandParams - ); - levelControlClusterInteractionInfoMap.put("step", levelControlstepInteractionInfo); + CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); + networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("breadcrumb",networkCommissioningaddOrUpdateWiFiNetworkbreadcrumbCommandParameterInfo); - Map levelControlstopCommandParams = new LinkedHashMap(); + CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworknetworkIdentityCommandParameterInfo = new CommandParameterInfo("networkIdentity", Optional.class, byte[].class); + networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("networkIdentity",networkCommissioningaddOrUpdateWiFiNetworknetworkIdentityCommandParameterInfo); - CommandParameterInfo levelControlstopoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlstopCommandParams.put("optionsMask",levelControlstopoptionsMaskCommandParameterInfo); + CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkclientIdentifierCommandParameterInfo = new CommandParameterInfo("clientIdentifier", Optional.class, byte[].class); + networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("clientIdentifier",networkCommissioningaddOrUpdateWiFiNetworkclientIdentifierCommandParameterInfo); - CommandParameterInfo levelControlstopoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlstopCommandParams.put("optionsOverride",levelControlstopoptionsOverrideCommandParameterInfo); - InteractionInfo levelControlstopInteractionInfo = new InteractionInfo( + CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkpossessionNonceCommandParameterInfo = new CommandParameterInfo("possessionNonce", Optional.class, byte[].class); + networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("possessionNonce",networkCommissioningaddOrUpdateWiFiNetworkpossessionNonceCommandParameterInfo); + InteractionInfo networkCommissioningaddOrUpdateWiFiNetworkInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .stop((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlstopCommandParams - ); - levelControlClusterInteractionInfoMap.put("stop", levelControlstopInteractionInfo); - - Map levelControlmoveToLevelWithOnOffCommandParams = new LinkedHashMap(); + ((ChipClusters.NetworkCommissioningCluster) cluster) + .addOrUpdateWiFiNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback + , (byte[]) + commandArguments.get("ssid") - CommandParameterInfo levelControlmoveToLevelWithOnOfflevelCommandParameterInfo = new CommandParameterInfo("level", Integer.class, Integer.class); - levelControlmoveToLevelWithOnOffCommandParams.put("level",levelControlmoveToLevelWithOnOfflevelCommandParameterInfo); + , (byte[]) + commandArguments.get("credentials") - CommandParameterInfo levelControlmoveToLevelWithOnOfftransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - levelControlmoveToLevelWithOnOffCommandParams.put("transitionTime",levelControlmoveToLevelWithOnOfftransitionTimeCommandParameterInfo); + , (Optional) + commandArguments.get("breadcrumb") - CommandParameterInfo levelControlmoveToLevelWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlmoveToLevelWithOnOffCommandParams.put("optionsMask",levelControlmoveToLevelWithOnOffoptionsMaskCommandParameterInfo); + , (Optional) + commandArguments.get("networkIdentity") - CommandParameterInfo levelControlmoveToLevelWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlmoveToLevelWithOnOffCommandParams.put("optionsOverride",levelControlmoveToLevelWithOnOffoptionsOverrideCommandParameterInfo); - InteractionInfo levelControlmoveToLevelWithOnOffInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .moveToLevelWithOnOff((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("level") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlmoveToLevelWithOnOffCommandParams - ); - levelControlClusterInteractionInfoMap.put("moveToLevelWithOnOff", levelControlmoveToLevelWithOnOffInteractionInfo); + , (Optional) + commandArguments.get("clientIdentifier") - Map levelControlmoveWithOnOffCommandParams = new LinkedHashMap(); + , (Optional) + commandArguments.get("possessionNonce") - CommandParameterInfo levelControlmoveWithOnOffmoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); - levelControlmoveWithOnOffCommandParams.put("moveMode",levelControlmoveWithOnOffmoveModeCommandParameterInfo); + ); + }, + () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), + networkCommissioningaddOrUpdateWiFiNetworkCommandParams + ); + networkCommissioningClusterInteractionInfoMap.put("addOrUpdateWiFiNetwork", networkCommissioningaddOrUpdateWiFiNetworkInteractionInfo); - CommandParameterInfo levelControlmoveWithOnOffrateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); - levelControlmoveWithOnOffCommandParams.put("rate",levelControlmoveWithOnOffrateCommandParameterInfo); + Map networkCommissioningaddOrUpdateThreadNetworkCommandParams = new LinkedHashMap(); - CommandParameterInfo levelControlmoveWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlmoveWithOnOffCommandParams.put("optionsMask",levelControlmoveWithOnOffoptionsMaskCommandParameterInfo); + CommandParameterInfo networkCommissioningaddOrUpdateThreadNetworkoperationalDatasetCommandParameterInfo = new CommandParameterInfo("operationalDataset", byte[].class, byte[].class); + networkCommissioningaddOrUpdateThreadNetworkCommandParams.put("operationalDataset",networkCommissioningaddOrUpdateThreadNetworkoperationalDatasetCommandParameterInfo); - CommandParameterInfo levelControlmoveWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlmoveWithOnOffCommandParams.put("optionsOverride",levelControlmoveWithOnOffoptionsOverrideCommandParameterInfo); - InteractionInfo levelControlmoveWithOnOffInteractionInfo = new InteractionInfo( + CommandParameterInfo networkCommissioningaddOrUpdateThreadNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); + networkCommissioningaddOrUpdateThreadNetworkCommandParams.put("breadcrumb",networkCommissioningaddOrUpdateThreadNetworkbreadcrumbCommandParameterInfo); + InteractionInfo networkCommissioningaddOrUpdateThreadNetworkInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .moveWithOnOff((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("moveMode") - , (Integer) - commandArguments.get("rate") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlmoveWithOnOffCommandParams - ); - levelControlClusterInteractionInfoMap.put("moveWithOnOff", levelControlmoveWithOnOffInteractionInfo); - - Map levelControlstepWithOnOffCommandParams = new LinkedHashMap(); + ((ChipClusters.NetworkCommissioningCluster) cluster) + .addOrUpdateThreadNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback + , (byte[]) + commandArguments.get("operationalDataset") - CommandParameterInfo levelControlstepWithOnOffstepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); - levelControlstepWithOnOffCommandParams.put("stepMode",levelControlstepWithOnOffstepModeCommandParameterInfo); + , (Optional) + commandArguments.get("breadcrumb") - CommandParameterInfo levelControlstepWithOnOffstepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); - levelControlstepWithOnOffCommandParams.put("stepSize",levelControlstepWithOnOffstepSizeCommandParameterInfo); + ); + }, + () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), + networkCommissioningaddOrUpdateThreadNetworkCommandParams + ); + networkCommissioningClusterInteractionInfoMap.put("addOrUpdateThreadNetwork", networkCommissioningaddOrUpdateThreadNetworkInteractionInfo); - CommandParameterInfo levelControlstepWithOnOfftransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - levelControlstepWithOnOffCommandParams.put("transitionTime",levelControlstepWithOnOfftransitionTimeCommandParameterInfo); + Map networkCommissioningremoveNetworkCommandParams = new LinkedHashMap(); - CommandParameterInfo levelControlstepWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlstepWithOnOffCommandParams.put("optionsMask",levelControlstepWithOnOffoptionsMaskCommandParameterInfo); + CommandParameterInfo networkCommissioningremoveNetworknetworkIDCommandParameterInfo = new CommandParameterInfo("networkID", byte[].class, byte[].class); + networkCommissioningremoveNetworkCommandParams.put("networkID",networkCommissioningremoveNetworknetworkIDCommandParameterInfo); - CommandParameterInfo levelControlstepWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlstepWithOnOffCommandParams.put("optionsOverride",levelControlstepWithOnOffoptionsOverrideCommandParameterInfo); - InteractionInfo levelControlstepWithOnOffInteractionInfo = new InteractionInfo( + CommandParameterInfo networkCommissioningremoveNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); + networkCommissioningremoveNetworkCommandParams.put("breadcrumb",networkCommissioningremoveNetworkbreadcrumbCommandParameterInfo); + InteractionInfo networkCommissioningremoveNetworkInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .stepWithOnOff((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("stepMode") - , (Integer) - commandArguments.get("stepSize") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlstepWithOnOffCommandParams - ); - levelControlClusterInteractionInfoMap.put("stepWithOnOff", levelControlstepWithOnOffInteractionInfo); + ((ChipClusters.NetworkCommissioningCluster) cluster) + .removeNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback + , (byte[]) + commandArguments.get("networkID") - Map levelControlstopWithOnOffCommandParams = new LinkedHashMap(); + , (Optional) + commandArguments.get("breadcrumb") - CommandParameterInfo levelControlstopWithOnOffoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - levelControlstopWithOnOffCommandParams.put("optionsMask",levelControlstopWithOnOffoptionsMaskCommandParameterInfo); + ); + }, + () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), + networkCommissioningremoveNetworkCommandParams + ); + networkCommissioningClusterInteractionInfoMap.put("removeNetwork", networkCommissioningremoveNetworkInteractionInfo); - CommandParameterInfo levelControlstopWithOnOffoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - levelControlstopWithOnOffCommandParams.put("optionsOverride",levelControlstopWithOnOffoptionsOverrideCommandParameterInfo); - InteractionInfo levelControlstopWithOnOffInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .stopWithOnOff((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlstopWithOnOffCommandParams - ); - levelControlClusterInteractionInfoMap.put("stopWithOnOff", levelControlstopWithOnOffInteractionInfo); + Map networkCommissioningconnectNetworkCommandParams = new LinkedHashMap(); - Map levelControlmoveToClosestFrequencyCommandParams = new LinkedHashMap(); + CommandParameterInfo networkCommissioningconnectNetworknetworkIDCommandParameterInfo = new CommandParameterInfo("networkID", byte[].class, byte[].class); + networkCommissioningconnectNetworkCommandParams.put("networkID",networkCommissioningconnectNetworknetworkIDCommandParameterInfo); - CommandParameterInfo levelControlmoveToClosestFrequencyfrequencyCommandParameterInfo = new CommandParameterInfo("frequency", Integer.class, Integer.class); - levelControlmoveToClosestFrequencyCommandParams.put("frequency",levelControlmoveToClosestFrequencyfrequencyCommandParameterInfo); - InteractionInfo levelControlmoveToClosestFrequencyInteractionInfo = new InteractionInfo( + CommandParameterInfo networkCommissioningconnectNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); + networkCommissioningconnectNetworkCommandParams.put("breadcrumb",networkCommissioningconnectNetworkbreadcrumbCommandParameterInfo); + InteractionInfo networkCommissioningconnectNetworkInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LevelControlCluster) cluster) - .moveToClosestFrequency((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("frequency") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - levelControlmoveToClosestFrequencyCommandParams - ); - levelControlClusterInteractionInfoMap.put("moveToClosestFrequency", levelControlmoveToClosestFrequencyInteractionInfo); + ((ChipClusters.NetworkCommissioningCluster) cluster) + .connectNetwork((ChipClusters.NetworkCommissioningCluster.ConnectNetworkResponseCallback) callback + , (byte[]) + commandArguments.get("networkID") - commandMap.put("levelControl", levelControlClusterInteractionInfoMap); + , (Optional) + commandArguments.get("breadcrumb") - Map binaryInputBasicClusterInteractionInfoMap = new LinkedHashMap<>(); + ); + }, + () -> new DelegatedNetworkCommissioningClusterConnectNetworkResponseCallback(), + networkCommissioningconnectNetworkCommandParams + ); + networkCommissioningClusterInteractionInfoMap.put("connectNetwork", networkCommissioningconnectNetworkInteractionInfo); - commandMap.put("binaryInputBasic", binaryInputBasicClusterInteractionInfoMap); + Map networkCommissioningreorderNetworkCommandParams = new LinkedHashMap(); - Map pulseWidthModulationClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo networkCommissioningreorderNetworknetworkIDCommandParameterInfo = new CommandParameterInfo("networkID", byte[].class, byte[].class); + networkCommissioningreorderNetworkCommandParams.put("networkID",networkCommissioningreorderNetworknetworkIDCommandParameterInfo); - commandMap.put("pulseWidthModulation", pulseWidthModulationClusterInteractionInfoMap); + CommandParameterInfo networkCommissioningreorderNetworknetworkIndexCommandParameterInfo = new CommandParameterInfo("networkIndex", Integer.class, Integer.class); + networkCommissioningreorderNetworkCommandParams.put("networkIndex",networkCommissioningreorderNetworknetworkIndexCommandParameterInfo); - Map descriptorClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo networkCommissioningreorderNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); + networkCommissioningreorderNetworkCommandParams.put("breadcrumb",networkCommissioningreorderNetworkbreadcrumbCommandParameterInfo); + InteractionInfo networkCommissioningreorderNetworkInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.NetworkCommissioningCluster) cluster) + .reorderNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback + , (byte[]) + commandArguments.get("networkID") - commandMap.put("descriptor", descriptorClusterInteractionInfoMap); + , (Integer) + commandArguments.get("networkIndex") - Map bindingClusterInteractionInfoMap = new LinkedHashMap<>(); + , (Optional) + commandArguments.get("breadcrumb") - commandMap.put("binding", bindingClusterInteractionInfoMap); + ); + }, + () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), + networkCommissioningreorderNetworkCommandParams + ); + networkCommissioningClusterInteractionInfoMap.put("reorderNetwork", networkCommissioningreorderNetworkInteractionInfo); - Map accessControlClusterInteractionInfoMap = new LinkedHashMap<>(); + Map networkCommissioningqueryIdentityCommandParams = new LinkedHashMap(); - Map accessControlreviewFabricRestrictionsCommandParams = new LinkedHashMap(); + CommandParameterInfo networkCommissioningqueryIdentitykeyIdentifierCommandParameterInfo = new CommandParameterInfo("keyIdentifier", byte[].class, byte[].class); + networkCommissioningqueryIdentityCommandParams.put("keyIdentifier",networkCommissioningqueryIdentitykeyIdentifierCommandParameterInfo); - InteractionInfo accessControlreviewFabricRestrictionsInteractionInfo = new InteractionInfo( + CommandParameterInfo networkCommissioningqueryIdentitypossessionNonceCommandParameterInfo = new CommandParameterInfo("possessionNonce", Optional.class, byte[].class); + networkCommissioningqueryIdentityCommandParams.put("possessionNonce",networkCommissioningqueryIdentitypossessionNonceCommandParameterInfo); + InteractionInfo networkCommissioningqueryIdentityInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AccessControlCluster) cluster) - .reviewFabricRestrictions((ChipClusters.AccessControlCluster.ReviewFabricRestrictionsResponseCallback) callback - , (ArrayList) - commandArguments.get("arl") + ((ChipClusters.NetworkCommissioningCluster) cluster) + .queryIdentity((ChipClusters.NetworkCommissioningCluster.QueryIdentityResponseCallback) callback + , (byte[]) + commandArguments.get("keyIdentifier") + + , (Optional) + commandArguments.get("possessionNonce") ); }, - () -> new DelegatedAccessControlClusterReviewFabricRestrictionsResponseCallback(), - accessControlreviewFabricRestrictionsCommandParams + () -> new DelegatedNetworkCommissioningClusterQueryIdentityResponseCallback(), + networkCommissioningqueryIdentityCommandParams ); - accessControlClusterInteractionInfoMap.put("reviewFabricRestrictions", accessControlreviewFabricRestrictionsInteractionInfo); - - commandMap.put("accessControl", accessControlClusterInteractionInfoMap); - - Map actionsClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map actionsinstantActionCommandParams = new LinkedHashMap(); + networkCommissioningClusterInteractionInfoMap.put("queryIdentity", networkCommissioningqueryIdentityInteractionInfo); - CommandParameterInfo actionsinstantActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsinstantActionCommandParams.put("actionID",actionsinstantActionactionIDCommandParameterInfo); + commandMap.put("networkCommissioning", networkCommissioningClusterInteractionInfoMap); - CommandParameterInfo actionsinstantActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsinstantActionCommandParams.put("invokeID",actionsinstantActioninvokeIDCommandParameterInfo); - InteractionInfo actionsinstantActionInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .instantAction((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - actionsinstantActionCommandParams - ); - actionsClusterInteractionInfoMap.put("instantAction", actionsinstantActionInteractionInfo); + Map diagnosticLogsClusterInteractionInfoMap = new LinkedHashMap<>(); - Map actionsinstantActionWithTransitionCommandParams = new LinkedHashMap(); + Map diagnosticLogsretrieveLogsRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo actionsinstantActionWithTransitionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsinstantActionWithTransitionCommandParams.put("actionID",actionsinstantActionWithTransitionactionIDCommandParameterInfo); + CommandParameterInfo diagnosticLogsretrieveLogsRequestintentCommandParameterInfo = new CommandParameterInfo("intent", Integer.class, Integer.class); + diagnosticLogsretrieveLogsRequestCommandParams.put("intent",diagnosticLogsretrieveLogsRequestintentCommandParameterInfo); - CommandParameterInfo actionsinstantActionWithTransitioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsinstantActionWithTransitionCommandParams.put("invokeID",actionsinstantActionWithTransitioninvokeIDCommandParameterInfo); + CommandParameterInfo diagnosticLogsretrieveLogsRequestrequestedProtocolCommandParameterInfo = new CommandParameterInfo("requestedProtocol", Integer.class, Integer.class); + diagnosticLogsretrieveLogsRequestCommandParams.put("requestedProtocol",diagnosticLogsretrieveLogsRequestrequestedProtocolCommandParameterInfo); - CommandParameterInfo actionsinstantActionWithTransitiontransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - actionsinstantActionWithTransitionCommandParams.put("transitionTime",actionsinstantActionWithTransitiontransitionTimeCommandParameterInfo); - InteractionInfo actionsinstantActionWithTransitionInteractionInfo = new InteractionInfo( + CommandParameterInfo diagnosticLogsretrieveLogsRequesttransferFileDesignatorCommandParameterInfo = new CommandParameterInfo("transferFileDesignator", Optional.class, String.class); + diagnosticLogsretrieveLogsRequestCommandParams.put("transferFileDesignator",diagnosticLogsretrieveLogsRequesttransferFileDesignatorCommandParameterInfo); + InteractionInfo diagnosticLogsretrieveLogsRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .instantActionWithTransition((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - , (Integer) - commandArguments.get("transitionTime") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - actionsinstantActionWithTransitionCommandParams - ); - actionsClusterInteractionInfoMap.put("instantActionWithTransition", actionsinstantActionWithTransitionInteractionInfo); + ((ChipClusters.DiagnosticLogsCluster) cluster) + .retrieveLogsRequest((ChipClusters.DiagnosticLogsCluster.RetrieveLogsResponseCallback) callback + , (Integer) + commandArguments.get("intent") - Map actionsstartActionCommandParams = new LinkedHashMap(); + , (Integer) + commandArguments.get("requestedProtocol") - CommandParameterInfo actionsstartActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsstartActionCommandParams.put("actionID",actionsstartActionactionIDCommandParameterInfo); + , (Optional) + commandArguments.get("transferFileDesignator") - CommandParameterInfo actionsstartActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsstartActionCommandParams.put("invokeID",actionsstartActioninvokeIDCommandParameterInfo); - InteractionInfo actionsstartActionInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .startAction((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - actionsstartActionCommandParams - ); - actionsClusterInteractionInfoMap.put("startAction", actionsstartActionInteractionInfo); + ); + }, + () -> new DelegatedDiagnosticLogsClusterRetrieveLogsResponseCallback(), + diagnosticLogsretrieveLogsRequestCommandParams + ); + diagnosticLogsClusterInteractionInfoMap.put("retrieveLogsRequest", diagnosticLogsretrieveLogsRequestInteractionInfo); - Map actionsstartActionWithDurationCommandParams = new LinkedHashMap(); + commandMap.put("diagnosticLogs", diagnosticLogsClusterInteractionInfoMap); - CommandParameterInfo actionsstartActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsstartActionWithDurationCommandParams.put("actionID",actionsstartActionWithDurationactionIDCommandParameterInfo); + Map generalDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo actionsstartActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsstartActionWithDurationCommandParams.put("invokeID",actionsstartActionWithDurationinvokeIDCommandParameterInfo); + Map generalDiagnosticstestEventTriggerCommandParams = new LinkedHashMap(); - CommandParameterInfo actionsstartActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); - actionsstartActionWithDurationCommandParams.put("duration",actionsstartActionWithDurationdurationCommandParameterInfo); - InteractionInfo actionsstartActionWithDurationInteractionInfo = new InteractionInfo( + CommandParameterInfo generalDiagnosticstestEventTriggerenableKeyCommandParameterInfo = new CommandParameterInfo("enableKey", byte[].class, byte[].class); + generalDiagnosticstestEventTriggerCommandParams.put("enableKey",generalDiagnosticstestEventTriggerenableKeyCommandParameterInfo); + + CommandParameterInfo generalDiagnosticstestEventTriggereventTriggerCommandParameterInfo = new CommandParameterInfo("eventTrigger", Long.class, Long.class); + generalDiagnosticstestEventTriggerCommandParams.put("eventTrigger",generalDiagnosticstestEventTriggereventTriggerCommandParameterInfo); + InteractionInfo generalDiagnosticstestEventTriggerInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .startActionWithDuration((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") + ((ChipClusters.GeneralDiagnosticsCluster) cluster) + .testEventTrigger((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("enableKey") , (Long) - commandArguments.get("duration") + commandArguments.get("eventTrigger") ); }, () -> new DelegatedDefaultClusterCallback(), - actionsstartActionWithDurationCommandParams + generalDiagnosticstestEventTriggerCommandParams ); - actionsClusterInteractionInfoMap.put("startActionWithDuration", actionsstartActionWithDurationInteractionInfo); - - Map actionsstopActionCommandParams = new LinkedHashMap(); - - CommandParameterInfo actionsstopActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsstopActionCommandParams.put("actionID",actionsstopActionactionIDCommandParameterInfo); + generalDiagnosticsClusterInteractionInfoMap.put("testEventTrigger", generalDiagnosticstestEventTriggerInteractionInfo); - CommandParameterInfo actionsstopActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsstopActionCommandParams.put("invokeID",actionsstopActioninvokeIDCommandParameterInfo); - InteractionInfo actionsstopActionInteractionInfo = new InteractionInfo( + Map generalDiagnosticstimeSnapshotCommandParams = new LinkedHashMap(); + InteractionInfo generalDiagnosticstimeSnapshotInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .stopAction((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - actionsstopActionCommandParams - ); - actionsClusterInteractionInfoMap.put("stopAction", actionsstopActionInteractionInfo); + ((ChipClusters.GeneralDiagnosticsCluster) cluster) + .timeSnapshot((ChipClusters.GeneralDiagnosticsCluster.TimeSnapshotResponseCallback) callback + ); + }, + () -> new DelegatedGeneralDiagnosticsClusterTimeSnapshotResponseCallback(), + generalDiagnosticstimeSnapshotCommandParams + ); + generalDiagnosticsClusterInteractionInfoMap.put("timeSnapshot", generalDiagnosticstimeSnapshotInteractionInfo); - Map actionspauseActionCommandParams = new LinkedHashMap(); + Map generalDiagnosticspayloadTestRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo actionspauseActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionspauseActionCommandParams.put("actionID",actionspauseActionactionIDCommandParameterInfo); + CommandParameterInfo generalDiagnosticspayloadTestRequestenableKeyCommandParameterInfo = new CommandParameterInfo("enableKey", byte[].class, byte[].class); + generalDiagnosticspayloadTestRequestCommandParams.put("enableKey",generalDiagnosticspayloadTestRequestenableKeyCommandParameterInfo); - CommandParameterInfo actionspauseActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionspauseActionCommandParams.put("invokeID",actionspauseActioninvokeIDCommandParameterInfo); - InteractionInfo actionspauseActionInteractionInfo = new InteractionInfo( + CommandParameterInfo generalDiagnosticspayloadTestRequestvalueCommandParameterInfo = new CommandParameterInfo("value", Integer.class, Integer.class); + generalDiagnosticspayloadTestRequestCommandParams.put("value",generalDiagnosticspayloadTestRequestvalueCommandParameterInfo); + + CommandParameterInfo generalDiagnosticspayloadTestRequestcountCommandParameterInfo = new CommandParameterInfo("count", Integer.class, Integer.class); + generalDiagnosticspayloadTestRequestCommandParams.put("count",generalDiagnosticspayloadTestRequestcountCommandParameterInfo); + InteractionInfo generalDiagnosticspayloadTestRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .pauseAction((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - actionspauseActionCommandParams - ); - actionsClusterInteractionInfoMap.put("pauseAction", actionspauseActionInteractionInfo); + ((ChipClusters.GeneralDiagnosticsCluster) cluster) + .payloadTestRequest((ChipClusters.GeneralDiagnosticsCluster.PayloadTestResponseCallback) callback + , (byte[]) + commandArguments.get("enableKey") + + , (Integer) + commandArguments.get("value") - Map actionspauseActionWithDurationCommandParams = new LinkedHashMap(); + , (Integer) + commandArguments.get("count") - CommandParameterInfo actionspauseActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionspauseActionWithDurationCommandParams.put("actionID",actionspauseActionWithDurationactionIDCommandParameterInfo); + ); + }, + () -> new DelegatedGeneralDiagnosticsClusterPayloadTestResponseCallback(), + generalDiagnosticspayloadTestRequestCommandParams + ); + generalDiagnosticsClusterInteractionInfoMap.put("payloadTestRequest", generalDiagnosticspayloadTestRequestInteractionInfo); - CommandParameterInfo actionspauseActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionspauseActionWithDurationCommandParams.put("invokeID",actionspauseActionWithDurationinvokeIDCommandParameterInfo); + commandMap.put("generalDiagnostics", generalDiagnosticsClusterInteractionInfoMap); - CommandParameterInfo actionspauseActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); - actionspauseActionWithDurationCommandParams.put("duration",actionspauseActionWithDurationdurationCommandParameterInfo); - InteractionInfo actionspauseActionWithDurationInteractionInfo = new InteractionInfo( + Map softwareDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map softwareDiagnosticsresetWatermarksCommandParams = new LinkedHashMap(); + InteractionInfo softwareDiagnosticsresetWatermarksInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .pauseActionWithDuration((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - , (Long) - commandArguments.get("duration") + ((ChipClusters.SoftwareDiagnosticsCluster) cluster) + .resetWatermarks((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - actionspauseActionWithDurationCommandParams + softwareDiagnosticsresetWatermarksCommandParams ); - actionsClusterInteractionInfoMap.put("pauseActionWithDuration", actionspauseActionWithDurationInteractionInfo); + softwareDiagnosticsClusterInteractionInfoMap.put("resetWatermarks", softwareDiagnosticsresetWatermarksInteractionInfo); - Map actionsresumeActionCommandParams = new LinkedHashMap(); + commandMap.put("softwareDiagnostics", softwareDiagnosticsClusterInteractionInfoMap); - CommandParameterInfo actionsresumeActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsresumeActionCommandParams.put("actionID",actionsresumeActionactionIDCommandParameterInfo); + Map threadNetworkDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo actionsresumeActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsresumeActionCommandParams.put("invokeID",actionsresumeActioninvokeIDCommandParameterInfo); - InteractionInfo actionsresumeActionInteractionInfo = new InteractionInfo( + Map threadNetworkDiagnosticsresetCountsCommandParams = new LinkedHashMap(); + InteractionInfo threadNetworkDiagnosticsresetCountsInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .resumeAction((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") + ((ChipClusters.ThreadNetworkDiagnosticsCluster) cluster) + .resetCounts((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - actionsresumeActionCommandParams + threadNetworkDiagnosticsresetCountsCommandParams ); - actionsClusterInteractionInfoMap.put("resumeAction", actionsresumeActionInteractionInfo); + threadNetworkDiagnosticsClusterInteractionInfoMap.put("resetCounts", threadNetworkDiagnosticsresetCountsInteractionInfo); - Map actionsenableActionCommandParams = new LinkedHashMap(); + commandMap.put("threadNetworkDiagnostics", threadNetworkDiagnosticsClusterInteractionInfoMap); - CommandParameterInfo actionsenableActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsenableActionCommandParams.put("actionID",actionsenableActionactionIDCommandParameterInfo); + Map wiFiNetworkDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo actionsenableActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsenableActionCommandParams.put("invokeID",actionsenableActioninvokeIDCommandParameterInfo); - InteractionInfo actionsenableActionInteractionInfo = new InteractionInfo( + Map wiFiNetworkDiagnosticsresetCountsCommandParams = new LinkedHashMap(); + InteractionInfo wiFiNetworkDiagnosticsresetCountsInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .enableAction((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") + ((ChipClusters.WiFiNetworkDiagnosticsCluster) cluster) + .resetCounts((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - actionsenableActionCommandParams + wiFiNetworkDiagnosticsresetCountsCommandParams ); - actionsClusterInteractionInfoMap.put("enableAction", actionsenableActionInteractionInfo); - - Map actionsenableActionWithDurationCommandParams = new LinkedHashMap(); + wiFiNetworkDiagnosticsClusterInteractionInfoMap.put("resetCounts", wiFiNetworkDiagnosticsresetCountsInteractionInfo); - CommandParameterInfo actionsenableActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsenableActionWithDurationCommandParams.put("actionID",actionsenableActionWithDurationactionIDCommandParameterInfo); + commandMap.put("wiFiNetworkDiagnostics", wiFiNetworkDiagnosticsClusterInteractionInfoMap); - CommandParameterInfo actionsenableActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsenableActionWithDurationCommandParams.put("invokeID",actionsenableActionWithDurationinvokeIDCommandParameterInfo); + Map ethernetNetworkDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo actionsenableActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); - actionsenableActionWithDurationCommandParams.put("duration",actionsenableActionWithDurationdurationCommandParameterInfo); - InteractionInfo actionsenableActionWithDurationInteractionInfo = new InteractionInfo( + Map ethernetNetworkDiagnosticsresetCountsCommandParams = new LinkedHashMap(); + InteractionInfo ethernetNetworkDiagnosticsresetCountsInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .enableActionWithDuration((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - , (Long) - commandArguments.get("duration") + ((ChipClusters.EthernetNetworkDiagnosticsCluster) cluster) + .resetCounts((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - actionsenableActionWithDurationCommandParams + ethernetNetworkDiagnosticsresetCountsCommandParams ); - actionsClusterInteractionInfoMap.put("enableActionWithDuration", actionsenableActionWithDurationInteractionInfo); - - Map actionsdisableActionCommandParams = new LinkedHashMap(); + ethernetNetworkDiagnosticsClusterInteractionInfoMap.put("resetCounts", ethernetNetworkDiagnosticsresetCountsInteractionInfo); - CommandParameterInfo actionsdisableActionactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsdisableActionCommandParams.put("actionID",actionsdisableActionactionIDCommandParameterInfo); + commandMap.put("ethernetNetworkDiagnostics", ethernetNetworkDiagnosticsClusterInteractionInfoMap); - CommandParameterInfo actionsdisableActioninvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsdisableActionCommandParams.put("invokeID",actionsdisableActioninvokeIDCommandParameterInfo); - InteractionInfo actionsdisableActionInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .disableAction((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - actionsdisableActionCommandParams - ); - actionsClusterInteractionInfoMap.put("disableAction", actionsdisableActionInteractionInfo); + Map timeSynchronizationClusterInteractionInfoMap = new LinkedHashMap<>(); - Map actionsdisableActionWithDurationCommandParams = new LinkedHashMap(); + Map timeSynchronizationsetUTCTimeCommandParams = new LinkedHashMap(); - CommandParameterInfo actionsdisableActionWithDurationactionIDCommandParameterInfo = new CommandParameterInfo("actionID", Integer.class, Integer.class); - actionsdisableActionWithDurationCommandParams.put("actionID",actionsdisableActionWithDurationactionIDCommandParameterInfo); + CommandParameterInfo timeSynchronizationsetUTCTimeUTCTimeCommandParameterInfo = new CommandParameterInfo("UTCTime", Long.class, Long.class); + timeSynchronizationsetUTCTimeCommandParams.put("UTCTime",timeSynchronizationsetUTCTimeUTCTimeCommandParameterInfo); - CommandParameterInfo actionsdisableActionWithDurationinvokeIDCommandParameterInfo = new CommandParameterInfo("invokeID", Optional.class, Long.class); - actionsdisableActionWithDurationCommandParams.put("invokeID",actionsdisableActionWithDurationinvokeIDCommandParameterInfo); + CommandParameterInfo timeSynchronizationsetUTCTimegranularityCommandParameterInfo = new CommandParameterInfo("granularity", Integer.class, Integer.class); + timeSynchronizationsetUTCTimeCommandParams.put("granularity",timeSynchronizationsetUTCTimegranularityCommandParameterInfo); - CommandParameterInfo actionsdisableActionWithDurationdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); - actionsdisableActionWithDurationCommandParams.put("duration",actionsdisableActionWithDurationdurationCommandParameterInfo); - InteractionInfo actionsdisableActionWithDurationInteractionInfo = new InteractionInfo( + CommandParameterInfo timeSynchronizationsetUTCTimetimeSourceCommandParameterInfo = new CommandParameterInfo("timeSource", Optional.class, Integer.class); + timeSynchronizationsetUTCTimeCommandParams.put("timeSource",timeSynchronizationsetUTCTimetimeSourceCommandParameterInfo); + InteractionInfo timeSynchronizationsetUTCTimeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActionsCluster) cluster) - .disableActionWithDuration((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("actionID") - , (Optional) - commandArguments.get("invokeID") + ((ChipClusters.TimeSynchronizationCluster) cluster) + .setUTCTime((DefaultClusterCallback) callback , (Long) - commandArguments.get("duration") + commandArguments.get("UTCTime") + , (Integer) + commandArguments.get("granularity") + , (Optional) + commandArguments.get("timeSource") ); }, () -> new DelegatedDefaultClusterCallback(), - actionsdisableActionWithDurationCommandParams + timeSynchronizationsetUTCTimeCommandParams ); - actionsClusterInteractionInfoMap.put("disableActionWithDuration", actionsdisableActionWithDurationInteractionInfo); - - commandMap.put("actions", actionsClusterInteractionInfoMap); + timeSynchronizationClusterInteractionInfoMap.put("setUTCTime", timeSynchronizationsetUTCTimeInteractionInfo); - Map basicInformationClusterInteractionInfoMap = new LinkedHashMap<>(); + Map timeSynchronizationsetTrustedTimeSourceCommandParams = new LinkedHashMap(); - Map basicInformationmfgSpecificPingCommandParams = new LinkedHashMap(); - InteractionInfo basicInformationmfgSpecificPingInteractionInfo = new InteractionInfo( + InteractionInfo timeSynchronizationsetTrustedTimeSourceInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.BasicInformationCluster) cluster) - .mfgSpecificPing((DefaultClusterCallback) callback + ((ChipClusters.TimeSynchronizationCluster) cluster) + .setTrustedTimeSource((DefaultClusterCallback) callback + , (ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct) + commandArguments.get("trustedTimeSource") ); }, () -> new DelegatedDefaultClusterCallback(), - basicInformationmfgSpecificPingCommandParams + timeSynchronizationsetTrustedTimeSourceCommandParams ); - basicInformationClusterInteractionInfoMap.put("mfgSpecificPing", basicInformationmfgSpecificPingInteractionInfo); - - commandMap.put("basicInformation", basicInformationClusterInteractionInfoMap); - - Map otaSoftwareUpdateProviderClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map otaSoftwareUpdateProviderqueryImageCommandParams = new LinkedHashMap(); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImagevendorIDCommandParameterInfo = new CommandParameterInfo("vendorID", Integer.class, Integer.class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("vendorID",otaSoftwareUpdateProviderqueryImagevendorIDCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImageproductIDCommandParameterInfo = new CommandParameterInfo("productID", Integer.class, Integer.class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("productID",otaSoftwareUpdateProviderqueryImageproductIDCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImagesoftwareVersionCommandParameterInfo = new CommandParameterInfo("softwareVersion", Long.class, Long.class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("softwareVersion",otaSoftwareUpdateProviderqueryImagesoftwareVersionCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImageprotocolsSupportedCommandParameterInfo = new CommandParameterInfo("protocolsSupported", ArrayList.class, ArrayList.class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("protocolsSupported",otaSoftwareUpdateProviderqueryImageprotocolsSupportedCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImagehardwareVersionCommandParameterInfo = new CommandParameterInfo("hardwareVersion", Optional.class, Integer.class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("hardwareVersion",otaSoftwareUpdateProviderqueryImagehardwareVersionCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImagelocationCommandParameterInfo = new CommandParameterInfo("location", Optional.class, String.class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("location",otaSoftwareUpdateProviderqueryImagelocationCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImagerequestorCanConsentCommandParameterInfo = new CommandParameterInfo("requestorCanConsent", Optional.class, Boolean.class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("requestorCanConsent",otaSoftwareUpdateProviderqueryImagerequestorCanConsentCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderqueryImagemetadataForProviderCommandParameterInfo = new CommandParameterInfo("metadataForProvider", Optional.class, byte[].class); - otaSoftwareUpdateProviderqueryImageCommandParams.put("metadataForProvider",otaSoftwareUpdateProviderqueryImagemetadataForProviderCommandParameterInfo); - InteractionInfo otaSoftwareUpdateProviderqueryImageInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OtaSoftwareUpdateProviderCluster) cluster) - .queryImage((ChipClusters.OtaSoftwareUpdateProviderCluster.QueryImageResponseCallback) callback - , (Integer) - commandArguments.get("vendorID") - - , (Integer) - commandArguments.get("productID") - - , (Long) - commandArguments.get("softwareVersion") - - , (ArrayList) - commandArguments.get("protocolsSupported") - - , (Optional) - commandArguments.get("hardwareVersion") - - , (Optional) - commandArguments.get("location") - - , (Optional) - commandArguments.get("requestorCanConsent") - - , (Optional) - commandArguments.get("metadataForProvider") - - ); - }, - () -> new DelegatedOtaSoftwareUpdateProviderClusterQueryImageResponseCallback(), - otaSoftwareUpdateProviderqueryImageCommandParams - ); - otaSoftwareUpdateProviderClusterInteractionInfoMap.put("queryImage", otaSoftwareUpdateProviderqueryImageInteractionInfo); - - Map otaSoftwareUpdateProviderapplyUpdateRequestCommandParams = new LinkedHashMap(); - - CommandParameterInfo otaSoftwareUpdateProviderapplyUpdateRequestupdateTokenCommandParameterInfo = new CommandParameterInfo("updateToken", byte[].class, byte[].class); - otaSoftwareUpdateProviderapplyUpdateRequestCommandParams.put("updateToken",otaSoftwareUpdateProviderapplyUpdateRequestupdateTokenCommandParameterInfo); - - CommandParameterInfo otaSoftwareUpdateProviderapplyUpdateRequestnewVersionCommandParameterInfo = new CommandParameterInfo("newVersion", Long.class, Long.class); - otaSoftwareUpdateProviderapplyUpdateRequestCommandParams.put("newVersion",otaSoftwareUpdateProviderapplyUpdateRequestnewVersionCommandParameterInfo); - InteractionInfo otaSoftwareUpdateProviderapplyUpdateRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OtaSoftwareUpdateProviderCluster) cluster) - .applyUpdateRequest((ChipClusters.OtaSoftwareUpdateProviderCluster.ApplyUpdateResponseCallback) callback - , (byte[]) - commandArguments.get("updateToken") + timeSynchronizationClusterInteractionInfoMap.put("setTrustedTimeSource", timeSynchronizationsetTrustedTimeSourceInteractionInfo); - , (Long) - commandArguments.get("newVersion") + Map timeSynchronizationsetTimeZoneCommandParams = new LinkedHashMap(); + + InteractionInfo timeSynchronizationsetTimeZoneInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.TimeSynchronizationCluster) cluster) + .setTimeZone((ChipClusters.TimeSynchronizationCluster.SetTimeZoneResponseCallback) callback + , (ArrayList) + commandArguments.get("timeZone") ); }, - () -> new DelegatedOtaSoftwareUpdateProviderClusterApplyUpdateResponseCallback(), - otaSoftwareUpdateProviderapplyUpdateRequestCommandParams + () -> new DelegatedTimeSynchronizationClusterSetTimeZoneResponseCallback(), + timeSynchronizationsetTimeZoneCommandParams ); - otaSoftwareUpdateProviderClusterInteractionInfoMap.put("applyUpdateRequest", otaSoftwareUpdateProviderapplyUpdateRequestInteractionInfo); - - Map otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams = new LinkedHashMap(); + timeSynchronizationClusterInteractionInfoMap.put("setTimeZone", timeSynchronizationsetTimeZoneInteractionInfo); - CommandParameterInfo otaSoftwareUpdateProvidernotifyUpdateAppliedupdateTokenCommandParameterInfo = new CommandParameterInfo("updateToken", byte[].class, byte[].class); - otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams.put("updateToken",otaSoftwareUpdateProvidernotifyUpdateAppliedupdateTokenCommandParameterInfo); + Map timeSynchronizationsetDSTOffsetCommandParams = new LinkedHashMap(); - CommandParameterInfo otaSoftwareUpdateProvidernotifyUpdateAppliedsoftwareVersionCommandParameterInfo = new CommandParameterInfo("softwareVersion", Long.class, Long.class); - otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams.put("softwareVersion",otaSoftwareUpdateProvidernotifyUpdateAppliedsoftwareVersionCommandParameterInfo); - InteractionInfo otaSoftwareUpdateProvidernotifyUpdateAppliedInteractionInfo = new InteractionInfo( + InteractionInfo timeSynchronizationsetDSTOffsetInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OtaSoftwareUpdateProviderCluster) cluster) - .notifyUpdateApplied((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("updateToken") - , (Long) - commandArguments.get("softwareVersion") + ((ChipClusters.TimeSynchronizationCluster) cluster) + .setDSTOffset((DefaultClusterCallback) callback + , (ArrayList) + commandArguments.get("DSTOffset") ); }, () -> new DelegatedDefaultClusterCallback(), - otaSoftwareUpdateProvidernotifyUpdateAppliedCommandParams + timeSynchronizationsetDSTOffsetCommandParams ); - otaSoftwareUpdateProviderClusterInteractionInfoMap.put("notifyUpdateApplied", otaSoftwareUpdateProvidernotifyUpdateAppliedInteractionInfo); - - commandMap.put("otaSoftwareUpdateProvider", otaSoftwareUpdateProviderClusterInteractionInfoMap); + timeSynchronizationClusterInteractionInfoMap.put("setDSTOffset", timeSynchronizationsetDSTOffsetInteractionInfo); - Map otaSoftwareUpdateRequestorClusterInteractionInfoMap = new LinkedHashMap<>(); + Map timeSynchronizationsetDefaultNTPCommandParams = new LinkedHashMap(); - Map otaSoftwareUpdateRequestorannounceOTAProviderCommandParams = new LinkedHashMap(); + CommandParameterInfo timeSynchronizationsetDefaultNTPdefaultNTPCommandParameterInfo = new CommandParameterInfo("defaultNTP", String.class, String.class); + timeSynchronizationsetDefaultNTPCommandParams.put("defaultNTP",timeSynchronizationsetDefaultNTPdefaultNTPCommandParameterInfo); + InteractionInfo timeSynchronizationsetDefaultNTPInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.TimeSynchronizationCluster) cluster) + .setDefaultNTP((DefaultClusterCallback) callback + , (String) + commandArguments.get("defaultNTP") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + timeSynchronizationsetDefaultNTPCommandParams + ); + timeSynchronizationClusterInteractionInfoMap.put("setDefaultNTP", timeSynchronizationsetDefaultNTPInteractionInfo); - CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProviderproviderNodeIDCommandParameterInfo = new CommandParameterInfo("providerNodeID", Long.class, Long.class); - otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("providerNodeID",otaSoftwareUpdateRequestorannounceOTAProviderproviderNodeIDCommandParameterInfo); + commandMap.put("timeSynchronization", timeSynchronizationClusterInteractionInfoMap); - CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProvidervendorIDCommandParameterInfo = new CommandParameterInfo("vendorID", Integer.class, Integer.class); - otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("vendorID",otaSoftwareUpdateRequestorannounceOTAProvidervendorIDCommandParameterInfo); + Map bridgedDeviceBasicInformationClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProviderannouncementReasonCommandParameterInfo = new CommandParameterInfo("announcementReason", Integer.class, Integer.class); - otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("announcementReason",otaSoftwareUpdateRequestorannounceOTAProviderannouncementReasonCommandParameterInfo); + Map bridgedDeviceBasicInformationkeepActiveCommandParams = new LinkedHashMap(); - CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProvidermetadataForNodeCommandParameterInfo = new CommandParameterInfo("metadataForNode", Optional.class, byte[].class); - otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("metadataForNode",otaSoftwareUpdateRequestorannounceOTAProvidermetadataForNodeCommandParameterInfo); + CommandParameterInfo bridgedDeviceBasicInformationkeepActivestayActiveDurationCommandParameterInfo = new CommandParameterInfo("stayActiveDuration", Long.class, Long.class); + bridgedDeviceBasicInformationkeepActiveCommandParams.put("stayActiveDuration",bridgedDeviceBasicInformationkeepActivestayActiveDurationCommandParameterInfo); - CommandParameterInfo otaSoftwareUpdateRequestorannounceOTAProviderendpointCommandParameterInfo = new CommandParameterInfo("endpoint", Integer.class, Integer.class); - otaSoftwareUpdateRequestorannounceOTAProviderCommandParams.put("endpoint",otaSoftwareUpdateRequestorannounceOTAProviderendpointCommandParameterInfo); - InteractionInfo otaSoftwareUpdateRequestorannounceOTAProviderInteractionInfo = new InteractionInfo( + CommandParameterInfo bridgedDeviceBasicInformationkeepActivetimeoutMsCommandParameterInfo = new CommandParameterInfo("timeoutMs", Long.class, Long.class); + bridgedDeviceBasicInformationkeepActiveCommandParams.put("timeoutMs",bridgedDeviceBasicInformationkeepActivetimeoutMsCommandParameterInfo); + InteractionInfo bridgedDeviceBasicInformationkeepActiveInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OtaSoftwareUpdateRequestorCluster) cluster) - .announceOTAProvider((DefaultClusterCallback) callback + ((ChipClusters.BridgedDeviceBasicInformationCluster) cluster) + .keepActive((DefaultClusterCallback) callback , (Long) - commandArguments.get("providerNodeID") - , (Integer) - commandArguments.get("vendorID") - , (Integer) - commandArguments.get("announcementReason") - , (Optional) - commandArguments.get("metadataForNode") - , (Integer) - commandArguments.get("endpoint") + commandArguments.get("stayActiveDuration") + , (Long) + commandArguments.get("timeoutMs") ); }, () -> new DelegatedDefaultClusterCallback(), - otaSoftwareUpdateRequestorannounceOTAProviderCommandParams + bridgedDeviceBasicInformationkeepActiveCommandParams ); - otaSoftwareUpdateRequestorClusterInteractionInfoMap.put("announceOTAProvider", otaSoftwareUpdateRequestorannounceOTAProviderInteractionInfo); - - commandMap.put("otaSoftwareUpdateRequestor", otaSoftwareUpdateRequestorClusterInteractionInfoMap); - - Map localizationConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("localizationConfiguration", localizationConfigurationClusterInteractionInfoMap); - - Map timeFormatLocalizationClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("timeFormatLocalization", timeFormatLocalizationClusterInteractionInfoMap); + bridgedDeviceBasicInformationClusterInteractionInfoMap.put("keepActive", bridgedDeviceBasicInformationkeepActiveInteractionInfo); - Map unitLocalizationClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("bridgedDeviceBasicInformation", bridgedDeviceBasicInformationClusterInteractionInfoMap); - commandMap.put("unitLocalization", unitLocalizationClusterInteractionInfoMap); + Map switchClusterInteractionInfoMap = new LinkedHashMap<>(); - Map powerSourceConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("switch", switchClusterInteractionInfoMap); - commandMap.put("powerSourceConfiguration", powerSourceConfigurationClusterInteractionInfoMap); + Map administratorCommissioningClusterInteractionInfoMap = new LinkedHashMap<>(); - Map powerSourceClusterInteractionInfoMap = new LinkedHashMap<>(); + Map administratorCommissioningopenCommissioningWindowCommandParams = new LinkedHashMap(); - commandMap.put("powerSource", powerSourceClusterInteractionInfoMap); + CommandParameterInfo administratorCommissioningopenCommissioningWindowcommissioningTimeoutCommandParameterInfo = new CommandParameterInfo("commissioningTimeout", Integer.class, Integer.class); + administratorCommissioningopenCommissioningWindowCommandParams.put("commissioningTimeout",administratorCommissioningopenCommissioningWindowcommissioningTimeoutCommandParameterInfo); - Map generalCommissioningClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo administratorCommissioningopenCommissioningWindowPAKEPasscodeVerifierCommandParameterInfo = new CommandParameterInfo("PAKEPasscodeVerifier", byte[].class, byte[].class); + administratorCommissioningopenCommissioningWindowCommandParams.put("PAKEPasscodeVerifier",administratorCommissioningopenCommissioningWindowPAKEPasscodeVerifierCommandParameterInfo); - Map generalCommissioningarmFailSafeCommandParams = new LinkedHashMap(); + CommandParameterInfo administratorCommissioningopenCommissioningWindowdiscriminatorCommandParameterInfo = new CommandParameterInfo("discriminator", Integer.class, Integer.class); + administratorCommissioningopenCommissioningWindowCommandParams.put("discriminator",administratorCommissioningopenCommissioningWindowdiscriminatorCommandParameterInfo); - CommandParameterInfo generalCommissioningarmFailSafeexpiryLengthSecondsCommandParameterInfo = new CommandParameterInfo("expiryLengthSeconds", Integer.class, Integer.class); - generalCommissioningarmFailSafeCommandParams.put("expiryLengthSeconds",generalCommissioningarmFailSafeexpiryLengthSecondsCommandParameterInfo); + CommandParameterInfo administratorCommissioningopenCommissioningWindowiterationsCommandParameterInfo = new CommandParameterInfo("iterations", Long.class, Long.class); + administratorCommissioningopenCommissioningWindowCommandParams.put("iterations",administratorCommissioningopenCommissioningWindowiterationsCommandParameterInfo); - CommandParameterInfo generalCommissioningarmFailSafebreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Long.class, Long.class); - generalCommissioningarmFailSafeCommandParams.put("breadcrumb",generalCommissioningarmFailSafebreadcrumbCommandParameterInfo); - InteractionInfo generalCommissioningarmFailSafeInteractionInfo = new InteractionInfo( + CommandParameterInfo administratorCommissioningopenCommissioningWindowsaltCommandParameterInfo = new CommandParameterInfo("salt", byte[].class, byte[].class); + administratorCommissioningopenCommissioningWindowCommandParams.put("salt",administratorCommissioningopenCommissioningWindowsaltCommandParameterInfo); + InteractionInfo administratorCommissioningopenCommissioningWindowInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GeneralCommissioningCluster) cluster) - .armFailSafe((ChipClusters.GeneralCommissioningCluster.ArmFailSafeResponseCallback) callback - , (Integer) - commandArguments.get("expiryLengthSeconds") - - , (Long) - commandArguments.get("breadcrumb") - - ); - }, - () -> new DelegatedGeneralCommissioningClusterArmFailSafeResponseCallback(), - generalCommissioningarmFailSafeCommandParams - ); - generalCommissioningClusterInteractionInfoMap.put("armFailSafe", generalCommissioningarmFailSafeInteractionInfo); - - Map generalCommissioningsetRegulatoryConfigCommandParams = new LinkedHashMap(); + ((ChipClusters.AdministratorCommissioningCluster) cluster) + .openCommissioningWindow((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("commissioningTimeout") + , (byte[]) + commandArguments.get("PAKEPasscodeVerifier") + , (Integer) + commandArguments.get("discriminator") + , (Long) + commandArguments.get("iterations") + , (byte[]) + commandArguments.get("salt"), 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + administratorCommissioningopenCommissioningWindowCommandParams + ); + administratorCommissioningClusterInteractionInfoMap.put("openCommissioningWindow", administratorCommissioningopenCommissioningWindowInteractionInfo); - CommandParameterInfo generalCommissioningsetRegulatoryConfignewRegulatoryConfigCommandParameterInfo = new CommandParameterInfo("newRegulatoryConfig", Integer.class, Integer.class); - generalCommissioningsetRegulatoryConfigCommandParams.put("newRegulatoryConfig",generalCommissioningsetRegulatoryConfignewRegulatoryConfigCommandParameterInfo); + Map administratorCommissioningopenBasicCommissioningWindowCommandParams = new LinkedHashMap(); - CommandParameterInfo generalCommissioningsetRegulatoryConfigcountryCodeCommandParameterInfo = new CommandParameterInfo("countryCode", String.class, String.class); - generalCommissioningsetRegulatoryConfigCommandParams.put("countryCode",generalCommissioningsetRegulatoryConfigcountryCodeCommandParameterInfo); + CommandParameterInfo administratorCommissioningopenBasicCommissioningWindowcommissioningTimeoutCommandParameterInfo = new CommandParameterInfo("commissioningTimeout", Integer.class, Integer.class); + administratorCommissioningopenBasicCommissioningWindowCommandParams.put("commissioningTimeout",administratorCommissioningopenBasicCommissioningWindowcommissioningTimeoutCommandParameterInfo); + InteractionInfo administratorCommissioningopenBasicCommissioningWindowInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.AdministratorCommissioningCluster) cluster) + .openBasicCommissioningWindow((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("commissioningTimeout"), 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + administratorCommissioningopenBasicCommissioningWindowCommandParams + ); + administratorCommissioningClusterInteractionInfoMap.put("openBasicCommissioningWindow", administratorCommissioningopenBasicCommissioningWindowInteractionInfo); - CommandParameterInfo generalCommissioningsetRegulatoryConfigbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Long.class, Long.class); - generalCommissioningsetRegulatoryConfigCommandParams.put("breadcrumb",generalCommissioningsetRegulatoryConfigbreadcrumbCommandParameterInfo); - InteractionInfo generalCommissioningsetRegulatoryConfigInteractionInfo = new InteractionInfo( + Map administratorCommissioningrevokeCommissioningCommandParams = new LinkedHashMap(); + InteractionInfo administratorCommissioningrevokeCommissioningInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GeneralCommissioningCluster) cluster) - .setRegulatoryConfig((ChipClusters.GeneralCommissioningCluster.SetRegulatoryConfigResponseCallback) callback - , (Integer) - commandArguments.get("newRegulatoryConfig") + ((ChipClusters.AdministratorCommissioningCluster) cluster) + .revokeCommissioning((DefaultClusterCallback) callback, 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + administratorCommissioningrevokeCommissioningCommandParams + ); + administratorCommissioningClusterInteractionInfoMap.put("revokeCommissioning", administratorCommissioningrevokeCommissioningInteractionInfo); - , (String) - commandArguments.get("countryCode") + commandMap.put("administratorCommissioning", administratorCommissioningClusterInteractionInfoMap); - , (Long) - commandArguments.get("breadcrumb") + Map operationalCredentialsClusterInteractionInfoMap = new LinkedHashMap<>(); - ); - }, - () -> new DelegatedGeneralCommissioningClusterSetRegulatoryConfigResponseCallback(), - generalCommissioningsetRegulatoryConfigCommandParams - ); - generalCommissioningClusterInteractionInfoMap.put("setRegulatoryConfig", generalCommissioningsetRegulatoryConfigInteractionInfo); + Map operationalCredentialsattestationRequestCommandParams = new LinkedHashMap(); - Map generalCommissioningcommissioningCompleteCommandParams = new LinkedHashMap(); - InteractionInfo generalCommissioningcommissioningCompleteInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialsattestationRequestattestationNonceCommandParameterInfo = new CommandParameterInfo("attestationNonce", byte[].class, byte[].class); + operationalCredentialsattestationRequestCommandParams.put("attestationNonce",operationalCredentialsattestationRequestattestationNonceCommandParameterInfo); + InteractionInfo operationalCredentialsattestationRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GeneralCommissioningCluster) cluster) - .commissioningComplete((ChipClusters.GeneralCommissioningCluster.CommissioningCompleteResponseCallback) callback + ((ChipClusters.OperationalCredentialsCluster) cluster) + .attestationRequest((ChipClusters.OperationalCredentialsCluster.AttestationResponseCallback) callback + , (byte[]) + commandArguments.get("attestationNonce") + ); }, - () -> new DelegatedGeneralCommissioningClusterCommissioningCompleteResponseCallback(), - generalCommissioningcommissioningCompleteCommandParams + () -> new DelegatedOperationalCredentialsClusterAttestationResponseCallback(), + operationalCredentialsattestationRequestCommandParams ); - generalCommissioningClusterInteractionInfoMap.put("commissioningComplete", generalCommissioningcommissioningCompleteInteractionInfo); - - Map generalCommissioningsetTCAcknowledgementsCommandParams = new LinkedHashMap(); + operationalCredentialsClusterInteractionInfoMap.put("attestationRequest", operationalCredentialsattestationRequestInteractionInfo); - CommandParameterInfo generalCommissioningsetTCAcknowledgementsTCVersionCommandParameterInfo = new CommandParameterInfo("TCVersion", Integer.class, Integer.class); - generalCommissioningsetTCAcknowledgementsCommandParams.put("TCVersion",generalCommissioningsetTCAcknowledgementsTCVersionCommandParameterInfo); + Map operationalCredentialscertificateChainRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo generalCommissioningsetTCAcknowledgementsTCUserResponseCommandParameterInfo = new CommandParameterInfo("TCUserResponse", Integer.class, Integer.class); - generalCommissioningsetTCAcknowledgementsCommandParams.put("TCUserResponse",generalCommissioningsetTCAcknowledgementsTCUserResponseCommandParameterInfo); - InteractionInfo generalCommissioningsetTCAcknowledgementsInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialscertificateChainRequestcertificateTypeCommandParameterInfo = new CommandParameterInfo("certificateType", Integer.class, Integer.class); + operationalCredentialscertificateChainRequestCommandParams.put("certificateType",operationalCredentialscertificateChainRequestcertificateTypeCommandParameterInfo); + InteractionInfo operationalCredentialscertificateChainRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GeneralCommissioningCluster) cluster) - .setTCAcknowledgements((ChipClusters.GeneralCommissioningCluster.SetTCAcknowledgementsResponseCallback) callback - , (Integer) - commandArguments.get("TCVersion") - + ((ChipClusters.OperationalCredentialsCluster) cluster) + .certificateChainRequest((ChipClusters.OperationalCredentialsCluster.CertificateChainResponseCallback) callback , (Integer) - commandArguments.get("TCUserResponse") + commandArguments.get("certificateType") ); }, - () -> new DelegatedGeneralCommissioningClusterSetTCAcknowledgementsResponseCallback(), - generalCommissioningsetTCAcknowledgementsCommandParams + () -> new DelegatedOperationalCredentialsClusterCertificateChainResponseCallback(), + operationalCredentialscertificateChainRequestCommandParams ); - generalCommissioningClusterInteractionInfoMap.put("setTCAcknowledgements", generalCommissioningsetTCAcknowledgementsInteractionInfo); - - commandMap.put("generalCommissioning", generalCommissioningClusterInteractionInfoMap); - - Map networkCommissioningClusterInteractionInfoMap = new LinkedHashMap<>(); + operationalCredentialsClusterInteractionInfoMap.put("certificateChainRequest", operationalCredentialscertificateChainRequestInteractionInfo); - Map networkCommissioningscanNetworksCommandParams = new LinkedHashMap(); + Map operationalCredentialsCSRRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo networkCommissioningscanNetworksssidCommandParameterInfo = new CommandParameterInfo("ssid", Optional.class, byte[].class); - networkCommissioningscanNetworksCommandParams.put("ssid",networkCommissioningscanNetworksssidCommandParameterInfo); + CommandParameterInfo operationalCredentialsCSRRequestCSRNonceCommandParameterInfo = new CommandParameterInfo("CSRNonce", byte[].class, byte[].class); + operationalCredentialsCSRRequestCommandParams.put("CSRNonce",operationalCredentialsCSRRequestCSRNonceCommandParameterInfo); - CommandParameterInfo networkCommissioningscanNetworksbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); - networkCommissioningscanNetworksCommandParams.put("breadcrumb",networkCommissioningscanNetworksbreadcrumbCommandParameterInfo); - InteractionInfo networkCommissioningscanNetworksInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialsCSRRequestisForUpdateNOCCommandParameterInfo = new CommandParameterInfo("isForUpdateNOC", Optional.class, Boolean.class); + operationalCredentialsCSRRequestCommandParams.put("isForUpdateNOC",operationalCredentialsCSRRequestisForUpdateNOCCommandParameterInfo); + InteractionInfo operationalCredentialsCSRRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.NetworkCommissioningCluster) cluster) - .scanNetworks((ChipClusters.NetworkCommissioningCluster.ScanNetworksResponseCallback) callback - , (Optional) - commandArguments.get("ssid") + ((ChipClusters.OperationalCredentialsCluster) cluster) + .CSRRequest((ChipClusters.OperationalCredentialsCluster.CSRResponseCallback) callback + , (byte[]) + commandArguments.get("CSRNonce") - , (Optional) - commandArguments.get("breadcrumb") + , (Optional) + commandArguments.get("isForUpdateNOC") ); }, - () -> new DelegatedNetworkCommissioningClusterScanNetworksResponseCallback(), - networkCommissioningscanNetworksCommandParams + () -> new DelegatedOperationalCredentialsClusterCSRResponseCallback(), + operationalCredentialsCSRRequestCommandParams ); - networkCommissioningClusterInteractionInfoMap.put("scanNetworks", networkCommissioningscanNetworksInteractionInfo); - - Map networkCommissioningaddOrUpdateWiFiNetworkCommandParams = new LinkedHashMap(); + operationalCredentialsClusterInteractionInfoMap.put("CSRRequest", operationalCredentialsCSRRequestInteractionInfo); - CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkssidCommandParameterInfo = new CommandParameterInfo("ssid", byte[].class, byte[].class); - networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("ssid",networkCommissioningaddOrUpdateWiFiNetworkssidCommandParameterInfo); + Map operationalCredentialsaddNOCCommandParams = new LinkedHashMap(); - CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkcredentialsCommandParameterInfo = new CommandParameterInfo("credentials", byte[].class, byte[].class); - networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("credentials",networkCommissioningaddOrUpdateWiFiNetworkcredentialsCommandParameterInfo); + CommandParameterInfo operationalCredentialsaddNOCNOCValueCommandParameterInfo = new CommandParameterInfo("NOCValue", byte[].class, byte[].class); + operationalCredentialsaddNOCCommandParams.put("NOCValue",operationalCredentialsaddNOCNOCValueCommandParameterInfo); - CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); - networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("breadcrumb",networkCommissioningaddOrUpdateWiFiNetworkbreadcrumbCommandParameterInfo); + CommandParameterInfo operationalCredentialsaddNOCICACValueCommandParameterInfo = new CommandParameterInfo("ICACValue", Optional.class, byte[].class); + operationalCredentialsaddNOCCommandParams.put("ICACValue",operationalCredentialsaddNOCICACValueCommandParameterInfo); - CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworknetworkIdentityCommandParameterInfo = new CommandParameterInfo("networkIdentity", Optional.class, byte[].class); - networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("networkIdentity",networkCommissioningaddOrUpdateWiFiNetworknetworkIdentityCommandParameterInfo); + CommandParameterInfo operationalCredentialsaddNOCIPKValueCommandParameterInfo = new CommandParameterInfo("IPKValue", byte[].class, byte[].class); + operationalCredentialsaddNOCCommandParams.put("IPKValue",operationalCredentialsaddNOCIPKValueCommandParameterInfo); - CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkclientIdentifierCommandParameterInfo = new CommandParameterInfo("clientIdentifier", Optional.class, byte[].class); - networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("clientIdentifier",networkCommissioningaddOrUpdateWiFiNetworkclientIdentifierCommandParameterInfo); + CommandParameterInfo operationalCredentialsaddNOCcaseAdminSubjectCommandParameterInfo = new CommandParameterInfo("caseAdminSubject", Long.class, Long.class); + operationalCredentialsaddNOCCommandParams.put("caseAdminSubject",operationalCredentialsaddNOCcaseAdminSubjectCommandParameterInfo); - CommandParameterInfo networkCommissioningaddOrUpdateWiFiNetworkpossessionNonceCommandParameterInfo = new CommandParameterInfo("possessionNonce", Optional.class, byte[].class); - networkCommissioningaddOrUpdateWiFiNetworkCommandParams.put("possessionNonce",networkCommissioningaddOrUpdateWiFiNetworkpossessionNonceCommandParameterInfo); - InteractionInfo networkCommissioningaddOrUpdateWiFiNetworkInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialsaddNOCadminVendorIdCommandParameterInfo = new CommandParameterInfo("adminVendorId", Integer.class, Integer.class); + operationalCredentialsaddNOCCommandParams.put("adminVendorId",operationalCredentialsaddNOCadminVendorIdCommandParameterInfo); + InteractionInfo operationalCredentialsaddNOCInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.NetworkCommissioningCluster) cluster) - .addOrUpdateWiFiNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback - , (byte[]) - commandArguments.get("ssid") - + ((ChipClusters.OperationalCredentialsCluster) cluster) + .addNOC((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback , (byte[]) - commandArguments.get("credentials") - - , (Optional) - commandArguments.get("breadcrumb") - - , (Optional) - commandArguments.get("networkIdentity") - - , (Optional) - commandArguments.get("clientIdentifier") + commandArguments.get("NOCValue") , (Optional) - commandArguments.get("possessionNonce") - - ); - }, - () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), - networkCommissioningaddOrUpdateWiFiNetworkCommandParams - ); - networkCommissioningClusterInteractionInfoMap.put("addOrUpdateWiFiNetwork", networkCommissioningaddOrUpdateWiFiNetworkInteractionInfo); - - Map networkCommissioningaddOrUpdateThreadNetworkCommandParams = new LinkedHashMap(); - - CommandParameterInfo networkCommissioningaddOrUpdateThreadNetworkoperationalDatasetCommandParameterInfo = new CommandParameterInfo("operationalDataset", byte[].class, byte[].class); - networkCommissioningaddOrUpdateThreadNetworkCommandParams.put("operationalDataset",networkCommissioningaddOrUpdateThreadNetworkoperationalDatasetCommandParameterInfo); + commandArguments.get("ICACValue") - CommandParameterInfo networkCommissioningaddOrUpdateThreadNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); - networkCommissioningaddOrUpdateThreadNetworkCommandParams.put("breadcrumb",networkCommissioningaddOrUpdateThreadNetworkbreadcrumbCommandParameterInfo); - InteractionInfo networkCommissioningaddOrUpdateThreadNetworkInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.NetworkCommissioningCluster) cluster) - .addOrUpdateThreadNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback , (byte[]) - commandArguments.get("operationalDataset") + commandArguments.get("IPKValue") - , (Optional) - commandArguments.get("breadcrumb") + , (Long) + commandArguments.get("caseAdminSubject") + + , (Integer) + commandArguments.get("adminVendorId") ); }, - () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), - networkCommissioningaddOrUpdateThreadNetworkCommandParams + () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), + operationalCredentialsaddNOCCommandParams ); - networkCommissioningClusterInteractionInfoMap.put("addOrUpdateThreadNetwork", networkCommissioningaddOrUpdateThreadNetworkInteractionInfo); + operationalCredentialsClusterInteractionInfoMap.put("addNOC", operationalCredentialsaddNOCInteractionInfo); - Map networkCommissioningremoveNetworkCommandParams = new LinkedHashMap(); + Map operationalCredentialsupdateNOCCommandParams = new LinkedHashMap(); - CommandParameterInfo networkCommissioningremoveNetworknetworkIDCommandParameterInfo = new CommandParameterInfo("networkID", byte[].class, byte[].class); - networkCommissioningremoveNetworkCommandParams.put("networkID",networkCommissioningremoveNetworknetworkIDCommandParameterInfo); + CommandParameterInfo operationalCredentialsupdateNOCNOCValueCommandParameterInfo = new CommandParameterInfo("NOCValue", byte[].class, byte[].class); + operationalCredentialsupdateNOCCommandParams.put("NOCValue",operationalCredentialsupdateNOCNOCValueCommandParameterInfo); - CommandParameterInfo networkCommissioningremoveNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); - networkCommissioningremoveNetworkCommandParams.put("breadcrumb",networkCommissioningremoveNetworkbreadcrumbCommandParameterInfo); - InteractionInfo networkCommissioningremoveNetworkInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialsupdateNOCICACValueCommandParameterInfo = new CommandParameterInfo("ICACValue", Optional.class, byte[].class); + operationalCredentialsupdateNOCCommandParams.put("ICACValue",operationalCredentialsupdateNOCICACValueCommandParameterInfo); + InteractionInfo operationalCredentialsupdateNOCInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.NetworkCommissioningCluster) cluster) - .removeNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback + ((ChipClusters.OperationalCredentialsCluster) cluster) + .updateNOC((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback , (byte[]) - commandArguments.get("networkID") + commandArguments.get("NOCValue") - , (Optional) - commandArguments.get("breadcrumb") + , (Optional) + commandArguments.get("ICACValue") ); }, - () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), - networkCommissioningremoveNetworkCommandParams + () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), + operationalCredentialsupdateNOCCommandParams ); - networkCommissioningClusterInteractionInfoMap.put("removeNetwork", networkCommissioningremoveNetworkInteractionInfo); - - Map networkCommissioningconnectNetworkCommandParams = new LinkedHashMap(); + operationalCredentialsClusterInteractionInfoMap.put("updateNOC", operationalCredentialsupdateNOCInteractionInfo); - CommandParameterInfo networkCommissioningconnectNetworknetworkIDCommandParameterInfo = new CommandParameterInfo("networkID", byte[].class, byte[].class); - networkCommissioningconnectNetworkCommandParams.put("networkID",networkCommissioningconnectNetworknetworkIDCommandParameterInfo); + Map operationalCredentialsupdateFabricLabelCommandParams = new LinkedHashMap(); - CommandParameterInfo networkCommissioningconnectNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); - networkCommissioningconnectNetworkCommandParams.put("breadcrumb",networkCommissioningconnectNetworkbreadcrumbCommandParameterInfo); - InteractionInfo networkCommissioningconnectNetworkInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialsupdateFabricLabellabelCommandParameterInfo = new CommandParameterInfo("label", String.class, String.class); + operationalCredentialsupdateFabricLabelCommandParams.put("label",operationalCredentialsupdateFabricLabellabelCommandParameterInfo); + InteractionInfo operationalCredentialsupdateFabricLabelInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.NetworkCommissioningCluster) cluster) - .connectNetwork((ChipClusters.NetworkCommissioningCluster.ConnectNetworkResponseCallback) callback - , (byte[]) - commandArguments.get("networkID") - - , (Optional) - commandArguments.get("breadcrumb") + ((ChipClusters.OperationalCredentialsCluster) cluster) + .updateFabricLabel((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback + , (String) + commandArguments.get("label") ); }, - () -> new DelegatedNetworkCommissioningClusterConnectNetworkResponseCallback(), - networkCommissioningconnectNetworkCommandParams + () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), + operationalCredentialsupdateFabricLabelCommandParams ); - networkCommissioningClusterInteractionInfoMap.put("connectNetwork", networkCommissioningconnectNetworkInteractionInfo); - - Map networkCommissioningreorderNetworkCommandParams = new LinkedHashMap(); - - CommandParameterInfo networkCommissioningreorderNetworknetworkIDCommandParameterInfo = new CommandParameterInfo("networkID", byte[].class, byte[].class); - networkCommissioningreorderNetworkCommandParams.put("networkID",networkCommissioningreorderNetworknetworkIDCommandParameterInfo); + operationalCredentialsClusterInteractionInfoMap.put("updateFabricLabel", operationalCredentialsupdateFabricLabelInteractionInfo); - CommandParameterInfo networkCommissioningreorderNetworknetworkIndexCommandParameterInfo = new CommandParameterInfo("networkIndex", Integer.class, Integer.class); - networkCommissioningreorderNetworkCommandParams.put("networkIndex",networkCommissioningreorderNetworknetworkIndexCommandParameterInfo); + Map operationalCredentialsremoveFabricCommandParams = new LinkedHashMap(); - CommandParameterInfo networkCommissioningreorderNetworkbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); - networkCommissioningreorderNetworkCommandParams.put("breadcrumb",networkCommissioningreorderNetworkbreadcrumbCommandParameterInfo); - InteractionInfo networkCommissioningreorderNetworkInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialsremoveFabricfabricIndexCommandParameterInfo = new CommandParameterInfo("fabricIndex", Integer.class, Integer.class); + operationalCredentialsremoveFabricCommandParams.put("fabricIndex",operationalCredentialsremoveFabricfabricIndexCommandParameterInfo); + InteractionInfo operationalCredentialsremoveFabricInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.NetworkCommissioningCluster) cluster) - .reorderNetwork((ChipClusters.NetworkCommissioningCluster.NetworkConfigResponseCallback) callback - , (byte[]) - commandArguments.get("networkID") - + ((ChipClusters.OperationalCredentialsCluster) cluster) + .removeFabric((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback , (Integer) - commandArguments.get("networkIndex") - - , (Optional) - commandArguments.get("breadcrumb") + commandArguments.get("fabricIndex") ); }, - () -> new DelegatedNetworkCommissioningClusterNetworkConfigResponseCallback(), - networkCommissioningreorderNetworkCommandParams + () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), + operationalCredentialsremoveFabricCommandParams ); - networkCommissioningClusterInteractionInfoMap.put("reorderNetwork", networkCommissioningreorderNetworkInteractionInfo); - - Map networkCommissioningqueryIdentityCommandParams = new LinkedHashMap(); + operationalCredentialsClusterInteractionInfoMap.put("removeFabric", operationalCredentialsremoveFabricInteractionInfo); - CommandParameterInfo networkCommissioningqueryIdentitykeyIdentifierCommandParameterInfo = new CommandParameterInfo("keyIdentifier", byte[].class, byte[].class); - networkCommissioningqueryIdentityCommandParams.put("keyIdentifier",networkCommissioningqueryIdentitykeyIdentifierCommandParameterInfo); + Map operationalCredentialsaddTrustedRootCertificateCommandParams = new LinkedHashMap(); - CommandParameterInfo networkCommissioningqueryIdentitypossessionNonceCommandParameterInfo = new CommandParameterInfo("possessionNonce", Optional.class, byte[].class); - networkCommissioningqueryIdentityCommandParams.put("possessionNonce",networkCommissioningqueryIdentitypossessionNonceCommandParameterInfo); - InteractionInfo networkCommissioningqueryIdentityInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialsaddTrustedRootCertificaterootCACertificateCommandParameterInfo = new CommandParameterInfo("rootCACertificate", byte[].class, byte[].class); + operationalCredentialsaddTrustedRootCertificateCommandParams.put("rootCACertificate",operationalCredentialsaddTrustedRootCertificaterootCACertificateCommandParameterInfo); + InteractionInfo operationalCredentialsaddTrustedRootCertificateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.NetworkCommissioningCluster) cluster) - .queryIdentity((ChipClusters.NetworkCommissioningCluster.QueryIdentityResponseCallback) callback - , (byte[]) - commandArguments.get("keyIdentifier") - - , (Optional) - commandArguments.get("possessionNonce") - - ); - }, - () -> new DelegatedNetworkCommissioningClusterQueryIdentityResponseCallback(), - networkCommissioningqueryIdentityCommandParams - ); - networkCommissioningClusterInteractionInfoMap.put("queryIdentity", networkCommissioningqueryIdentityInteractionInfo); + ((ChipClusters.OperationalCredentialsCluster) cluster) + .addTrustedRootCertificate((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("rootCACertificate") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + operationalCredentialsaddTrustedRootCertificateCommandParams + ); + operationalCredentialsClusterInteractionInfoMap.put("addTrustedRootCertificate", operationalCredentialsaddTrustedRootCertificateInteractionInfo); - commandMap.put("networkCommissioning", networkCommissioningClusterInteractionInfoMap); + commandMap.put("operationalCredentials", operationalCredentialsClusterInteractionInfoMap); - Map diagnosticLogsClusterInteractionInfoMap = new LinkedHashMap<>(); + Map groupKeyManagementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map diagnosticLogsretrieveLogsRequestCommandParams = new LinkedHashMap(); + Map groupKeyManagementkeySetWriteCommandParams = new LinkedHashMap(); - CommandParameterInfo diagnosticLogsretrieveLogsRequestintentCommandParameterInfo = new CommandParameterInfo("intent", Integer.class, Integer.class); - diagnosticLogsretrieveLogsRequestCommandParams.put("intent",diagnosticLogsretrieveLogsRequestintentCommandParameterInfo); + InteractionInfo groupKeyManagementkeySetWriteInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.GroupKeyManagementCluster) cluster) + .keySetWrite((DefaultClusterCallback) callback + , (ChipStructs.GroupKeyManagementClusterGroupKeySetStruct) + commandArguments.get("groupKeySet") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + groupKeyManagementkeySetWriteCommandParams + ); + groupKeyManagementClusterInteractionInfoMap.put("keySetWrite", groupKeyManagementkeySetWriteInteractionInfo); - CommandParameterInfo diagnosticLogsretrieveLogsRequestrequestedProtocolCommandParameterInfo = new CommandParameterInfo("requestedProtocol", Integer.class, Integer.class); - diagnosticLogsretrieveLogsRequestCommandParams.put("requestedProtocol",diagnosticLogsretrieveLogsRequestrequestedProtocolCommandParameterInfo); + Map groupKeyManagementkeySetReadCommandParams = new LinkedHashMap(); - CommandParameterInfo diagnosticLogsretrieveLogsRequesttransferFileDesignatorCommandParameterInfo = new CommandParameterInfo("transferFileDesignator", Optional.class, String.class); - diagnosticLogsretrieveLogsRequestCommandParams.put("transferFileDesignator",diagnosticLogsretrieveLogsRequesttransferFileDesignatorCommandParameterInfo); - InteractionInfo diagnosticLogsretrieveLogsRequestInteractionInfo = new InteractionInfo( + CommandParameterInfo groupKeyManagementkeySetReadgroupKeySetIDCommandParameterInfo = new CommandParameterInfo("groupKeySetID", Integer.class, Integer.class); + groupKeyManagementkeySetReadCommandParams.put("groupKeySetID",groupKeyManagementkeySetReadgroupKeySetIDCommandParameterInfo); + InteractionInfo groupKeyManagementkeySetReadInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DiagnosticLogsCluster) cluster) - .retrieveLogsRequest((ChipClusters.DiagnosticLogsCluster.RetrieveLogsResponseCallback) callback - , (Integer) - commandArguments.get("intent") - + ((ChipClusters.GroupKeyManagementCluster) cluster) + .keySetRead((ChipClusters.GroupKeyManagementCluster.KeySetReadResponseCallback) callback , (Integer) - commandArguments.get("requestedProtocol") - - , (Optional) - commandArguments.get("transferFileDesignator") + commandArguments.get("groupKeySetID") ); }, - () -> new DelegatedDiagnosticLogsClusterRetrieveLogsResponseCallback(), - diagnosticLogsretrieveLogsRequestCommandParams + () -> new DelegatedGroupKeyManagementClusterKeySetReadResponseCallback(), + groupKeyManagementkeySetReadCommandParams ); - diagnosticLogsClusterInteractionInfoMap.put("retrieveLogsRequest", diagnosticLogsretrieveLogsRequestInteractionInfo); - - commandMap.put("diagnosticLogs", diagnosticLogsClusterInteractionInfoMap); - - Map generalDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map generalDiagnosticstestEventTriggerCommandParams = new LinkedHashMap(); + groupKeyManagementClusterInteractionInfoMap.put("keySetRead", groupKeyManagementkeySetReadInteractionInfo); - CommandParameterInfo generalDiagnosticstestEventTriggerenableKeyCommandParameterInfo = new CommandParameterInfo("enableKey", byte[].class, byte[].class); - generalDiagnosticstestEventTriggerCommandParams.put("enableKey",generalDiagnosticstestEventTriggerenableKeyCommandParameterInfo); + Map groupKeyManagementkeySetRemoveCommandParams = new LinkedHashMap(); - CommandParameterInfo generalDiagnosticstestEventTriggereventTriggerCommandParameterInfo = new CommandParameterInfo("eventTrigger", Long.class, Long.class); - generalDiagnosticstestEventTriggerCommandParams.put("eventTrigger",generalDiagnosticstestEventTriggereventTriggerCommandParameterInfo); - InteractionInfo generalDiagnosticstestEventTriggerInteractionInfo = new InteractionInfo( + CommandParameterInfo groupKeyManagementkeySetRemovegroupKeySetIDCommandParameterInfo = new CommandParameterInfo("groupKeySetID", Integer.class, Integer.class); + groupKeyManagementkeySetRemoveCommandParams.put("groupKeySetID",groupKeyManagementkeySetRemovegroupKeySetIDCommandParameterInfo); + InteractionInfo groupKeyManagementkeySetRemoveInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GeneralDiagnosticsCluster) cluster) - .testEventTrigger((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("enableKey") - , (Long) - commandArguments.get("eventTrigger") + ((ChipClusters.GroupKeyManagementCluster) cluster) + .keySetRemove((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("groupKeySetID") ); }, () -> new DelegatedDefaultClusterCallback(), - generalDiagnosticstestEventTriggerCommandParams + groupKeyManagementkeySetRemoveCommandParams ); - generalDiagnosticsClusterInteractionInfoMap.put("testEventTrigger", generalDiagnosticstestEventTriggerInteractionInfo); + groupKeyManagementClusterInteractionInfoMap.put("keySetRemove", groupKeyManagementkeySetRemoveInteractionInfo); - Map generalDiagnosticstimeSnapshotCommandParams = new LinkedHashMap(); - InteractionInfo generalDiagnosticstimeSnapshotInteractionInfo = new InteractionInfo( + Map groupKeyManagementkeySetReadAllIndicesCommandParams = new LinkedHashMap(); + InteractionInfo groupKeyManagementkeySetReadAllIndicesInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GeneralDiagnosticsCluster) cluster) - .timeSnapshot((ChipClusters.GeneralDiagnosticsCluster.TimeSnapshotResponseCallback) callback + ((ChipClusters.GroupKeyManagementCluster) cluster) + .keySetReadAllIndices((ChipClusters.GroupKeyManagementCluster.KeySetReadAllIndicesResponseCallback) callback ); }, - () -> new DelegatedGeneralDiagnosticsClusterTimeSnapshotResponseCallback(), - generalDiagnosticstimeSnapshotCommandParams + () -> new DelegatedGroupKeyManagementClusterKeySetReadAllIndicesResponseCallback(), + groupKeyManagementkeySetReadAllIndicesCommandParams ); - generalDiagnosticsClusterInteractionInfoMap.put("timeSnapshot", generalDiagnosticstimeSnapshotInteractionInfo); + groupKeyManagementClusterInteractionInfoMap.put("keySetReadAllIndices", groupKeyManagementkeySetReadAllIndicesInteractionInfo); - Map generalDiagnosticspayloadTestRequestCommandParams = new LinkedHashMap(); + commandMap.put("groupKeyManagement", groupKeyManagementClusterInteractionInfoMap); - CommandParameterInfo generalDiagnosticspayloadTestRequestenableKeyCommandParameterInfo = new CommandParameterInfo("enableKey", byte[].class, byte[].class); - generalDiagnosticspayloadTestRequestCommandParams.put("enableKey",generalDiagnosticspayloadTestRequestenableKeyCommandParameterInfo); + Map fixedLabelClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo generalDiagnosticspayloadTestRequestvalueCommandParameterInfo = new CommandParameterInfo("value", Integer.class, Integer.class); - generalDiagnosticspayloadTestRequestCommandParams.put("value",generalDiagnosticspayloadTestRequestvalueCommandParameterInfo); + commandMap.put("fixedLabel", fixedLabelClusterInteractionInfoMap); - CommandParameterInfo generalDiagnosticspayloadTestRequestcountCommandParameterInfo = new CommandParameterInfo("count", Integer.class, Integer.class); - generalDiagnosticspayloadTestRequestCommandParams.put("count",generalDiagnosticspayloadTestRequestcountCommandParameterInfo); - InteractionInfo generalDiagnosticspayloadTestRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.GeneralDiagnosticsCluster) cluster) - .payloadTestRequest((ChipClusters.GeneralDiagnosticsCluster.PayloadTestResponseCallback) callback - , (byte[]) - commandArguments.get("enableKey") + Map userLabelClusterInteractionInfoMap = new LinkedHashMap<>(); - , (Integer) - commandArguments.get("value") + commandMap.put("userLabel", userLabelClusterInteractionInfoMap); - , (Integer) - commandArguments.get("count") + Map proxyConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - ); - }, - () -> new DelegatedGeneralDiagnosticsClusterPayloadTestResponseCallback(), - generalDiagnosticspayloadTestRequestCommandParams - ); - generalDiagnosticsClusterInteractionInfoMap.put("payloadTestRequest", generalDiagnosticspayloadTestRequestInteractionInfo); + commandMap.put("proxyConfiguration", proxyConfigurationClusterInteractionInfoMap); - commandMap.put("generalDiagnostics", generalDiagnosticsClusterInteractionInfoMap); + Map proxyDiscoveryClusterInteractionInfoMap = new LinkedHashMap<>(); - Map softwareDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("proxyDiscovery", proxyDiscoveryClusterInteractionInfoMap); - Map softwareDiagnosticsresetWatermarksCommandParams = new LinkedHashMap(); - InteractionInfo softwareDiagnosticsresetWatermarksInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.SoftwareDiagnosticsCluster) cluster) - .resetWatermarks((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - softwareDiagnosticsresetWatermarksCommandParams - ); - softwareDiagnosticsClusterInteractionInfoMap.put("resetWatermarks", softwareDiagnosticsresetWatermarksInteractionInfo); + Map proxyValidClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("softwareDiagnostics", softwareDiagnosticsClusterInteractionInfoMap); + commandMap.put("proxyValid", proxyValidClusterInteractionInfoMap); - Map threadNetworkDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); + Map booleanStateClusterInteractionInfoMap = new LinkedHashMap<>(); - Map threadNetworkDiagnosticsresetCountsCommandParams = new LinkedHashMap(); - InteractionInfo threadNetworkDiagnosticsresetCountsInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadNetworkDiagnosticsCluster) cluster) - .resetCounts((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - threadNetworkDiagnosticsresetCountsCommandParams - ); - threadNetworkDiagnosticsClusterInteractionInfoMap.put("resetCounts", threadNetworkDiagnosticsresetCountsInteractionInfo); + commandMap.put("booleanState", booleanStateClusterInteractionInfoMap); - commandMap.put("threadNetworkDiagnostics", threadNetworkDiagnosticsClusterInteractionInfoMap); + Map icdManagementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map wiFiNetworkDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); + Map icdManagementregisterClientCommandParams = new LinkedHashMap(); - Map wiFiNetworkDiagnosticsresetCountsCommandParams = new LinkedHashMap(); - InteractionInfo wiFiNetworkDiagnosticsresetCountsInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.WiFiNetworkDiagnosticsCluster) cluster) - .resetCounts((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - wiFiNetworkDiagnosticsresetCountsCommandParams - ); - wiFiNetworkDiagnosticsClusterInteractionInfoMap.put("resetCounts", wiFiNetworkDiagnosticsresetCountsInteractionInfo); + CommandParameterInfo icdManagementregisterClientcheckInNodeIDCommandParameterInfo = new CommandParameterInfo("checkInNodeID", Long.class, Long.class); + icdManagementregisterClientCommandParams.put("checkInNodeID",icdManagementregisterClientcheckInNodeIDCommandParameterInfo); - commandMap.put("wiFiNetworkDiagnostics", wiFiNetworkDiagnosticsClusterInteractionInfoMap); + CommandParameterInfo icdManagementregisterClientmonitoredSubjectCommandParameterInfo = new CommandParameterInfo("monitoredSubject", Long.class, Long.class); + icdManagementregisterClientCommandParams.put("monitoredSubject",icdManagementregisterClientmonitoredSubjectCommandParameterInfo); - Map ethernetNetworkDiagnosticsClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo icdManagementregisterClientkeyCommandParameterInfo = new CommandParameterInfo("key", byte[].class, byte[].class); + icdManagementregisterClientCommandParams.put("key",icdManagementregisterClientkeyCommandParameterInfo); - Map ethernetNetworkDiagnosticsresetCountsCommandParams = new LinkedHashMap(); - InteractionInfo ethernetNetworkDiagnosticsresetCountsInteractionInfo = new InteractionInfo( + CommandParameterInfo icdManagementregisterClientverificationKeyCommandParameterInfo = new CommandParameterInfo("verificationKey", Optional.class, byte[].class); + icdManagementregisterClientCommandParams.put("verificationKey",icdManagementregisterClientverificationKeyCommandParameterInfo); + + CommandParameterInfo icdManagementregisterClientclientTypeCommandParameterInfo = new CommandParameterInfo("clientType", Integer.class, Integer.class); + icdManagementregisterClientCommandParams.put("clientType",icdManagementregisterClientclientTypeCommandParameterInfo); + InteractionInfo icdManagementregisterClientInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EthernetNetworkDiagnosticsCluster) cluster) - .resetCounts((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - ethernetNetworkDiagnosticsresetCountsCommandParams - ); - ethernetNetworkDiagnosticsClusterInteractionInfoMap.put("resetCounts", ethernetNetworkDiagnosticsresetCountsInteractionInfo); + ((ChipClusters.IcdManagementCluster) cluster) + .registerClient((ChipClusters.IcdManagementCluster.RegisterClientResponseCallback) callback + , (Long) + commandArguments.get("checkInNodeID") - commandMap.put("ethernetNetworkDiagnostics", ethernetNetworkDiagnosticsClusterInteractionInfoMap); + , (Long) + commandArguments.get("monitoredSubject") - Map timeSynchronizationClusterInteractionInfoMap = new LinkedHashMap<>(); + , (byte[]) + commandArguments.get("key") - Map timeSynchronizationsetUTCTimeCommandParams = new LinkedHashMap(); + , (Optional) + commandArguments.get("verificationKey") - CommandParameterInfo timeSynchronizationsetUTCTimeUTCTimeCommandParameterInfo = new CommandParameterInfo("UTCTime", Long.class, Long.class); - timeSynchronizationsetUTCTimeCommandParams.put("UTCTime",timeSynchronizationsetUTCTimeUTCTimeCommandParameterInfo); + , (Integer) + commandArguments.get("clientType") - CommandParameterInfo timeSynchronizationsetUTCTimegranularityCommandParameterInfo = new CommandParameterInfo("granularity", Integer.class, Integer.class); - timeSynchronizationsetUTCTimeCommandParams.put("granularity",timeSynchronizationsetUTCTimegranularityCommandParameterInfo); + ); + }, + () -> new DelegatedIcdManagementClusterRegisterClientResponseCallback(), + icdManagementregisterClientCommandParams + ); + icdManagementClusterInteractionInfoMap.put("registerClient", icdManagementregisterClientInteractionInfo); - CommandParameterInfo timeSynchronizationsetUTCTimetimeSourceCommandParameterInfo = new CommandParameterInfo("timeSource", Optional.class, Integer.class); - timeSynchronizationsetUTCTimeCommandParams.put("timeSource",timeSynchronizationsetUTCTimetimeSourceCommandParameterInfo); - InteractionInfo timeSynchronizationsetUTCTimeInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.TimeSynchronizationCluster) cluster) - .setUTCTime((DefaultClusterCallback) callback - , (Long) - commandArguments.get("UTCTime") - , (Integer) - commandArguments.get("granularity") - , (Optional) - commandArguments.get("timeSource") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - timeSynchronizationsetUTCTimeCommandParams - ); - timeSynchronizationClusterInteractionInfoMap.put("setUTCTime", timeSynchronizationsetUTCTimeInteractionInfo); + Map icdManagementunregisterClientCommandParams = new LinkedHashMap(); - Map timeSynchronizationsetTrustedTimeSourceCommandParams = new LinkedHashMap(); + CommandParameterInfo icdManagementunregisterClientcheckInNodeIDCommandParameterInfo = new CommandParameterInfo("checkInNodeID", Long.class, Long.class); + icdManagementunregisterClientCommandParams.put("checkInNodeID",icdManagementunregisterClientcheckInNodeIDCommandParameterInfo); - InteractionInfo timeSynchronizationsetTrustedTimeSourceInteractionInfo = new InteractionInfo( + CommandParameterInfo icdManagementunregisterClientverificationKeyCommandParameterInfo = new CommandParameterInfo("verificationKey", Optional.class, byte[].class); + icdManagementunregisterClientCommandParams.put("verificationKey",icdManagementunregisterClientverificationKeyCommandParameterInfo); + InteractionInfo icdManagementunregisterClientInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.TimeSynchronizationCluster) cluster) - .setTrustedTimeSource((DefaultClusterCallback) callback - , (ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct) - commandArguments.get("trustedTimeSource") + ((ChipClusters.IcdManagementCluster) cluster) + .unregisterClient((DefaultClusterCallback) callback + , (Long) + commandArguments.get("checkInNodeID") + , (Optional) + commandArguments.get("verificationKey") ); }, () -> new DelegatedDefaultClusterCallback(), - timeSynchronizationsetTrustedTimeSourceCommandParams + icdManagementunregisterClientCommandParams ); - timeSynchronizationClusterInteractionInfoMap.put("setTrustedTimeSource", timeSynchronizationsetTrustedTimeSourceInteractionInfo); + icdManagementClusterInteractionInfoMap.put("unregisterClient", icdManagementunregisterClientInteractionInfo); - Map timeSynchronizationsetTimeZoneCommandParams = new LinkedHashMap(); + Map icdManagementstayActiveRequestCommandParams = new LinkedHashMap(); - InteractionInfo timeSynchronizationsetTimeZoneInteractionInfo = new InteractionInfo( + CommandParameterInfo icdManagementstayActiveRequeststayActiveDurationCommandParameterInfo = new CommandParameterInfo("stayActiveDuration", Long.class, Long.class); + icdManagementstayActiveRequestCommandParams.put("stayActiveDuration",icdManagementstayActiveRequeststayActiveDurationCommandParameterInfo); + InteractionInfo icdManagementstayActiveRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.TimeSynchronizationCluster) cluster) - .setTimeZone((ChipClusters.TimeSynchronizationCluster.SetTimeZoneResponseCallback) callback - , (ArrayList) - commandArguments.get("timeZone") + ((ChipClusters.IcdManagementCluster) cluster) + .stayActiveRequest((ChipClusters.IcdManagementCluster.StayActiveResponseCallback) callback + , (Long) + commandArguments.get("stayActiveDuration") ); }, - () -> new DelegatedTimeSynchronizationClusterSetTimeZoneResponseCallback(), - timeSynchronizationsetTimeZoneCommandParams + () -> new DelegatedIcdManagementClusterStayActiveResponseCallback(), + icdManagementstayActiveRequestCommandParams ); - timeSynchronizationClusterInteractionInfoMap.put("setTimeZone", timeSynchronizationsetTimeZoneInteractionInfo); + icdManagementClusterInteractionInfoMap.put("stayActiveRequest", icdManagementstayActiveRequestInteractionInfo); - Map timeSynchronizationsetDSTOffsetCommandParams = new LinkedHashMap(); + commandMap.put("icdManagement", icdManagementClusterInteractionInfoMap); - InteractionInfo timeSynchronizationsetDSTOffsetInteractionInfo = new InteractionInfo( + Map timerClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map timersetTimerCommandParams = new LinkedHashMap(); + + CommandParameterInfo timersetTimernewTimeCommandParameterInfo = new CommandParameterInfo("newTime", Long.class, Long.class); + timersetTimerCommandParams.put("newTime",timersetTimernewTimeCommandParameterInfo); + InteractionInfo timersetTimerInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.TimeSynchronizationCluster) cluster) - .setDSTOffset((DefaultClusterCallback) callback - , (ArrayList) - commandArguments.get("DSTOffset") + ((ChipClusters.TimerCluster) cluster) + .setTimer((DefaultClusterCallback) callback + , (Long) + commandArguments.get("newTime") ); }, () -> new DelegatedDefaultClusterCallback(), - timeSynchronizationsetDSTOffsetCommandParams + timersetTimerCommandParams ); - timeSynchronizationClusterInteractionInfoMap.put("setDSTOffset", timeSynchronizationsetDSTOffsetInteractionInfo); - - Map timeSynchronizationsetDefaultNTPCommandParams = new LinkedHashMap(); + timerClusterInteractionInfoMap.put("setTimer", timersetTimerInteractionInfo); - CommandParameterInfo timeSynchronizationsetDefaultNTPdefaultNTPCommandParameterInfo = new CommandParameterInfo("defaultNTP", String.class, String.class); - timeSynchronizationsetDefaultNTPCommandParams.put("defaultNTP",timeSynchronizationsetDefaultNTPdefaultNTPCommandParameterInfo); - InteractionInfo timeSynchronizationsetDefaultNTPInteractionInfo = new InteractionInfo( + Map timerresetTimerCommandParams = new LinkedHashMap(); + InteractionInfo timerresetTimerInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.TimeSynchronizationCluster) cluster) - .setDefaultNTP((DefaultClusterCallback) callback - , (String) - commandArguments.get("defaultNTP") + ((ChipClusters.TimerCluster) cluster) + .resetTimer((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - timeSynchronizationsetDefaultNTPCommandParams + timerresetTimerCommandParams ); - timeSynchronizationClusterInteractionInfoMap.put("setDefaultNTP", timeSynchronizationsetDefaultNTPInteractionInfo); - - commandMap.put("timeSynchronization", timeSynchronizationClusterInteractionInfoMap); - - Map bridgedDeviceBasicInformationClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map bridgedDeviceBasicInformationkeepActiveCommandParams = new LinkedHashMap(); + timerClusterInteractionInfoMap.put("resetTimer", timerresetTimerInteractionInfo); - CommandParameterInfo bridgedDeviceBasicInformationkeepActivestayActiveDurationCommandParameterInfo = new CommandParameterInfo("stayActiveDuration", Long.class, Long.class); - bridgedDeviceBasicInformationkeepActiveCommandParams.put("stayActiveDuration",bridgedDeviceBasicInformationkeepActivestayActiveDurationCommandParameterInfo); + Map timeraddTimeCommandParams = new LinkedHashMap(); - CommandParameterInfo bridgedDeviceBasicInformationkeepActivetimeoutMsCommandParameterInfo = new CommandParameterInfo("timeoutMs", Long.class, Long.class); - bridgedDeviceBasicInformationkeepActiveCommandParams.put("timeoutMs",bridgedDeviceBasicInformationkeepActivetimeoutMsCommandParameterInfo); - InteractionInfo bridgedDeviceBasicInformationkeepActiveInteractionInfo = new InteractionInfo( + CommandParameterInfo timeraddTimeadditionalTimeCommandParameterInfo = new CommandParameterInfo("additionalTime", Long.class, Long.class); + timeraddTimeCommandParams.put("additionalTime",timeraddTimeadditionalTimeCommandParameterInfo); + InteractionInfo timeraddTimeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.BridgedDeviceBasicInformationCluster) cluster) - .keepActive((DefaultClusterCallback) callback - , (Long) - commandArguments.get("stayActiveDuration") + ((ChipClusters.TimerCluster) cluster) + .addTime((DefaultClusterCallback) callback , (Long) - commandArguments.get("timeoutMs") + commandArguments.get("additionalTime") ); }, () -> new DelegatedDefaultClusterCallback(), - bridgedDeviceBasicInformationkeepActiveCommandParams + timeraddTimeCommandParams ); - bridgedDeviceBasicInformationClusterInteractionInfoMap.put("keepActive", bridgedDeviceBasicInformationkeepActiveInteractionInfo); - - commandMap.put("bridgedDeviceBasicInformation", bridgedDeviceBasicInformationClusterInteractionInfoMap); - - Map switchClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("switch", switchClusterInteractionInfoMap); - - Map administratorCommissioningClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map administratorCommissioningopenCommissioningWindowCommandParams = new LinkedHashMap(); - - CommandParameterInfo administratorCommissioningopenCommissioningWindowcommissioningTimeoutCommandParameterInfo = new CommandParameterInfo("commissioningTimeout", Integer.class, Integer.class); - administratorCommissioningopenCommissioningWindowCommandParams.put("commissioningTimeout",administratorCommissioningopenCommissioningWindowcommissioningTimeoutCommandParameterInfo); - - CommandParameterInfo administratorCommissioningopenCommissioningWindowPAKEPasscodeVerifierCommandParameterInfo = new CommandParameterInfo("PAKEPasscodeVerifier", byte[].class, byte[].class); - administratorCommissioningopenCommissioningWindowCommandParams.put("PAKEPasscodeVerifier",administratorCommissioningopenCommissioningWindowPAKEPasscodeVerifierCommandParameterInfo); - - CommandParameterInfo administratorCommissioningopenCommissioningWindowdiscriminatorCommandParameterInfo = new CommandParameterInfo("discriminator", Integer.class, Integer.class); - administratorCommissioningopenCommissioningWindowCommandParams.put("discriminator",administratorCommissioningopenCommissioningWindowdiscriminatorCommandParameterInfo); + timerClusterInteractionInfoMap.put("addTime", timeraddTimeInteractionInfo); - CommandParameterInfo administratorCommissioningopenCommissioningWindowiterationsCommandParameterInfo = new CommandParameterInfo("iterations", Long.class, Long.class); - administratorCommissioningopenCommissioningWindowCommandParams.put("iterations",administratorCommissioningopenCommissioningWindowiterationsCommandParameterInfo); + Map timerreduceTimeCommandParams = new LinkedHashMap(); - CommandParameterInfo administratorCommissioningopenCommissioningWindowsaltCommandParameterInfo = new CommandParameterInfo("salt", byte[].class, byte[].class); - administratorCommissioningopenCommissioningWindowCommandParams.put("salt",administratorCommissioningopenCommissioningWindowsaltCommandParameterInfo); - InteractionInfo administratorCommissioningopenCommissioningWindowInteractionInfo = new InteractionInfo( + CommandParameterInfo timerreduceTimetimeReductionCommandParameterInfo = new CommandParameterInfo("timeReduction", Long.class, Long.class); + timerreduceTimeCommandParams.put("timeReduction",timerreduceTimetimeReductionCommandParameterInfo); + InteractionInfo timerreduceTimeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AdministratorCommissioningCluster) cluster) - .openCommissioningWindow((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("commissioningTimeout") - , (byte[]) - commandArguments.get("PAKEPasscodeVerifier") - , (Integer) - commandArguments.get("discriminator") + ((ChipClusters.TimerCluster) cluster) + .reduceTime((DefaultClusterCallback) callback , (Long) - commandArguments.get("iterations") - , (byte[]) - commandArguments.get("salt"), 10000 + commandArguments.get("timeReduction") ); }, () -> new DelegatedDefaultClusterCallback(), - administratorCommissioningopenCommissioningWindowCommandParams + timerreduceTimeCommandParams ); - administratorCommissioningClusterInteractionInfoMap.put("openCommissioningWindow", administratorCommissioningopenCommissioningWindowInteractionInfo); + timerClusterInteractionInfoMap.put("reduceTime", timerreduceTimeInteractionInfo); - Map administratorCommissioningopenBasicCommissioningWindowCommandParams = new LinkedHashMap(); + commandMap.put("timer", timerClusterInteractionInfoMap); - CommandParameterInfo administratorCommissioningopenBasicCommissioningWindowcommissioningTimeoutCommandParameterInfo = new CommandParameterInfo("commissioningTimeout", Integer.class, Integer.class); - administratorCommissioningopenBasicCommissioningWindowCommandParams.put("commissioningTimeout",administratorCommissioningopenBasicCommissioningWindowcommissioningTimeoutCommandParameterInfo); - InteractionInfo administratorCommissioningopenBasicCommissioningWindowInteractionInfo = new InteractionInfo( + Map ovenCavityOperationalStateClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map ovenCavityOperationalStatepauseCommandParams = new LinkedHashMap(); + InteractionInfo ovenCavityOperationalStatepauseInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AdministratorCommissioningCluster) cluster) - .openBasicCommissioningWindow((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("commissioningTimeout"), 10000 - ); - }, - () -> new DelegatedDefaultClusterCallback(), - administratorCommissioningopenBasicCommissioningWindowCommandParams - ); - administratorCommissioningClusterInteractionInfoMap.put("openBasicCommissioningWindow", administratorCommissioningopenBasicCommissioningWindowInteractionInfo); + ((ChipClusters.OvenCavityOperationalStateCluster) cluster) + .pause((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), + ovenCavityOperationalStatepauseCommandParams + ); + ovenCavityOperationalStateClusterInteractionInfoMap.put("pause", ovenCavityOperationalStatepauseInteractionInfo); - Map administratorCommissioningrevokeCommissioningCommandParams = new LinkedHashMap(); - InteractionInfo administratorCommissioningrevokeCommissioningInteractionInfo = new InteractionInfo( + Map ovenCavityOperationalStatestopCommandParams = new LinkedHashMap(); + InteractionInfo ovenCavityOperationalStatestopInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AdministratorCommissioningCluster) cluster) - .revokeCommissioning((DefaultClusterCallback) callback, 10000 - ); - }, - () -> new DelegatedDefaultClusterCallback(), - administratorCommissioningrevokeCommissioningCommandParams - ); - administratorCommissioningClusterInteractionInfoMap.put("revokeCommissioning", administratorCommissioningrevokeCommissioningInteractionInfo); + ((ChipClusters.OvenCavityOperationalStateCluster) cluster) + .stop((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), + ovenCavityOperationalStatestopCommandParams + ); + ovenCavityOperationalStateClusterInteractionInfoMap.put("stop", ovenCavityOperationalStatestopInteractionInfo); - commandMap.put("administratorCommissioning", administratorCommissioningClusterInteractionInfoMap); + Map ovenCavityOperationalStatestartCommandParams = new LinkedHashMap(); + InteractionInfo ovenCavityOperationalStatestartInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OvenCavityOperationalStateCluster) cluster) + .start((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), + ovenCavityOperationalStatestartCommandParams + ); + ovenCavityOperationalStateClusterInteractionInfoMap.put("start", ovenCavityOperationalStatestartInteractionInfo); - Map operationalCredentialsClusterInteractionInfoMap = new LinkedHashMap<>(); + Map ovenCavityOperationalStateresumeCommandParams = new LinkedHashMap(); + InteractionInfo ovenCavityOperationalStateresumeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OvenCavityOperationalStateCluster) cluster) + .resume((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), + ovenCavityOperationalStateresumeCommandParams + ); + ovenCavityOperationalStateClusterInteractionInfoMap.put("resume", ovenCavityOperationalStateresumeInteractionInfo); - Map operationalCredentialsattestationRequestCommandParams = new LinkedHashMap(); + commandMap.put("ovenCavityOperationalState", ovenCavityOperationalStateClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialsattestationRequestattestationNonceCommandParameterInfo = new CommandParameterInfo("attestationNonce", byte[].class, byte[].class); - operationalCredentialsattestationRequestCommandParams.put("attestationNonce",operationalCredentialsattestationRequestattestationNonceCommandParameterInfo); - InteractionInfo operationalCredentialsattestationRequestInteractionInfo = new InteractionInfo( + Map ovenModeClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map ovenModechangeToModeCommandParams = new LinkedHashMap(); + + CommandParameterInfo ovenModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + ovenModechangeToModeCommandParams.put("newMode",ovenModechangeToModenewModeCommandParameterInfo); + InteractionInfo ovenModechangeToModeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .attestationRequest((ChipClusters.OperationalCredentialsCluster.AttestationResponseCallback) callback - , (byte[]) - commandArguments.get("attestationNonce") + ((ChipClusters.OvenModeCluster) cluster) + .changeToMode((ChipClusters.OvenModeCluster.ChangeToModeResponseCallback) callback + , (Integer) + commandArguments.get("newMode") ); }, - () -> new DelegatedOperationalCredentialsClusterAttestationResponseCallback(), - operationalCredentialsattestationRequestCommandParams + () -> new DelegatedOvenModeClusterChangeToModeResponseCallback(), + ovenModechangeToModeCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("attestationRequest", operationalCredentialsattestationRequestInteractionInfo); + ovenModeClusterInteractionInfoMap.put("changeToMode", ovenModechangeToModeInteractionInfo); - Map operationalCredentialscertificateChainRequestCommandParams = new LinkedHashMap(); + commandMap.put("ovenMode", ovenModeClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialscertificateChainRequestcertificateTypeCommandParameterInfo = new CommandParameterInfo("certificateType", Integer.class, Integer.class); - operationalCredentialscertificateChainRequestCommandParams.put("certificateType",operationalCredentialscertificateChainRequestcertificateTypeCommandParameterInfo); - InteractionInfo operationalCredentialscertificateChainRequestInteractionInfo = new InteractionInfo( + Map laundryDryerControlsClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("laundryDryerControls", laundryDryerControlsClusterInteractionInfoMap); + + Map modeSelectClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map modeSelectchangeToModeCommandParams = new LinkedHashMap(); + + CommandParameterInfo modeSelectchangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + modeSelectchangeToModeCommandParams.put("newMode",modeSelectchangeToModenewModeCommandParameterInfo); + InteractionInfo modeSelectchangeToModeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .certificateChainRequest((ChipClusters.OperationalCredentialsCluster.CertificateChainResponseCallback) callback + ((ChipClusters.ModeSelectCluster) cluster) + .changeToMode((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("newMode") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + modeSelectchangeToModeCommandParams + ); + modeSelectClusterInteractionInfoMap.put("changeToMode", modeSelectchangeToModeInteractionInfo); + + commandMap.put("modeSelect", modeSelectClusterInteractionInfoMap); + + Map laundryWasherModeClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map laundryWasherModechangeToModeCommandParams = new LinkedHashMap(); + + CommandParameterInfo laundryWasherModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + laundryWasherModechangeToModeCommandParams.put("newMode",laundryWasherModechangeToModenewModeCommandParameterInfo); + InteractionInfo laundryWasherModechangeToModeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LaundryWasherModeCluster) cluster) + .changeToMode((ChipClusters.LaundryWasherModeCluster.ChangeToModeResponseCallback) callback , (Integer) - commandArguments.get("certificateType") + commandArguments.get("newMode") ); }, - () -> new DelegatedOperationalCredentialsClusterCertificateChainResponseCallback(), - operationalCredentialscertificateChainRequestCommandParams + () -> new DelegatedLaundryWasherModeClusterChangeToModeResponseCallback(), + laundryWasherModechangeToModeCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("certificateChainRequest", operationalCredentialscertificateChainRequestInteractionInfo); + laundryWasherModeClusterInteractionInfoMap.put("changeToMode", laundryWasherModechangeToModeInteractionInfo); - Map operationalCredentialsCSRRequestCommandParams = new LinkedHashMap(); + commandMap.put("laundryWasherMode", laundryWasherModeClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialsCSRRequestCSRNonceCommandParameterInfo = new CommandParameterInfo("CSRNonce", byte[].class, byte[].class); - operationalCredentialsCSRRequestCommandParams.put("CSRNonce",operationalCredentialsCSRRequestCSRNonceCommandParameterInfo); + Map refrigeratorAndTemperatureControlledCabinetModeClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo operationalCredentialsCSRRequestisForUpdateNOCCommandParameterInfo = new CommandParameterInfo("isForUpdateNOC", Optional.class, Boolean.class); - operationalCredentialsCSRRequestCommandParams.put("isForUpdateNOC",operationalCredentialsCSRRequestisForUpdateNOCCommandParameterInfo); - InteractionInfo operationalCredentialsCSRRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .CSRRequest((ChipClusters.OperationalCredentialsCluster.CSRResponseCallback) callback - , (byte[]) - commandArguments.get("CSRNonce") + Map refrigeratorAndTemperatureControlledCabinetModechangeToModeCommandParams = new LinkedHashMap(); - , (Optional) - commandArguments.get("isForUpdateNOC") + CommandParameterInfo refrigeratorAndTemperatureControlledCabinetModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + refrigeratorAndTemperatureControlledCabinetModechangeToModeCommandParams.put("newMode",refrigeratorAndTemperatureControlledCabinetModechangeToModenewModeCommandParameterInfo); + InteractionInfo refrigeratorAndTemperatureControlledCabinetModechangeToModeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.RefrigeratorAndTemperatureControlledCabinetModeCluster) cluster) + .changeToMode((ChipClusters.RefrigeratorAndTemperatureControlledCabinetModeCluster.ChangeToModeResponseCallback) callback + , (Integer) + commandArguments.get("newMode") ); }, - () -> new DelegatedOperationalCredentialsClusterCSRResponseCallback(), - operationalCredentialsCSRRequestCommandParams + () -> new DelegatedRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeResponseCallback(), + refrigeratorAndTemperatureControlledCabinetModechangeToModeCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("CSRRequest", operationalCredentialsCSRRequestInteractionInfo); + refrigeratorAndTemperatureControlledCabinetModeClusterInteractionInfoMap.put("changeToMode", refrigeratorAndTemperatureControlledCabinetModechangeToModeInteractionInfo); - Map operationalCredentialsaddNOCCommandParams = new LinkedHashMap(); + commandMap.put("refrigeratorAndTemperatureControlledCabinetMode", refrigeratorAndTemperatureControlledCabinetModeClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialsaddNOCNOCValueCommandParameterInfo = new CommandParameterInfo("NOCValue", byte[].class, byte[].class); - operationalCredentialsaddNOCCommandParams.put("NOCValue",operationalCredentialsaddNOCNOCValueCommandParameterInfo); + Map laundryWasherControlsClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo operationalCredentialsaddNOCICACValueCommandParameterInfo = new CommandParameterInfo("ICACValue", Optional.class, byte[].class); - operationalCredentialsaddNOCCommandParams.put("ICACValue",operationalCredentialsaddNOCICACValueCommandParameterInfo); + commandMap.put("laundryWasherControls", laundryWasherControlsClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialsaddNOCIPKValueCommandParameterInfo = new CommandParameterInfo("IPKValue", byte[].class, byte[].class); - operationalCredentialsaddNOCCommandParams.put("IPKValue",operationalCredentialsaddNOCIPKValueCommandParameterInfo); + Map rvcRunModeClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo operationalCredentialsaddNOCcaseAdminSubjectCommandParameterInfo = new CommandParameterInfo("caseAdminSubject", Long.class, Long.class); - operationalCredentialsaddNOCCommandParams.put("caseAdminSubject",operationalCredentialsaddNOCcaseAdminSubjectCommandParameterInfo); + Map rvcRunModechangeToModeCommandParams = new LinkedHashMap(); - CommandParameterInfo operationalCredentialsaddNOCadminVendorIdCommandParameterInfo = new CommandParameterInfo("adminVendorId", Integer.class, Integer.class); - operationalCredentialsaddNOCCommandParams.put("adminVendorId",operationalCredentialsaddNOCadminVendorIdCommandParameterInfo); - InteractionInfo operationalCredentialsaddNOCInteractionInfo = new InteractionInfo( + CommandParameterInfo rvcRunModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + rvcRunModechangeToModeCommandParams.put("newMode",rvcRunModechangeToModenewModeCommandParameterInfo); + InteractionInfo rvcRunModechangeToModeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .addNOC((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback - , (byte[]) - commandArguments.get("NOCValue") - - , (Optional) - commandArguments.get("ICACValue") - - , (byte[]) - commandArguments.get("IPKValue") - - , (Long) - commandArguments.get("caseAdminSubject") - + ((ChipClusters.RvcRunModeCluster) cluster) + .changeToMode((ChipClusters.RvcRunModeCluster.ChangeToModeResponseCallback) callback , (Integer) - commandArguments.get("adminVendorId") + commandArguments.get("newMode") ); }, - () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), - operationalCredentialsaddNOCCommandParams + () -> new DelegatedRvcRunModeClusterChangeToModeResponseCallback(), + rvcRunModechangeToModeCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("addNOC", operationalCredentialsaddNOCInteractionInfo); + rvcRunModeClusterInteractionInfoMap.put("changeToMode", rvcRunModechangeToModeInteractionInfo); - Map operationalCredentialsupdateNOCCommandParams = new LinkedHashMap(); + commandMap.put("rvcRunMode", rvcRunModeClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialsupdateNOCNOCValueCommandParameterInfo = new CommandParameterInfo("NOCValue", byte[].class, byte[].class); - operationalCredentialsupdateNOCCommandParams.put("NOCValue",operationalCredentialsupdateNOCNOCValueCommandParameterInfo); + Map rvcCleanModeClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo operationalCredentialsupdateNOCICACValueCommandParameterInfo = new CommandParameterInfo("ICACValue", Optional.class, byte[].class); - operationalCredentialsupdateNOCCommandParams.put("ICACValue",operationalCredentialsupdateNOCICACValueCommandParameterInfo); - InteractionInfo operationalCredentialsupdateNOCInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .updateNOC((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback - , (byte[]) - commandArguments.get("NOCValue") + Map rvcCleanModechangeToModeCommandParams = new LinkedHashMap(); - , (Optional) - commandArguments.get("ICACValue") + CommandParameterInfo rvcCleanModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + rvcCleanModechangeToModeCommandParams.put("newMode",rvcCleanModechangeToModenewModeCommandParameterInfo); + InteractionInfo rvcCleanModechangeToModeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.RvcCleanModeCluster) cluster) + .changeToMode((ChipClusters.RvcCleanModeCluster.ChangeToModeResponseCallback) callback + , (Integer) + commandArguments.get("newMode") ); }, - () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), - operationalCredentialsupdateNOCCommandParams + () -> new DelegatedRvcCleanModeClusterChangeToModeResponseCallback(), + rvcCleanModechangeToModeCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("updateNOC", operationalCredentialsupdateNOCInteractionInfo); + rvcCleanModeClusterInteractionInfoMap.put("changeToMode", rvcCleanModechangeToModeInteractionInfo); - Map operationalCredentialsupdateFabricLabelCommandParams = new LinkedHashMap(); + commandMap.put("rvcCleanMode", rvcCleanModeClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialsupdateFabricLabellabelCommandParameterInfo = new CommandParameterInfo("label", String.class, String.class); - operationalCredentialsupdateFabricLabelCommandParams.put("label",operationalCredentialsupdateFabricLabellabelCommandParameterInfo); - InteractionInfo operationalCredentialsupdateFabricLabelInteractionInfo = new InteractionInfo( + Map temperatureControlClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map temperatureControlsetTemperatureCommandParams = new LinkedHashMap(); + + CommandParameterInfo temperatureControlsetTemperaturetargetTemperatureCommandParameterInfo = new CommandParameterInfo("targetTemperature", Optional.class, Integer.class); + temperatureControlsetTemperatureCommandParams.put("targetTemperature",temperatureControlsetTemperaturetargetTemperatureCommandParameterInfo); + + CommandParameterInfo temperatureControlsetTemperaturetargetTemperatureLevelCommandParameterInfo = new CommandParameterInfo("targetTemperatureLevel", Optional.class, Integer.class); + temperatureControlsetTemperatureCommandParams.put("targetTemperatureLevel",temperatureControlsetTemperaturetargetTemperatureLevelCommandParameterInfo); + InteractionInfo temperatureControlsetTemperatureInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .updateFabricLabel((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback - , (String) - commandArguments.get("label") + ((ChipClusters.TemperatureControlCluster) cluster) + .setTemperature((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("targetTemperature") + , (Optional) + commandArguments.get("targetTemperatureLevel") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + temperatureControlsetTemperatureCommandParams + ); + temperatureControlClusterInteractionInfoMap.put("setTemperature", temperatureControlsetTemperatureInteractionInfo); - ); - }, - () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), - operationalCredentialsupdateFabricLabelCommandParams - ); - operationalCredentialsClusterInteractionInfoMap.put("updateFabricLabel", operationalCredentialsupdateFabricLabelInteractionInfo); + commandMap.put("temperatureControl", temperatureControlClusterInteractionInfoMap); - Map operationalCredentialsremoveFabricCommandParams = new LinkedHashMap(); + Map refrigeratorAlarmClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo operationalCredentialsremoveFabricfabricIndexCommandParameterInfo = new CommandParameterInfo("fabricIndex", Integer.class, Integer.class); - operationalCredentialsremoveFabricCommandParams.put("fabricIndex",operationalCredentialsremoveFabricfabricIndexCommandParameterInfo); - InteractionInfo operationalCredentialsremoveFabricInteractionInfo = new InteractionInfo( + commandMap.put("refrigeratorAlarm", refrigeratorAlarmClusterInteractionInfoMap); + + Map dishwasherModeClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map dishwasherModechangeToModeCommandParams = new LinkedHashMap(); + + CommandParameterInfo dishwasherModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + dishwasherModechangeToModeCommandParams.put("newMode",dishwasherModechangeToModenewModeCommandParameterInfo); + InteractionInfo dishwasherModechangeToModeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .removeFabric((ChipClusters.OperationalCredentialsCluster.NOCResponseCallback) callback + ((ChipClusters.DishwasherModeCluster) cluster) + .changeToMode((ChipClusters.DishwasherModeCluster.ChangeToModeResponseCallback) callback , (Integer) - commandArguments.get("fabricIndex") + commandArguments.get("newMode") ); }, - () -> new DelegatedOperationalCredentialsClusterNOCResponseCallback(), - operationalCredentialsremoveFabricCommandParams + () -> new DelegatedDishwasherModeClusterChangeToModeResponseCallback(), + dishwasherModechangeToModeCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("removeFabric", operationalCredentialsremoveFabricInteractionInfo); + dishwasherModeClusterInteractionInfoMap.put("changeToMode", dishwasherModechangeToModeInteractionInfo); - Map operationalCredentialsaddTrustedRootCertificateCommandParams = new LinkedHashMap(); + commandMap.put("dishwasherMode", dishwasherModeClusterInteractionInfoMap); - CommandParameterInfo operationalCredentialsaddTrustedRootCertificaterootCACertificateCommandParameterInfo = new CommandParameterInfo("rootCACertificate", byte[].class, byte[].class); - operationalCredentialsaddTrustedRootCertificateCommandParams.put("rootCACertificate",operationalCredentialsaddTrustedRootCertificaterootCACertificateCommandParameterInfo); - InteractionInfo operationalCredentialsaddTrustedRootCertificateInteractionInfo = new InteractionInfo( + Map airQualityClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("airQuality", airQualityClusterInteractionInfoMap); + + Map smokeCoAlarmClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map smokeCoAlarmselfTestRequestCommandParams = new LinkedHashMap(); + InteractionInfo smokeCoAlarmselfTestRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalCredentialsCluster) cluster) - .addTrustedRootCertificate((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("rootCACertificate") + ((ChipClusters.SmokeCoAlarmCluster) cluster) + .selfTestRequest((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - operationalCredentialsaddTrustedRootCertificateCommandParams + smokeCoAlarmselfTestRequestCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("addTrustedRootCertificate", operationalCredentialsaddTrustedRootCertificateInteractionInfo); + smokeCoAlarmClusterInteractionInfoMap.put("selfTestRequest", smokeCoAlarmselfTestRequestInteractionInfo); - commandMap.put("operationalCredentials", operationalCredentialsClusterInteractionInfoMap); + commandMap.put("smokeCoAlarm", smokeCoAlarmClusterInteractionInfoMap); - Map groupKeyManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + Map dishwasherAlarmClusterInteractionInfoMap = new LinkedHashMap<>(); - Map groupKeyManagementkeySetWriteCommandParams = new LinkedHashMap(); + Map dishwasherAlarmresetCommandParams = new LinkedHashMap(); - InteractionInfo groupKeyManagementkeySetWriteInteractionInfo = new InteractionInfo( + CommandParameterInfo dishwasherAlarmresetalarmsCommandParameterInfo = new CommandParameterInfo("alarms", Long.class, Long.class); + dishwasherAlarmresetCommandParams.put("alarms",dishwasherAlarmresetalarmsCommandParameterInfo); + InteractionInfo dishwasherAlarmresetInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupKeyManagementCluster) cluster) - .keySetWrite((DefaultClusterCallback) callback - , (ChipStructs.GroupKeyManagementClusterGroupKeySetStruct) - commandArguments.get("groupKeySet") + ((ChipClusters.DishwasherAlarmCluster) cluster) + .reset((DefaultClusterCallback) callback + , (Long) + commandArguments.get("alarms") ); }, () -> new DelegatedDefaultClusterCallback(), - groupKeyManagementkeySetWriteCommandParams + dishwasherAlarmresetCommandParams ); - groupKeyManagementClusterInteractionInfoMap.put("keySetWrite", groupKeyManagementkeySetWriteInteractionInfo); - - Map groupKeyManagementkeySetReadCommandParams = new LinkedHashMap(); - - CommandParameterInfo groupKeyManagementkeySetReadgroupKeySetIDCommandParameterInfo = new CommandParameterInfo("groupKeySetID", Integer.class, Integer.class); - groupKeyManagementkeySetReadCommandParams.put("groupKeySetID",groupKeyManagementkeySetReadgroupKeySetIDCommandParameterInfo); - InteractionInfo groupKeyManagementkeySetReadInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupKeyManagementCluster) cluster) - .keySetRead((ChipClusters.GroupKeyManagementCluster.KeySetReadResponseCallback) callback - , (Integer) - commandArguments.get("groupKeySetID") - - ); - }, - () -> new DelegatedGroupKeyManagementClusterKeySetReadResponseCallback(), - groupKeyManagementkeySetReadCommandParams - ); - groupKeyManagementClusterInteractionInfoMap.put("keySetRead", groupKeyManagementkeySetReadInteractionInfo); + dishwasherAlarmClusterInteractionInfoMap.put("reset", dishwasherAlarmresetInteractionInfo); - Map groupKeyManagementkeySetRemoveCommandParams = new LinkedHashMap(); + Map dishwasherAlarmmodifyEnabledAlarmsCommandParams = new LinkedHashMap(); - CommandParameterInfo groupKeyManagementkeySetRemovegroupKeySetIDCommandParameterInfo = new CommandParameterInfo("groupKeySetID", Integer.class, Integer.class); - groupKeyManagementkeySetRemoveCommandParams.put("groupKeySetID",groupKeyManagementkeySetRemovegroupKeySetIDCommandParameterInfo); - InteractionInfo groupKeyManagementkeySetRemoveInteractionInfo = new InteractionInfo( + CommandParameterInfo dishwasherAlarmmodifyEnabledAlarmsmaskCommandParameterInfo = new CommandParameterInfo("mask", Long.class, Long.class); + dishwasherAlarmmodifyEnabledAlarmsCommandParams.put("mask",dishwasherAlarmmodifyEnabledAlarmsmaskCommandParameterInfo); + InteractionInfo dishwasherAlarmmodifyEnabledAlarmsInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupKeyManagementCluster) cluster) - .keySetRemove((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("groupKeySetID") + ((ChipClusters.DishwasherAlarmCluster) cluster) + .modifyEnabledAlarms((DefaultClusterCallback) callback + , (Long) + commandArguments.get("mask") ); }, () -> new DelegatedDefaultClusterCallback(), - groupKeyManagementkeySetRemoveCommandParams + dishwasherAlarmmodifyEnabledAlarmsCommandParams ); - groupKeyManagementClusterInteractionInfoMap.put("keySetRemove", groupKeyManagementkeySetRemoveInteractionInfo); - - Map groupKeyManagementkeySetReadAllIndicesCommandParams = new LinkedHashMap(); - InteractionInfo groupKeyManagementkeySetReadAllIndicesInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.GroupKeyManagementCluster) cluster) - .keySetReadAllIndices((ChipClusters.GroupKeyManagementCluster.KeySetReadAllIndicesResponseCallback) callback - ); - }, - () -> new DelegatedGroupKeyManagementClusterKeySetReadAllIndicesResponseCallback(), - groupKeyManagementkeySetReadAllIndicesCommandParams - ); - groupKeyManagementClusterInteractionInfoMap.put("keySetReadAllIndices", groupKeyManagementkeySetReadAllIndicesInteractionInfo); - - commandMap.put("groupKeyManagement", groupKeyManagementClusterInteractionInfoMap); - - Map fixedLabelClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("fixedLabel", fixedLabelClusterInteractionInfoMap); - - Map userLabelClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("userLabel", userLabelClusterInteractionInfoMap); + dishwasherAlarmClusterInteractionInfoMap.put("modifyEnabledAlarms", dishwasherAlarmmodifyEnabledAlarmsInteractionInfo); - Map proxyConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("dishwasherAlarm", dishwasherAlarmClusterInteractionInfoMap); - commandMap.put("proxyConfiguration", proxyConfigurationClusterInteractionInfoMap); + Map microwaveOvenModeClusterInteractionInfoMap = new LinkedHashMap<>(); - Map proxyDiscoveryClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("microwaveOvenMode", microwaveOvenModeClusterInteractionInfoMap); - commandMap.put("proxyDiscovery", proxyDiscoveryClusterInteractionInfoMap); + Map microwaveOvenControlClusterInteractionInfoMap = new LinkedHashMap<>(); - Map proxyValidClusterInteractionInfoMap = new LinkedHashMap<>(); + Map microwaveOvenControlsetCookingParametersCommandParams = new LinkedHashMap(); - commandMap.put("proxyValid", proxyValidClusterInteractionInfoMap); + CommandParameterInfo microwaveOvenControlsetCookingParameterscookModeCommandParameterInfo = new CommandParameterInfo("cookMode", Optional.class, Integer.class); + microwaveOvenControlsetCookingParametersCommandParams.put("cookMode",microwaveOvenControlsetCookingParameterscookModeCommandParameterInfo); - Map booleanStateClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo microwaveOvenControlsetCookingParameterscookTimeCommandParameterInfo = new CommandParameterInfo("cookTime", Optional.class, Long.class); + microwaveOvenControlsetCookingParametersCommandParams.put("cookTime",microwaveOvenControlsetCookingParameterscookTimeCommandParameterInfo); - commandMap.put("booleanState", booleanStateClusterInteractionInfoMap); + CommandParameterInfo microwaveOvenControlsetCookingParameterspowerSettingCommandParameterInfo = new CommandParameterInfo("powerSetting", Optional.class, Integer.class); + microwaveOvenControlsetCookingParametersCommandParams.put("powerSetting",microwaveOvenControlsetCookingParameterspowerSettingCommandParameterInfo); - Map icdManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo microwaveOvenControlsetCookingParameterswattSettingIndexCommandParameterInfo = new CommandParameterInfo("wattSettingIndex", Optional.class, Integer.class); + microwaveOvenControlsetCookingParametersCommandParams.put("wattSettingIndex",microwaveOvenControlsetCookingParameterswattSettingIndexCommandParameterInfo); - Map icdManagementregisterClientCommandParams = new LinkedHashMap(); + CommandParameterInfo microwaveOvenControlsetCookingParametersstartAfterSettingCommandParameterInfo = new CommandParameterInfo("startAfterSetting", Optional.class, Boolean.class); + microwaveOvenControlsetCookingParametersCommandParams.put("startAfterSetting",microwaveOvenControlsetCookingParametersstartAfterSettingCommandParameterInfo); + InteractionInfo microwaveOvenControlsetCookingParametersInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MicrowaveOvenControlCluster) cluster) + .setCookingParameters((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("cookMode") + , (Optional) + commandArguments.get("cookTime") + , (Optional) + commandArguments.get("powerSetting") + , (Optional) + commandArguments.get("wattSettingIndex") + , (Optional) + commandArguments.get("startAfterSetting") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + microwaveOvenControlsetCookingParametersCommandParams + ); + microwaveOvenControlClusterInteractionInfoMap.put("setCookingParameters", microwaveOvenControlsetCookingParametersInteractionInfo); - CommandParameterInfo icdManagementregisterClientcheckInNodeIDCommandParameterInfo = new CommandParameterInfo("checkInNodeID", Long.class, Long.class); - icdManagementregisterClientCommandParams.put("checkInNodeID",icdManagementregisterClientcheckInNodeIDCommandParameterInfo); + Map microwaveOvenControladdMoreTimeCommandParams = new LinkedHashMap(); - CommandParameterInfo icdManagementregisterClientmonitoredSubjectCommandParameterInfo = new CommandParameterInfo("monitoredSubject", Long.class, Long.class); - icdManagementregisterClientCommandParams.put("monitoredSubject",icdManagementregisterClientmonitoredSubjectCommandParameterInfo); + CommandParameterInfo microwaveOvenControladdMoreTimetimeToAddCommandParameterInfo = new CommandParameterInfo("timeToAdd", Long.class, Long.class); + microwaveOvenControladdMoreTimeCommandParams.put("timeToAdd",microwaveOvenControladdMoreTimetimeToAddCommandParameterInfo); + InteractionInfo microwaveOvenControladdMoreTimeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MicrowaveOvenControlCluster) cluster) + .addMoreTime((DefaultClusterCallback) callback + , (Long) + commandArguments.get("timeToAdd") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + microwaveOvenControladdMoreTimeCommandParams + ); + microwaveOvenControlClusterInteractionInfoMap.put("addMoreTime", microwaveOvenControladdMoreTimeInteractionInfo); - CommandParameterInfo icdManagementregisterClientkeyCommandParameterInfo = new CommandParameterInfo("key", byte[].class, byte[].class); - icdManagementregisterClientCommandParams.put("key",icdManagementregisterClientkeyCommandParameterInfo); + commandMap.put("microwaveOvenControl", microwaveOvenControlClusterInteractionInfoMap); - CommandParameterInfo icdManagementregisterClientverificationKeyCommandParameterInfo = new CommandParameterInfo("verificationKey", Optional.class, byte[].class); - icdManagementregisterClientCommandParams.put("verificationKey",icdManagementregisterClientverificationKeyCommandParameterInfo); + Map operationalStateClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo icdManagementregisterClientclientTypeCommandParameterInfo = new CommandParameterInfo("clientType", Integer.class, Integer.class); - icdManagementregisterClientCommandParams.put("clientType",icdManagementregisterClientclientTypeCommandParameterInfo); - InteractionInfo icdManagementregisterClientInteractionInfo = new InteractionInfo( + Map operationalStatepauseCommandParams = new LinkedHashMap(); + InteractionInfo operationalStatepauseInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.IcdManagementCluster) cluster) - .registerClient((ChipClusters.IcdManagementCluster.RegisterClientResponseCallback) callback - , (Long) - commandArguments.get("checkInNodeID") - - , (Long) - commandArguments.get("monitoredSubject") - - , (byte[]) - commandArguments.get("key") + ((ChipClusters.OperationalStateCluster) cluster) + .pause((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), + operationalStatepauseCommandParams + ); + operationalStateClusterInteractionInfoMap.put("pause", operationalStatepauseInteractionInfo); - , (Optional) - commandArguments.get("verificationKey") + Map operationalStatestopCommandParams = new LinkedHashMap(); + InteractionInfo operationalStatestopInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OperationalStateCluster) cluster) + .stop((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), + operationalStatestopCommandParams + ); + operationalStateClusterInteractionInfoMap.put("stop", operationalStatestopInteractionInfo); - , (Integer) - commandArguments.get("clientType") + Map operationalStatestartCommandParams = new LinkedHashMap(); + InteractionInfo operationalStatestartInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OperationalStateCluster) cluster) + .start((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), + operationalStatestartCommandParams + ); + operationalStateClusterInteractionInfoMap.put("start", operationalStatestartInteractionInfo); + Map operationalStateresumeCommandParams = new LinkedHashMap(); + InteractionInfo operationalStateresumeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OperationalStateCluster) cluster) + .resume((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback ); }, - () -> new DelegatedIcdManagementClusterRegisterClientResponseCallback(), - icdManagementregisterClientCommandParams + () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), + operationalStateresumeCommandParams ); - icdManagementClusterInteractionInfoMap.put("registerClient", icdManagementregisterClientInteractionInfo); + operationalStateClusterInteractionInfoMap.put("resume", operationalStateresumeInteractionInfo); - Map icdManagementunregisterClientCommandParams = new LinkedHashMap(); + commandMap.put("operationalState", operationalStateClusterInteractionInfoMap); - CommandParameterInfo icdManagementunregisterClientcheckInNodeIDCommandParameterInfo = new CommandParameterInfo("checkInNodeID", Long.class, Long.class); - icdManagementunregisterClientCommandParams.put("checkInNodeID",icdManagementunregisterClientcheckInNodeIDCommandParameterInfo); + Map rvcOperationalStateClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo icdManagementunregisterClientverificationKeyCommandParameterInfo = new CommandParameterInfo("verificationKey", Optional.class, byte[].class); - icdManagementunregisterClientCommandParams.put("verificationKey",icdManagementunregisterClientverificationKeyCommandParameterInfo); - InteractionInfo icdManagementunregisterClientInteractionInfo = new InteractionInfo( + Map rvcOperationalStatepauseCommandParams = new LinkedHashMap(); + InteractionInfo rvcOperationalStatepauseInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.IcdManagementCluster) cluster) - .unregisterClient((DefaultClusterCallback) callback - , (Long) - commandArguments.get("checkInNodeID") - , (Optional) - commandArguments.get("verificationKey") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - icdManagementunregisterClientCommandParams - ); - icdManagementClusterInteractionInfoMap.put("unregisterClient", icdManagementunregisterClientInteractionInfo); - - Map icdManagementstayActiveRequestCommandParams = new LinkedHashMap(); + ((ChipClusters.RvcOperationalStateCluster) cluster) + .pause((ChipClusters.RvcOperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedRvcOperationalStateClusterOperationalCommandResponseCallback(), + rvcOperationalStatepauseCommandParams + ); + rvcOperationalStateClusterInteractionInfoMap.put("pause", rvcOperationalStatepauseInteractionInfo); - CommandParameterInfo icdManagementstayActiveRequeststayActiveDurationCommandParameterInfo = new CommandParameterInfo("stayActiveDuration", Long.class, Long.class); - icdManagementstayActiveRequestCommandParams.put("stayActiveDuration",icdManagementstayActiveRequeststayActiveDurationCommandParameterInfo); - InteractionInfo icdManagementstayActiveRequestInteractionInfo = new InteractionInfo( + Map rvcOperationalStateresumeCommandParams = new LinkedHashMap(); + InteractionInfo rvcOperationalStateresumeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.IcdManagementCluster) cluster) - .stayActiveRequest((ChipClusters.IcdManagementCluster.StayActiveResponseCallback) callback - , (Long) - commandArguments.get("stayActiveDuration") + ((ChipClusters.RvcOperationalStateCluster) cluster) + .resume((ChipClusters.RvcOperationalStateCluster.OperationalCommandResponseCallback) callback + ); + }, + () -> new DelegatedRvcOperationalStateClusterOperationalCommandResponseCallback(), + rvcOperationalStateresumeCommandParams + ); + rvcOperationalStateClusterInteractionInfoMap.put("resume", rvcOperationalStateresumeInteractionInfo); + Map rvcOperationalStategoHomeCommandParams = new LinkedHashMap(); + InteractionInfo rvcOperationalStategoHomeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.RvcOperationalStateCluster) cluster) + .goHome((ChipClusters.RvcOperationalStateCluster.OperationalCommandResponseCallback) callback ); }, - () -> new DelegatedIcdManagementClusterStayActiveResponseCallback(), - icdManagementstayActiveRequestCommandParams + () -> new DelegatedRvcOperationalStateClusterOperationalCommandResponseCallback(), + rvcOperationalStategoHomeCommandParams ); - icdManagementClusterInteractionInfoMap.put("stayActiveRequest", icdManagementstayActiveRequestInteractionInfo); + rvcOperationalStateClusterInteractionInfoMap.put("goHome", rvcOperationalStategoHomeInteractionInfo); - commandMap.put("icdManagement", icdManagementClusterInteractionInfoMap); + commandMap.put("rvcOperationalState", rvcOperationalStateClusterInteractionInfoMap); - Map timerClusterInteractionInfoMap = new LinkedHashMap<>(); + Map scenesManagementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map timersetTimerCommandParams = new LinkedHashMap(); + Map scenesManagementaddSceneCommandParams = new LinkedHashMap(); - CommandParameterInfo timersetTimernewTimeCommandParameterInfo = new CommandParameterInfo("newTime", Long.class, Long.class); - timersetTimerCommandParams.put("newTime",timersetTimernewTimeCommandParameterInfo); - InteractionInfo timersetTimerInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.TimerCluster) cluster) - .setTimer((DefaultClusterCallback) callback - , (Long) - commandArguments.get("newTime") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - timersetTimerCommandParams - ); - timerClusterInteractionInfoMap.put("setTimer", timersetTimerInteractionInfo); + CommandParameterInfo scenesManagementaddScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + scenesManagementaddSceneCommandParams.put("groupID",scenesManagementaddScenegroupIDCommandParameterInfo); - Map timerresetTimerCommandParams = new LinkedHashMap(); - InteractionInfo timerresetTimerInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.TimerCluster) cluster) - .resetTimer((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - timerresetTimerCommandParams - ); - timerClusterInteractionInfoMap.put("resetTimer", timerresetTimerInteractionInfo); + CommandParameterInfo scenesManagementaddScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); + scenesManagementaddSceneCommandParams.put("sceneID",scenesManagementaddScenesceneIDCommandParameterInfo); + + CommandParameterInfo scenesManagementaddScenetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Long.class, Long.class); + scenesManagementaddSceneCommandParams.put("transitionTime",scenesManagementaddScenetransitionTimeCommandParameterInfo); - Map timeraddTimeCommandParams = new LinkedHashMap(); + CommandParameterInfo scenesManagementaddScenesceneNameCommandParameterInfo = new CommandParameterInfo("sceneName", String.class, String.class); + scenesManagementaddSceneCommandParams.put("sceneName",scenesManagementaddScenesceneNameCommandParameterInfo); - CommandParameterInfo timeraddTimeadditionalTimeCommandParameterInfo = new CommandParameterInfo("additionalTime", Long.class, Long.class); - timeraddTimeCommandParams.put("additionalTime",timeraddTimeadditionalTimeCommandParameterInfo); - InteractionInfo timeraddTimeInteractionInfo = new InteractionInfo( + InteractionInfo scenesManagementaddSceneInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.TimerCluster) cluster) - .addTime((DefaultClusterCallback) callback - , (Long) - commandArguments.get("additionalTime") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - timeraddTimeCommandParams - ); - timerClusterInteractionInfoMap.put("addTime", timeraddTimeInteractionInfo); + ((ChipClusters.ScenesManagementCluster) cluster) + .addScene((ChipClusters.ScenesManagementCluster.AddSceneResponseCallback) callback + , (Integer) + commandArguments.get("groupID") - Map timerreduceTimeCommandParams = new LinkedHashMap(); + , (Integer) + commandArguments.get("sceneID") - CommandParameterInfo timerreduceTimetimeReductionCommandParameterInfo = new CommandParameterInfo("timeReduction", Long.class, Long.class); - timerreduceTimeCommandParams.put("timeReduction",timerreduceTimetimeReductionCommandParameterInfo); - InteractionInfo timerreduceTimeInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.TimerCluster) cluster) - .reduceTime((DefaultClusterCallback) callback - , (Long) - commandArguments.get("timeReduction") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - timerreduceTimeCommandParams - ); - timerClusterInteractionInfoMap.put("reduceTime", timerreduceTimeInteractionInfo); + , (Long) + commandArguments.get("transitionTime") - commandMap.put("timer", timerClusterInteractionInfoMap); + , (String) + commandArguments.get("sceneName") - Map ovenCavityOperationalStateClusterInteractionInfoMap = new LinkedHashMap<>(); + , (ArrayList) + commandArguments.get("extensionFieldSets") - Map ovenCavityOperationalStatepauseCommandParams = new LinkedHashMap(); - InteractionInfo ovenCavityOperationalStatepauseInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OvenCavityOperationalStateCluster) cluster) - .pause((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback ); }, - () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), - ovenCavityOperationalStatepauseCommandParams + () -> new DelegatedScenesManagementClusterAddSceneResponseCallback(), + scenesManagementaddSceneCommandParams ); - ovenCavityOperationalStateClusterInteractionInfoMap.put("pause", ovenCavityOperationalStatepauseInteractionInfo); + scenesManagementClusterInteractionInfoMap.put("addScene", scenesManagementaddSceneInteractionInfo); - Map ovenCavityOperationalStatestopCommandParams = new LinkedHashMap(); - InteractionInfo ovenCavityOperationalStatestopInteractionInfo = new InteractionInfo( + Map scenesManagementviewSceneCommandParams = new LinkedHashMap(); + + CommandParameterInfo scenesManagementviewScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + scenesManagementviewSceneCommandParams.put("groupID",scenesManagementviewScenegroupIDCommandParameterInfo); + + CommandParameterInfo scenesManagementviewScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); + scenesManagementviewSceneCommandParams.put("sceneID",scenesManagementviewScenesceneIDCommandParameterInfo); + InteractionInfo scenesManagementviewSceneInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OvenCavityOperationalStateCluster) cluster) - .stop((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback + ((ChipClusters.ScenesManagementCluster) cluster) + .viewScene((ChipClusters.ScenesManagementCluster.ViewSceneResponseCallback) callback + , (Integer) + commandArguments.get("groupID") + + , (Integer) + commandArguments.get("sceneID") + ); }, - () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), - ovenCavityOperationalStatestopCommandParams + () -> new DelegatedScenesManagementClusterViewSceneResponseCallback(), + scenesManagementviewSceneCommandParams ); - ovenCavityOperationalStateClusterInteractionInfoMap.put("stop", ovenCavityOperationalStatestopInteractionInfo); + scenesManagementClusterInteractionInfoMap.put("viewScene", scenesManagementviewSceneInteractionInfo); - Map ovenCavityOperationalStatestartCommandParams = new LinkedHashMap(); - InteractionInfo ovenCavityOperationalStatestartInteractionInfo = new InteractionInfo( + Map scenesManagementremoveSceneCommandParams = new LinkedHashMap(); + + CommandParameterInfo scenesManagementremoveScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + scenesManagementremoveSceneCommandParams.put("groupID",scenesManagementremoveScenegroupIDCommandParameterInfo); + + CommandParameterInfo scenesManagementremoveScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); + scenesManagementremoveSceneCommandParams.put("sceneID",scenesManagementremoveScenesceneIDCommandParameterInfo); + InteractionInfo scenesManagementremoveSceneInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OvenCavityOperationalStateCluster) cluster) - .start((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback + ((ChipClusters.ScenesManagementCluster) cluster) + .removeScene((ChipClusters.ScenesManagementCluster.RemoveSceneResponseCallback) callback + , (Integer) + commandArguments.get("groupID") + + , (Integer) + commandArguments.get("sceneID") + ); }, - () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), - ovenCavityOperationalStatestartCommandParams + () -> new DelegatedScenesManagementClusterRemoveSceneResponseCallback(), + scenesManagementremoveSceneCommandParams ); - ovenCavityOperationalStateClusterInteractionInfoMap.put("start", ovenCavityOperationalStatestartInteractionInfo); + scenesManagementClusterInteractionInfoMap.put("removeScene", scenesManagementremoveSceneInteractionInfo); - Map ovenCavityOperationalStateresumeCommandParams = new LinkedHashMap(); - InteractionInfo ovenCavityOperationalStateresumeInteractionInfo = new InteractionInfo( + Map scenesManagementremoveAllScenesCommandParams = new LinkedHashMap(); + + CommandParameterInfo scenesManagementremoveAllScenesgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + scenesManagementremoveAllScenesCommandParams.put("groupID",scenesManagementremoveAllScenesgroupIDCommandParameterInfo); + InteractionInfo scenesManagementremoveAllScenesInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OvenCavityOperationalStateCluster) cluster) - .resume((ChipClusters.OvenCavityOperationalStateCluster.OperationalCommandResponseCallback) callback + ((ChipClusters.ScenesManagementCluster) cluster) + .removeAllScenes((ChipClusters.ScenesManagementCluster.RemoveAllScenesResponseCallback) callback + , (Integer) + commandArguments.get("groupID") + ); }, - () -> new DelegatedOvenCavityOperationalStateClusterOperationalCommandResponseCallback(), - ovenCavityOperationalStateresumeCommandParams + () -> new DelegatedScenesManagementClusterRemoveAllScenesResponseCallback(), + scenesManagementremoveAllScenesCommandParams ); - ovenCavityOperationalStateClusterInteractionInfoMap.put("resume", ovenCavityOperationalStateresumeInteractionInfo); - - commandMap.put("ovenCavityOperationalState", ovenCavityOperationalStateClusterInteractionInfoMap); + scenesManagementClusterInteractionInfoMap.put("removeAllScenes", scenesManagementremoveAllScenesInteractionInfo); - Map ovenModeClusterInteractionInfoMap = new LinkedHashMap<>(); + Map scenesManagementstoreSceneCommandParams = new LinkedHashMap(); - Map ovenModechangeToModeCommandParams = new LinkedHashMap(); + CommandParameterInfo scenesManagementstoreScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + scenesManagementstoreSceneCommandParams.put("groupID",scenesManagementstoreScenegroupIDCommandParameterInfo); - CommandParameterInfo ovenModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - ovenModechangeToModeCommandParams.put("newMode",ovenModechangeToModenewModeCommandParameterInfo); - InteractionInfo ovenModechangeToModeInteractionInfo = new InteractionInfo( + CommandParameterInfo scenesManagementstoreScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); + scenesManagementstoreSceneCommandParams.put("sceneID",scenesManagementstoreScenesceneIDCommandParameterInfo); + InteractionInfo scenesManagementstoreSceneInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.OvenModeCluster) cluster) - .changeToMode((ChipClusters.OvenModeCluster.ChangeToModeResponseCallback) callback + ((ChipClusters.ScenesManagementCluster) cluster) + .storeScene((ChipClusters.ScenesManagementCluster.StoreSceneResponseCallback) callback , (Integer) - commandArguments.get("newMode") + commandArguments.get("groupID") + + , (Integer) + commandArguments.get("sceneID") ); }, - () -> new DelegatedOvenModeClusterChangeToModeResponseCallback(), - ovenModechangeToModeCommandParams + () -> new DelegatedScenesManagementClusterStoreSceneResponseCallback(), + scenesManagementstoreSceneCommandParams ); - ovenModeClusterInteractionInfoMap.put("changeToMode", ovenModechangeToModeInteractionInfo); - - commandMap.put("ovenMode", ovenModeClusterInteractionInfoMap); - - Map laundryDryerControlsClusterInteractionInfoMap = new LinkedHashMap<>(); + scenesManagementClusterInteractionInfoMap.put("storeScene", scenesManagementstoreSceneInteractionInfo); - commandMap.put("laundryDryerControls", laundryDryerControlsClusterInteractionInfoMap); + Map scenesManagementrecallSceneCommandParams = new LinkedHashMap(); - Map modeSelectClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo scenesManagementrecallScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + scenesManagementrecallSceneCommandParams.put("groupID",scenesManagementrecallScenegroupIDCommandParameterInfo); - Map modeSelectchangeToModeCommandParams = new LinkedHashMap(); + CommandParameterInfo scenesManagementrecallScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); + scenesManagementrecallSceneCommandParams.put("sceneID",scenesManagementrecallScenesceneIDCommandParameterInfo); - CommandParameterInfo modeSelectchangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - modeSelectchangeToModeCommandParams.put("newMode",modeSelectchangeToModenewModeCommandParameterInfo); - InteractionInfo modeSelectchangeToModeInteractionInfo = new InteractionInfo( + CommandParameterInfo scenesManagementrecallScenetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Optional.class, Long.class); + scenesManagementrecallSceneCommandParams.put("transitionTime",scenesManagementrecallScenetransitionTimeCommandParameterInfo); + InteractionInfo scenesManagementrecallSceneInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ModeSelectCluster) cluster) - .changeToMode((DefaultClusterCallback) callback + ((ChipClusters.ScenesManagementCluster) cluster) + .recallScene((DefaultClusterCallback) callback , (Integer) - commandArguments.get("newMode") + commandArguments.get("groupID") + , (Integer) + commandArguments.get("sceneID") + , (Optional) + commandArguments.get("transitionTime") ); }, () -> new DelegatedDefaultClusterCallback(), - modeSelectchangeToModeCommandParams + scenesManagementrecallSceneCommandParams ); - modeSelectClusterInteractionInfoMap.put("changeToMode", modeSelectchangeToModeInteractionInfo); - - commandMap.put("modeSelect", modeSelectClusterInteractionInfoMap); - - Map laundryWasherModeClusterInteractionInfoMap = new LinkedHashMap<>(); + scenesManagementClusterInteractionInfoMap.put("recallScene", scenesManagementrecallSceneInteractionInfo); - Map laundryWasherModechangeToModeCommandParams = new LinkedHashMap(); + Map scenesManagementgetSceneMembershipCommandParams = new LinkedHashMap(); - CommandParameterInfo laundryWasherModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - laundryWasherModechangeToModeCommandParams.put("newMode",laundryWasherModechangeToModenewModeCommandParameterInfo); - InteractionInfo laundryWasherModechangeToModeInteractionInfo = new InteractionInfo( + CommandParameterInfo scenesManagementgetSceneMembershipgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); + scenesManagementgetSceneMembershipCommandParams.put("groupID",scenesManagementgetSceneMembershipgroupIDCommandParameterInfo); + InteractionInfo scenesManagementgetSceneMembershipInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LaundryWasherModeCluster) cluster) - .changeToMode((ChipClusters.LaundryWasherModeCluster.ChangeToModeResponseCallback) callback + ((ChipClusters.ScenesManagementCluster) cluster) + .getSceneMembership((ChipClusters.ScenesManagementCluster.GetSceneMembershipResponseCallback) callback , (Integer) - commandArguments.get("newMode") + commandArguments.get("groupID") ); }, - () -> new DelegatedLaundryWasherModeClusterChangeToModeResponseCallback(), - laundryWasherModechangeToModeCommandParams + () -> new DelegatedScenesManagementClusterGetSceneMembershipResponseCallback(), + scenesManagementgetSceneMembershipCommandParams ); - laundryWasherModeClusterInteractionInfoMap.put("changeToMode", laundryWasherModechangeToModeInteractionInfo); + scenesManagementClusterInteractionInfoMap.put("getSceneMembership", scenesManagementgetSceneMembershipInteractionInfo); - commandMap.put("laundryWasherMode", laundryWasherModeClusterInteractionInfoMap); + Map scenesManagementcopySceneCommandParams = new LinkedHashMap(); - Map refrigeratorAndTemperatureControlledCabinetModeClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo scenesManagementcopyScenemodeCommandParameterInfo = new CommandParameterInfo("mode", Integer.class, Integer.class); + scenesManagementcopySceneCommandParams.put("mode",scenesManagementcopyScenemodeCommandParameterInfo); - Map refrigeratorAndTemperatureControlledCabinetModechangeToModeCommandParams = new LinkedHashMap(); + CommandParameterInfo scenesManagementcopyScenegroupIdentifierFromCommandParameterInfo = new CommandParameterInfo("groupIdentifierFrom", Integer.class, Integer.class); + scenesManagementcopySceneCommandParams.put("groupIdentifierFrom",scenesManagementcopyScenegroupIdentifierFromCommandParameterInfo); - CommandParameterInfo refrigeratorAndTemperatureControlledCabinetModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - refrigeratorAndTemperatureControlledCabinetModechangeToModeCommandParams.put("newMode",refrigeratorAndTemperatureControlledCabinetModechangeToModenewModeCommandParameterInfo); - InteractionInfo refrigeratorAndTemperatureControlledCabinetModechangeToModeInteractionInfo = new InteractionInfo( + CommandParameterInfo scenesManagementcopyScenesceneIdentifierFromCommandParameterInfo = new CommandParameterInfo("sceneIdentifierFrom", Integer.class, Integer.class); + scenesManagementcopySceneCommandParams.put("sceneIdentifierFrom",scenesManagementcopyScenesceneIdentifierFromCommandParameterInfo); + + CommandParameterInfo scenesManagementcopyScenegroupIdentifierToCommandParameterInfo = new CommandParameterInfo("groupIdentifierTo", Integer.class, Integer.class); + scenesManagementcopySceneCommandParams.put("groupIdentifierTo",scenesManagementcopyScenegroupIdentifierToCommandParameterInfo); + + CommandParameterInfo scenesManagementcopyScenesceneIdentifierToCommandParameterInfo = new CommandParameterInfo("sceneIdentifierTo", Integer.class, Integer.class); + scenesManagementcopySceneCommandParams.put("sceneIdentifierTo",scenesManagementcopyScenesceneIdentifierToCommandParameterInfo); + InteractionInfo scenesManagementcopySceneInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.RefrigeratorAndTemperatureControlledCabinetModeCluster) cluster) - .changeToMode((ChipClusters.RefrigeratorAndTemperatureControlledCabinetModeCluster.ChangeToModeResponseCallback) callback + ((ChipClusters.ScenesManagementCluster) cluster) + .copyScene((ChipClusters.ScenesManagementCluster.CopySceneResponseCallback) callback , (Integer) - commandArguments.get("newMode") + commandArguments.get("mode") + + , (Integer) + commandArguments.get("groupIdentifierFrom") + + , (Integer) + commandArguments.get("sceneIdentifierFrom") + + , (Integer) + commandArguments.get("groupIdentifierTo") + + , (Integer) + commandArguments.get("sceneIdentifierTo") ); }, - () -> new DelegatedRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeResponseCallback(), - refrigeratorAndTemperatureControlledCabinetModechangeToModeCommandParams + () -> new DelegatedScenesManagementClusterCopySceneResponseCallback(), + scenesManagementcopySceneCommandParams ); - refrigeratorAndTemperatureControlledCabinetModeClusterInteractionInfoMap.put("changeToMode", refrigeratorAndTemperatureControlledCabinetModechangeToModeInteractionInfo); + scenesManagementClusterInteractionInfoMap.put("copyScene", scenesManagementcopySceneInteractionInfo); - commandMap.put("refrigeratorAndTemperatureControlledCabinetMode", refrigeratorAndTemperatureControlledCabinetModeClusterInteractionInfoMap); + commandMap.put("scenesManagement", scenesManagementClusterInteractionInfoMap); - Map laundryWasherControlsClusterInteractionInfoMap = new LinkedHashMap<>(); + Map hepaFilterMonitoringClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("laundryWasherControls", laundryWasherControlsClusterInteractionInfoMap); + Map hepaFilterMonitoringresetConditionCommandParams = new LinkedHashMap(); + InteractionInfo hepaFilterMonitoringresetConditionInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.HepaFilterMonitoringCluster) cluster) + .resetCondition((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + hepaFilterMonitoringresetConditionCommandParams + ); + hepaFilterMonitoringClusterInteractionInfoMap.put("resetCondition", hepaFilterMonitoringresetConditionInteractionInfo); - Map rvcRunModeClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("hepaFilterMonitoring", hepaFilterMonitoringClusterInteractionInfoMap); - Map rvcRunModechangeToModeCommandParams = new LinkedHashMap(); + Map activatedCarbonFilterMonitoringClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo rvcRunModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - rvcRunModechangeToModeCommandParams.put("newMode",rvcRunModechangeToModenewModeCommandParameterInfo); - InteractionInfo rvcRunModechangeToModeInteractionInfo = new InteractionInfo( + Map activatedCarbonFilterMonitoringresetConditionCommandParams = new LinkedHashMap(); + InteractionInfo activatedCarbonFilterMonitoringresetConditionInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.RvcRunModeCluster) cluster) - .changeToMode((ChipClusters.RvcRunModeCluster.ChangeToModeResponseCallback) callback - , (Integer) - commandArguments.get("newMode") - - ); - }, - () -> new DelegatedRvcRunModeClusterChangeToModeResponseCallback(), - rvcRunModechangeToModeCommandParams - ); - rvcRunModeClusterInteractionInfoMap.put("changeToMode", rvcRunModechangeToModeInteractionInfo); + ((ChipClusters.ActivatedCarbonFilterMonitoringCluster) cluster) + .resetCondition((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + activatedCarbonFilterMonitoringresetConditionCommandParams + ); + activatedCarbonFilterMonitoringClusterInteractionInfoMap.put("resetCondition", activatedCarbonFilterMonitoringresetConditionInteractionInfo); - commandMap.put("rvcRunMode", rvcRunModeClusterInteractionInfoMap); + commandMap.put("activatedCarbonFilterMonitoring", activatedCarbonFilterMonitoringClusterInteractionInfoMap); - Map rvcCleanModeClusterInteractionInfoMap = new LinkedHashMap<>(); + Map booleanStateConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - Map rvcCleanModechangeToModeCommandParams = new LinkedHashMap(); + Map booleanStateConfigurationsuppressAlarmCommandParams = new LinkedHashMap(); - CommandParameterInfo rvcCleanModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - rvcCleanModechangeToModeCommandParams.put("newMode",rvcCleanModechangeToModenewModeCommandParameterInfo); - InteractionInfo rvcCleanModechangeToModeInteractionInfo = new InteractionInfo( + CommandParameterInfo booleanStateConfigurationsuppressAlarmalarmsToSuppressCommandParameterInfo = new CommandParameterInfo("alarmsToSuppress", Integer.class, Integer.class); + booleanStateConfigurationsuppressAlarmCommandParams.put("alarmsToSuppress",booleanStateConfigurationsuppressAlarmalarmsToSuppressCommandParameterInfo); + InteractionInfo booleanStateConfigurationsuppressAlarmInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.RvcCleanModeCluster) cluster) - .changeToMode((ChipClusters.RvcCleanModeCluster.ChangeToModeResponseCallback) callback - , (Integer) - commandArguments.get("newMode") + ((ChipClusters.BooleanStateConfigurationCluster) cluster) + .suppressAlarm((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("alarmsToSuppress") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + booleanStateConfigurationsuppressAlarmCommandParams + ); + booleanStateConfigurationClusterInteractionInfoMap.put("suppressAlarm", booleanStateConfigurationsuppressAlarmInteractionInfo); - ); - }, - () -> new DelegatedRvcCleanModeClusterChangeToModeResponseCallback(), - rvcCleanModechangeToModeCommandParams - ); - rvcCleanModeClusterInteractionInfoMap.put("changeToMode", rvcCleanModechangeToModeInteractionInfo); + Map booleanStateConfigurationenableDisableAlarmCommandParams = new LinkedHashMap(); - commandMap.put("rvcCleanMode", rvcCleanModeClusterInteractionInfoMap); + CommandParameterInfo booleanStateConfigurationenableDisableAlarmalarmsToEnableDisableCommandParameterInfo = new CommandParameterInfo("alarmsToEnableDisable", Integer.class, Integer.class); + booleanStateConfigurationenableDisableAlarmCommandParams.put("alarmsToEnableDisable",booleanStateConfigurationenableDisableAlarmalarmsToEnableDisableCommandParameterInfo); + InteractionInfo booleanStateConfigurationenableDisableAlarmInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.BooleanStateConfigurationCluster) cluster) + .enableDisableAlarm((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("alarmsToEnableDisable") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + booleanStateConfigurationenableDisableAlarmCommandParams + ); + booleanStateConfigurationClusterInteractionInfoMap.put("enableDisableAlarm", booleanStateConfigurationenableDisableAlarmInteractionInfo); - Map temperatureControlClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("booleanStateConfiguration", booleanStateConfigurationClusterInteractionInfoMap); - Map temperatureControlsetTemperatureCommandParams = new LinkedHashMap(); + Map valveConfigurationAndControlClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo temperatureControlsetTemperaturetargetTemperatureCommandParameterInfo = new CommandParameterInfo("targetTemperature", Optional.class, Integer.class); - temperatureControlsetTemperatureCommandParams.put("targetTemperature",temperatureControlsetTemperaturetargetTemperatureCommandParameterInfo); + Map valveConfigurationAndControlopenCommandParams = new LinkedHashMap(); - CommandParameterInfo temperatureControlsetTemperaturetargetTemperatureLevelCommandParameterInfo = new CommandParameterInfo("targetTemperatureLevel", Optional.class, Integer.class); - temperatureControlsetTemperatureCommandParams.put("targetTemperatureLevel",temperatureControlsetTemperaturetargetTemperatureLevelCommandParameterInfo); - InteractionInfo temperatureControlsetTemperatureInteractionInfo = new InteractionInfo( + CommandParameterInfo valveConfigurationAndControlopenopenDurationCommandParameterInfo = new CommandParameterInfo("openDuration", Optional.class, Long.class); + valveConfigurationAndControlopenCommandParams.put("openDuration",valveConfigurationAndControlopenopenDurationCommandParameterInfo); + + CommandParameterInfo valveConfigurationAndControlopentargetLevelCommandParameterInfo = new CommandParameterInfo("targetLevel", Optional.class, Integer.class); + valveConfigurationAndControlopenCommandParams.put("targetLevel",valveConfigurationAndControlopentargetLevelCommandParameterInfo); + InteractionInfo valveConfigurationAndControlopenInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.TemperatureControlCluster) cluster) - .setTemperature((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("targetTemperature") + ((ChipClusters.ValveConfigurationAndControlCluster) cluster) + .open((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("openDuration") , (Optional) - commandArguments.get("targetTemperatureLevel") + commandArguments.get("targetLevel") ); }, () -> new DelegatedDefaultClusterCallback(), - temperatureControlsetTemperatureCommandParams + valveConfigurationAndControlopenCommandParams ); - temperatureControlClusterInteractionInfoMap.put("setTemperature", temperatureControlsetTemperatureInteractionInfo); + valveConfigurationAndControlClusterInteractionInfoMap.put("open", valveConfigurationAndControlopenInteractionInfo); - commandMap.put("temperatureControl", temperatureControlClusterInteractionInfoMap); + Map valveConfigurationAndControlcloseCommandParams = new LinkedHashMap(); + InteractionInfo valveConfigurationAndControlcloseInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ValveConfigurationAndControlCluster) cluster) + .close((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + valveConfigurationAndControlcloseCommandParams + ); + valveConfigurationAndControlClusterInteractionInfoMap.put("close", valveConfigurationAndControlcloseInteractionInfo); - Map refrigeratorAlarmClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("valveConfigurationAndControl", valveConfigurationAndControlClusterInteractionInfoMap); - commandMap.put("refrigeratorAlarm", refrigeratorAlarmClusterInteractionInfoMap); + Map electricalPowerMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map dishwasherModeClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("electricalPowerMeasurement", electricalPowerMeasurementClusterInteractionInfoMap); - Map dishwasherModechangeToModeCommandParams = new LinkedHashMap(); + Map electricalEnergyMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo dishwasherModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - dishwasherModechangeToModeCommandParams.put("newMode",dishwasherModechangeToModenewModeCommandParameterInfo); - InteractionInfo dishwasherModechangeToModeInteractionInfo = new InteractionInfo( + commandMap.put("electricalEnergyMeasurement", electricalEnergyMeasurementClusterInteractionInfoMap); + + Map waterHeaterManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map waterHeaterManagementboostCommandParams = new LinkedHashMap(); + + InteractionInfo waterHeaterManagementboostInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DishwasherModeCluster) cluster) - .changeToMode((ChipClusters.DishwasherModeCluster.ChangeToModeResponseCallback) callback - , (Integer) - commandArguments.get("newMode") + ((ChipClusters.WaterHeaterManagementCluster) cluster) + .boost((DefaultClusterCallback) callback + , (ChipStructs.WaterHeaterManagementClusterWaterHeaterBoostInfoStruct) + commandArguments.get("boostInfo") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + waterHeaterManagementboostCommandParams + ); + waterHeaterManagementClusterInteractionInfoMap.put("boost", waterHeaterManagementboostInteractionInfo); - ); - }, - () -> new DelegatedDishwasherModeClusterChangeToModeResponseCallback(), - dishwasherModechangeToModeCommandParams - ); - dishwasherModeClusterInteractionInfoMap.put("changeToMode", dishwasherModechangeToModeInteractionInfo); + Map waterHeaterManagementcancelBoostCommandParams = new LinkedHashMap(); + InteractionInfo waterHeaterManagementcancelBoostInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WaterHeaterManagementCluster) cluster) + .cancelBoost((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + waterHeaterManagementcancelBoostCommandParams + ); + waterHeaterManagementClusterInteractionInfoMap.put("cancelBoost", waterHeaterManagementcancelBoostInteractionInfo); - commandMap.put("dishwasherMode", dishwasherModeClusterInteractionInfoMap); + commandMap.put("waterHeaterManagement", waterHeaterManagementClusterInteractionInfoMap); - Map airQualityClusterInteractionInfoMap = new LinkedHashMap<>(); + Map demandResponseLoadControlClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("airQuality", airQualityClusterInteractionInfoMap); + Map demandResponseLoadControlregisterLoadControlProgramRequestCommandParams = new LinkedHashMap(); - Map smokeCoAlarmClusterInteractionInfoMap = new LinkedHashMap<>(); + InteractionInfo demandResponseLoadControlregisterLoadControlProgramRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DemandResponseLoadControlCluster) cluster) + .registerLoadControlProgramRequest((DefaultClusterCallback) callback + , (ChipStructs.DemandResponseLoadControlClusterLoadControlProgramStruct) + commandArguments.get("loadControlProgram") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + demandResponseLoadControlregisterLoadControlProgramRequestCommandParams + ); + demandResponseLoadControlClusterInteractionInfoMap.put("registerLoadControlProgramRequest", demandResponseLoadControlregisterLoadControlProgramRequestInteractionInfo); - Map smokeCoAlarmselfTestRequestCommandParams = new LinkedHashMap(); - InteractionInfo smokeCoAlarmselfTestRequestInteractionInfo = new InteractionInfo( + Map demandResponseLoadControlunregisterLoadControlProgramRequestCommandParams = new LinkedHashMap(); + + CommandParameterInfo demandResponseLoadControlunregisterLoadControlProgramRequestloadControlProgramIDCommandParameterInfo = new CommandParameterInfo("loadControlProgramID", byte[].class, byte[].class); + demandResponseLoadControlunregisterLoadControlProgramRequestCommandParams.put("loadControlProgramID",demandResponseLoadControlunregisterLoadControlProgramRequestloadControlProgramIDCommandParameterInfo); + InteractionInfo demandResponseLoadControlunregisterLoadControlProgramRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.SmokeCoAlarmCluster) cluster) - .selfTestRequest((DefaultClusterCallback) callback + ((ChipClusters.DemandResponseLoadControlCluster) cluster) + .unregisterLoadControlProgramRequest((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("loadControlProgramID") ); }, () -> new DelegatedDefaultClusterCallback(), - smokeCoAlarmselfTestRequestCommandParams + demandResponseLoadControlunregisterLoadControlProgramRequestCommandParams ); - smokeCoAlarmClusterInteractionInfoMap.put("selfTestRequest", smokeCoAlarmselfTestRequestInteractionInfo); + demandResponseLoadControlClusterInteractionInfoMap.put("unregisterLoadControlProgramRequest", demandResponseLoadControlunregisterLoadControlProgramRequestInteractionInfo); - commandMap.put("smokeCoAlarm", smokeCoAlarmClusterInteractionInfoMap); + Map demandResponseLoadControladdLoadControlEventRequestCommandParams = new LinkedHashMap(); - Map dishwasherAlarmClusterInteractionInfoMap = new LinkedHashMap<>(); + InteractionInfo demandResponseLoadControladdLoadControlEventRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DemandResponseLoadControlCluster) cluster) + .addLoadControlEventRequest((DefaultClusterCallback) callback + , (ChipStructs.DemandResponseLoadControlClusterLoadControlEventStruct) + commandArguments.get("event") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + demandResponseLoadControladdLoadControlEventRequestCommandParams + ); + demandResponseLoadControlClusterInteractionInfoMap.put("addLoadControlEventRequest", demandResponseLoadControladdLoadControlEventRequestInteractionInfo); - Map dishwasherAlarmresetCommandParams = new LinkedHashMap(); + Map demandResponseLoadControlremoveLoadControlEventRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo dishwasherAlarmresetalarmsCommandParameterInfo = new CommandParameterInfo("alarms", Long.class, Long.class); - dishwasherAlarmresetCommandParams.put("alarms",dishwasherAlarmresetalarmsCommandParameterInfo); - InteractionInfo dishwasherAlarmresetInteractionInfo = new InteractionInfo( + CommandParameterInfo demandResponseLoadControlremoveLoadControlEventRequesteventIDCommandParameterInfo = new CommandParameterInfo("eventID", byte[].class, byte[].class); + demandResponseLoadControlremoveLoadControlEventRequestCommandParams.put("eventID",demandResponseLoadControlremoveLoadControlEventRequesteventIDCommandParameterInfo); + + CommandParameterInfo demandResponseLoadControlremoveLoadControlEventRequestcancelControlCommandParameterInfo = new CommandParameterInfo("cancelControl", Integer.class, Integer.class); + demandResponseLoadControlremoveLoadControlEventRequestCommandParams.put("cancelControl",demandResponseLoadControlremoveLoadControlEventRequestcancelControlCommandParameterInfo); + InteractionInfo demandResponseLoadControlremoveLoadControlEventRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DishwasherAlarmCluster) cluster) - .reset((DefaultClusterCallback) callback - , (Long) - commandArguments.get("alarms") + ((ChipClusters.DemandResponseLoadControlCluster) cluster) + .removeLoadControlEventRequest((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("eventID") + , (Integer) + commandArguments.get("cancelControl") ); }, () -> new DelegatedDefaultClusterCallback(), - dishwasherAlarmresetCommandParams + demandResponseLoadControlremoveLoadControlEventRequestCommandParams ); - dishwasherAlarmClusterInteractionInfoMap.put("reset", dishwasherAlarmresetInteractionInfo); - - Map dishwasherAlarmmodifyEnabledAlarmsCommandParams = new LinkedHashMap(); + demandResponseLoadControlClusterInteractionInfoMap.put("removeLoadControlEventRequest", demandResponseLoadControlremoveLoadControlEventRequestInteractionInfo); - CommandParameterInfo dishwasherAlarmmodifyEnabledAlarmsmaskCommandParameterInfo = new CommandParameterInfo("mask", Long.class, Long.class); - dishwasherAlarmmodifyEnabledAlarmsCommandParams.put("mask",dishwasherAlarmmodifyEnabledAlarmsmaskCommandParameterInfo); - InteractionInfo dishwasherAlarmmodifyEnabledAlarmsInteractionInfo = new InteractionInfo( + Map demandResponseLoadControlclearLoadControlEventsRequestCommandParams = new LinkedHashMap(); + InteractionInfo demandResponseLoadControlclearLoadControlEventsRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DishwasherAlarmCluster) cluster) - .modifyEnabledAlarms((DefaultClusterCallback) callback - , (Long) - commandArguments.get("mask") + ((ChipClusters.DemandResponseLoadControlCluster) cluster) + .clearLoadControlEventsRequest((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - dishwasherAlarmmodifyEnabledAlarmsCommandParams + demandResponseLoadControlclearLoadControlEventsRequestCommandParams ); - dishwasherAlarmClusterInteractionInfoMap.put("modifyEnabledAlarms", dishwasherAlarmmodifyEnabledAlarmsInteractionInfo); + demandResponseLoadControlClusterInteractionInfoMap.put("clearLoadControlEventsRequest", demandResponseLoadControlclearLoadControlEventsRequestInteractionInfo); - commandMap.put("dishwasherAlarm", dishwasherAlarmClusterInteractionInfoMap); + commandMap.put("demandResponseLoadControl", demandResponseLoadControlClusterInteractionInfoMap); - Map microwaveOvenModeClusterInteractionInfoMap = new LinkedHashMap<>(); + Map messagesClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("microwaveOvenMode", microwaveOvenModeClusterInteractionInfoMap); + Map messagespresentMessagesRequestCommandParams = new LinkedHashMap(); - Map microwaveOvenControlClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo messagespresentMessagesRequestmessageIDCommandParameterInfo = new CommandParameterInfo("messageID", byte[].class, byte[].class); + messagespresentMessagesRequestCommandParams.put("messageID",messagespresentMessagesRequestmessageIDCommandParameterInfo); - Map microwaveOvenControlsetCookingParametersCommandParams = new LinkedHashMap(); + CommandParameterInfo messagespresentMessagesRequestpriorityCommandParameterInfo = new CommandParameterInfo("priority", Integer.class, Integer.class); + messagespresentMessagesRequestCommandParams.put("priority",messagespresentMessagesRequestpriorityCommandParameterInfo); - CommandParameterInfo microwaveOvenControlsetCookingParameterscookModeCommandParameterInfo = new CommandParameterInfo("cookMode", Optional.class, Integer.class); - microwaveOvenControlsetCookingParametersCommandParams.put("cookMode",microwaveOvenControlsetCookingParameterscookModeCommandParameterInfo); + CommandParameterInfo messagespresentMessagesRequestmessageControlCommandParameterInfo = new CommandParameterInfo("messageControl", Integer.class, Integer.class); + messagespresentMessagesRequestCommandParams.put("messageControl",messagespresentMessagesRequestmessageControlCommandParameterInfo); - CommandParameterInfo microwaveOvenControlsetCookingParameterscookTimeCommandParameterInfo = new CommandParameterInfo("cookTime", Optional.class, Long.class); - microwaveOvenControlsetCookingParametersCommandParams.put("cookTime",microwaveOvenControlsetCookingParameterscookTimeCommandParameterInfo); + CommandParameterInfo messagespresentMessagesRequeststartTimeCommandParameterInfo = new CommandParameterInfo("startTime", Long.class, Long.class); + messagespresentMessagesRequestCommandParams.put("startTime",messagespresentMessagesRequeststartTimeCommandParameterInfo); - CommandParameterInfo microwaveOvenControlsetCookingParameterspowerSettingCommandParameterInfo = new CommandParameterInfo("powerSetting", Optional.class, Integer.class); - microwaveOvenControlsetCookingParametersCommandParams.put("powerSetting",microwaveOvenControlsetCookingParameterspowerSettingCommandParameterInfo); + CommandParameterInfo messagespresentMessagesRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); + messagespresentMessagesRequestCommandParams.put("duration",messagespresentMessagesRequestdurationCommandParameterInfo); - CommandParameterInfo microwaveOvenControlsetCookingParameterswattSettingIndexCommandParameterInfo = new CommandParameterInfo("wattSettingIndex", Optional.class, Integer.class); - microwaveOvenControlsetCookingParametersCommandParams.put("wattSettingIndex",microwaveOvenControlsetCookingParameterswattSettingIndexCommandParameterInfo); + CommandParameterInfo messagespresentMessagesRequestmessageTextCommandParameterInfo = new CommandParameterInfo("messageText", String.class, String.class); + messagespresentMessagesRequestCommandParams.put("messageText",messagespresentMessagesRequestmessageTextCommandParameterInfo); - CommandParameterInfo microwaveOvenControlsetCookingParametersstartAfterSettingCommandParameterInfo = new CommandParameterInfo("startAfterSetting", Optional.class, Boolean.class); - microwaveOvenControlsetCookingParametersCommandParams.put("startAfterSetting",microwaveOvenControlsetCookingParametersstartAfterSettingCommandParameterInfo); - InteractionInfo microwaveOvenControlsetCookingParametersInteractionInfo = new InteractionInfo( + InteractionInfo messagespresentMessagesRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MicrowaveOvenControlCluster) cluster) - .setCookingParameters((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("cookMode") - , (Optional) - commandArguments.get("cookTime") - , (Optional) - commandArguments.get("powerSetting") - , (Optional) - commandArguments.get("wattSettingIndex") - , (Optional) - commandArguments.get("startAfterSetting") + ((ChipClusters.MessagesCluster) cluster) + .presentMessagesRequest((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("messageID") + , (Integer) + commandArguments.get("priority") + , (Integer) + commandArguments.get("messageControl") + , (Long) + commandArguments.get("startTime") + , (Long) + commandArguments.get("duration") + , (String) + commandArguments.get("messageText") + , (Optional>) + commandArguments.get("responses") ); }, () -> new DelegatedDefaultClusterCallback(), - microwaveOvenControlsetCookingParametersCommandParams + messagespresentMessagesRequestCommandParams ); - microwaveOvenControlClusterInteractionInfoMap.put("setCookingParameters", microwaveOvenControlsetCookingParametersInteractionInfo); + messagesClusterInteractionInfoMap.put("presentMessagesRequest", messagespresentMessagesRequestInteractionInfo); - Map microwaveOvenControladdMoreTimeCommandParams = new LinkedHashMap(); + Map messagescancelMessagesRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo microwaveOvenControladdMoreTimetimeToAddCommandParameterInfo = new CommandParameterInfo("timeToAdd", Long.class, Long.class); - microwaveOvenControladdMoreTimeCommandParams.put("timeToAdd",microwaveOvenControladdMoreTimetimeToAddCommandParameterInfo); - InteractionInfo microwaveOvenControladdMoreTimeInteractionInfo = new InteractionInfo( + CommandParameterInfo messagescancelMessagesRequestmessageIDsCommandParameterInfo = new CommandParameterInfo("messageIDs", ArrayList.class, ArrayList.class); + messagescancelMessagesRequestCommandParams.put("messageIDs",messagescancelMessagesRequestmessageIDsCommandParameterInfo); + InteractionInfo messagescancelMessagesRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MicrowaveOvenControlCluster) cluster) - .addMoreTime((DefaultClusterCallback) callback - , (Long) - commandArguments.get("timeToAdd") + ((ChipClusters.MessagesCluster) cluster) + .cancelMessagesRequest((DefaultClusterCallback) callback + , (ArrayList) + commandArguments.get("messageIDs") ); }, () -> new DelegatedDefaultClusterCallback(), - microwaveOvenControladdMoreTimeCommandParams + messagescancelMessagesRequestCommandParams ); - microwaveOvenControlClusterInteractionInfoMap.put("addMoreTime", microwaveOvenControladdMoreTimeInteractionInfo); - - commandMap.put("microwaveOvenControl", microwaveOvenControlClusterInteractionInfoMap); - - Map operationalStateClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map operationalStatepauseCommandParams = new LinkedHashMap(); - InteractionInfo operationalStatepauseInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalStateCluster) cluster) - .pause((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback - ); - }, - () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), - operationalStatepauseCommandParams - ); - operationalStateClusterInteractionInfoMap.put("pause", operationalStatepauseInteractionInfo); - - Map operationalStatestopCommandParams = new LinkedHashMap(); - InteractionInfo operationalStatestopInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalStateCluster) cluster) - .stop((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback - ); - }, - () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), - operationalStatestopCommandParams - ); - operationalStateClusterInteractionInfoMap.put("stop", operationalStatestopInteractionInfo); + messagesClusterInteractionInfoMap.put("cancelMessagesRequest", messagescancelMessagesRequestInteractionInfo); - Map operationalStatestartCommandParams = new LinkedHashMap(); - InteractionInfo operationalStatestartInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalStateCluster) cluster) - .start((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback - ); - }, - () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), - operationalStatestartCommandParams - ); - operationalStateClusterInteractionInfoMap.put("start", operationalStatestartInteractionInfo); + commandMap.put("messages", messagesClusterInteractionInfoMap); - Map operationalStateresumeCommandParams = new LinkedHashMap(); - InteractionInfo operationalStateresumeInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.OperationalStateCluster) cluster) - .resume((ChipClusters.OperationalStateCluster.OperationalCommandResponseCallback) callback - ); - }, - () -> new DelegatedOperationalStateClusterOperationalCommandResponseCallback(), - operationalStateresumeCommandParams - ); - operationalStateClusterInteractionInfoMap.put("resume", operationalStateresumeInteractionInfo); + Map deviceEnergyManagementClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("operationalState", operationalStateClusterInteractionInfoMap); + Map deviceEnergyManagementpowerAdjustRequestCommandParams = new LinkedHashMap(); - Map rvcOperationalStateClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo deviceEnergyManagementpowerAdjustRequestpowerCommandParameterInfo = new CommandParameterInfo("power", Long.class, Long.class); + deviceEnergyManagementpowerAdjustRequestCommandParams.put("power",deviceEnergyManagementpowerAdjustRequestpowerCommandParameterInfo); - Map rvcOperationalStatepauseCommandParams = new LinkedHashMap(); - InteractionInfo rvcOperationalStatepauseInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.RvcOperationalStateCluster) cluster) - .pause((ChipClusters.RvcOperationalStateCluster.OperationalCommandResponseCallback) callback - ); - }, - () -> new DelegatedRvcOperationalStateClusterOperationalCommandResponseCallback(), - rvcOperationalStatepauseCommandParams - ); - rvcOperationalStateClusterInteractionInfoMap.put("pause", rvcOperationalStatepauseInteractionInfo); + CommandParameterInfo deviceEnergyManagementpowerAdjustRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); + deviceEnergyManagementpowerAdjustRequestCommandParams.put("duration",deviceEnergyManagementpowerAdjustRequestdurationCommandParameterInfo); - Map rvcOperationalStateresumeCommandParams = new LinkedHashMap(); - InteractionInfo rvcOperationalStateresumeInteractionInfo = new InteractionInfo( + CommandParameterInfo deviceEnergyManagementpowerAdjustRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); + deviceEnergyManagementpowerAdjustRequestCommandParams.put("cause",deviceEnergyManagementpowerAdjustRequestcauseCommandParameterInfo); + InteractionInfo deviceEnergyManagementpowerAdjustRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.RvcOperationalStateCluster) cluster) - .resume((ChipClusters.RvcOperationalStateCluster.OperationalCommandResponseCallback) callback - ); - }, - () -> new DelegatedRvcOperationalStateClusterOperationalCommandResponseCallback(), - rvcOperationalStateresumeCommandParams - ); - rvcOperationalStateClusterInteractionInfoMap.put("resume", rvcOperationalStateresumeInteractionInfo); + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .powerAdjustRequest((DefaultClusterCallback) callback + , (Long) + commandArguments.get("power") + , (Long) + commandArguments.get("duration") + , (Integer) + commandArguments.get("cause") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementpowerAdjustRequestCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("powerAdjustRequest", deviceEnergyManagementpowerAdjustRequestInteractionInfo); - Map rvcOperationalStategoHomeCommandParams = new LinkedHashMap(); - InteractionInfo rvcOperationalStategoHomeInteractionInfo = new InteractionInfo( + Map deviceEnergyManagementcancelPowerAdjustRequestCommandParams = new LinkedHashMap(); + InteractionInfo deviceEnergyManagementcancelPowerAdjustRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.RvcOperationalStateCluster) cluster) - .goHome((ChipClusters.RvcOperationalStateCluster.OperationalCommandResponseCallback) callback - ); - }, - () -> new DelegatedRvcOperationalStateClusterOperationalCommandResponseCallback(), - rvcOperationalStategoHomeCommandParams - ); - rvcOperationalStateClusterInteractionInfoMap.put("goHome", rvcOperationalStategoHomeInteractionInfo); - - commandMap.put("rvcOperationalState", rvcOperationalStateClusterInteractionInfoMap); - - Map scenesManagementClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map scenesManagementaddSceneCommandParams = new LinkedHashMap(); + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .cancelPowerAdjustRequest((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementcancelPowerAdjustRequestCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("cancelPowerAdjustRequest", deviceEnergyManagementcancelPowerAdjustRequestInteractionInfo); - CommandParameterInfo scenesManagementaddScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - scenesManagementaddSceneCommandParams.put("groupID",scenesManagementaddScenegroupIDCommandParameterInfo); + Map deviceEnergyManagementstartTimeAdjustRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo scenesManagementaddScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); - scenesManagementaddSceneCommandParams.put("sceneID",scenesManagementaddScenesceneIDCommandParameterInfo); + CommandParameterInfo deviceEnergyManagementstartTimeAdjustRequestrequestedStartTimeCommandParameterInfo = new CommandParameterInfo("requestedStartTime", Long.class, Long.class); + deviceEnergyManagementstartTimeAdjustRequestCommandParams.put("requestedStartTime",deviceEnergyManagementstartTimeAdjustRequestrequestedStartTimeCommandParameterInfo); - CommandParameterInfo scenesManagementaddScenetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Long.class, Long.class); - scenesManagementaddSceneCommandParams.put("transitionTime",scenesManagementaddScenetransitionTimeCommandParameterInfo); + CommandParameterInfo deviceEnergyManagementstartTimeAdjustRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); + deviceEnergyManagementstartTimeAdjustRequestCommandParams.put("cause",deviceEnergyManagementstartTimeAdjustRequestcauseCommandParameterInfo); + InteractionInfo deviceEnergyManagementstartTimeAdjustRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .startTimeAdjustRequest((DefaultClusterCallback) callback + , (Long) + commandArguments.get("requestedStartTime") + , (Integer) + commandArguments.get("cause") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementstartTimeAdjustRequestCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("startTimeAdjustRequest", deviceEnergyManagementstartTimeAdjustRequestInteractionInfo); - CommandParameterInfo scenesManagementaddScenesceneNameCommandParameterInfo = new CommandParameterInfo("sceneName", String.class, String.class); - scenesManagementaddSceneCommandParams.put("sceneName",scenesManagementaddScenesceneNameCommandParameterInfo); + Map deviceEnergyManagementpauseRequestCommandParams = new LinkedHashMap(); - InteractionInfo scenesManagementaddSceneInteractionInfo = new InteractionInfo( + CommandParameterInfo deviceEnergyManagementpauseRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); + deviceEnergyManagementpauseRequestCommandParams.put("duration",deviceEnergyManagementpauseRequestdurationCommandParameterInfo); + + CommandParameterInfo deviceEnergyManagementpauseRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); + deviceEnergyManagementpauseRequestCommandParams.put("cause",deviceEnergyManagementpauseRequestcauseCommandParameterInfo); + InteractionInfo deviceEnergyManagementpauseRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .addScene((ChipClusters.ScenesManagementCluster.AddSceneResponseCallback) callback - , (Integer) - commandArguments.get("groupID") + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .pauseRequest((DefaultClusterCallback) callback + , (Long) + commandArguments.get("duration") + , (Integer) + commandArguments.get("cause") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementpauseRequestCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("pauseRequest", deviceEnergyManagementpauseRequestInteractionInfo); - , (Integer) - commandArguments.get("sceneID") + Map deviceEnergyManagementresumeRequestCommandParams = new LinkedHashMap(); + InteractionInfo deviceEnergyManagementresumeRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .resumeRequest((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementresumeRequestCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("resumeRequest", deviceEnergyManagementresumeRequestInteractionInfo); - , (Long) - commandArguments.get("transitionTime") + Map deviceEnergyManagementmodifyForecastRequestCommandParams = new LinkedHashMap(); - , (String) - commandArguments.get("sceneName") + CommandParameterInfo deviceEnergyManagementmodifyForecastRequestforecastIDCommandParameterInfo = new CommandParameterInfo("forecastID", Long.class, Long.class); + deviceEnergyManagementmodifyForecastRequestCommandParams.put("forecastID",deviceEnergyManagementmodifyForecastRequestforecastIDCommandParameterInfo); - , (ArrayList) - commandArguments.get("extensionFieldSets") - ); - }, - () -> new DelegatedScenesManagementClusterAddSceneResponseCallback(), - scenesManagementaddSceneCommandParams - ); - scenesManagementClusterInteractionInfoMap.put("addScene", scenesManagementaddSceneInteractionInfo); + CommandParameterInfo deviceEnergyManagementmodifyForecastRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); + deviceEnergyManagementmodifyForecastRequestCommandParams.put("cause",deviceEnergyManagementmodifyForecastRequestcauseCommandParameterInfo); + InteractionInfo deviceEnergyManagementmodifyForecastRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .modifyForecastRequest((DefaultClusterCallback) callback + , (Long) + commandArguments.get("forecastID") + , (ArrayList) + commandArguments.get("slotAdjustments") + , (Integer) + commandArguments.get("cause") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementmodifyForecastRequestCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("modifyForecastRequest", deviceEnergyManagementmodifyForecastRequestInteractionInfo); - Map scenesManagementviewSceneCommandParams = new LinkedHashMap(); + Map deviceEnergyManagementrequestConstraintBasedForecastCommandParams = new LinkedHashMap(); - CommandParameterInfo scenesManagementviewScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - scenesManagementviewSceneCommandParams.put("groupID",scenesManagementviewScenegroupIDCommandParameterInfo); - CommandParameterInfo scenesManagementviewScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); - scenesManagementviewSceneCommandParams.put("sceneID",scenesManagementviewScenesceneIDCommandParameterInfo); - InteractionInfo scenesManagementviewSceneInteractionInfo = new InteractionInfo( + CommandParameterInfo deviceEnergyManagementrequestConstraintBasedForecastcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); + deviceEnergyManagementrequestConstraintBasedForecastCommandParams.put("cause",deviceEnergyManagementrequestConstraintBasedForecastcauseCommandParameterInfo); + InteractionInfo deviceEnergyManagementrequestConstraintBasedForecastInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .viewScene((ChipClusters.ScenesManagementCluster.ViewSceneResponseCallback) callback - , (Integer) - commandArguments.get("groupID") - - , (Integer) - commandArguments.get("sceneID") + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .requestConstraintBasedForecast((DefaultClusterCallback) callback + , (ArrayList) + commandArguments.get("constraints") + , (Integer) + commandArguments.get("cause") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementrequestConstraintBasedForecastCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("requestConstraintBasedForecast", deviceEnergyManagementrequestConstraintBasedForecastInteractionInfo); - ); - }, - () -> new DelegatedScenesManagementClusterViewSceneResponseCallback(), - scenesManagementviewSceneCommandParams - ); - scenesManagementClusterInteractionInfoMap.put("viewScene", scenesManagementviewSceneInteractionInfo); + Map deviceEnergyManagementcancelRequestCommandParams = new LinkedHashMap(); + InteractionInfo deviceEnergyManagementcancelRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DeviceEnergyManagementCluster) cluster) + .cancelRequest((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + deviceEnergyManagementcancelRequestCommandParams + ); + deviceEnergyManagementClusterInteractionInfoMap.put("cancelRequest", deviceEnergyManagementcancelRequestInteractionInfo); - Map scenesManagementremoveSceneCommandParams = new LinkedHashMap(); + commandMap.put("deviceEnergyManagement", deviceEnergyManagementClusterInteractionInfoMap); - CommandParameterInfo scenesManagementremoveScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - scenesManagementremoveSceneCommandParams.put("groupID",scenesManagementremoveScenegroupIDCommandParameterInfo); + Map energyEvseClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo scenesManagementremoveScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); - scenesManagementremoveSceneCommandParams.put("sceneID",scenesManagementremoveScenesceneIDCommandParameterInfo); - InteractionInfo scenesManagementremoveSceneInteractionInfo = new InteractionInfo( + Map energyEvsedisableCommandParams = new LinkedHashMap(); + InteractionInfo energyEvsedisableInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .removeScene((ChipClusters.ScenesManagementCluster.RemoveSceneResponseCallback) callback - , (Integer) - commandArguments.get("groupID") + ((ChipClusters.EnergyEvseCluster) cluster) + .disable((DefaultClusterCallback) callback, 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + energyEvsedisableCommandParams + ); + energyEvseClusterInteractionInfoMap.put("disable", energyEvsedisableInteractionInfo); - , (Integer) - commandArguments.get("sceneID") + Map energyEvseenableChargingCommandParams = new LinkedHashMap(); - ); - }, - () -> new DelegatedScenesManagementClusterRemoveSceneResponseCallback(), - scenesManagementremoveSceneCommandParams - ); - scenesManagementClusterInteractionInfoMap.put("removeScene", scenesManagementremoveSceneInteractionInfo); + CommandParameterInfo energyEvseenableChargingchargingEnabledUntilCommandParameterInfo = new CommandParameterInfo("chargingEnabledUntil", Long.class, Long.class); + energyEvseenableChargingCommandParams.put("chargingEnabledUntil",energyEvseenableChargingchargingEnabledUntilCommandParameterInfo); - Map scenesManagementremoveAllScenesCommandParams = new LinkedHashMap(); + CommandParameterInfo energyEvseenableChargingminimumChargeCurrentCommandParameterInfo = new CommandParameterInfo("minimumChargeCurrent", Long.class, Long.class); + energyEvseenableChargingCommandParams.put("minimumChargeCurrent",energyEvseenableChargingminimumChargeCurrentCommandParameterInfo); - CommandParameterInfo scenesManagementremoveAllScenesgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - scenesManagementremoveAllScenesCommandParams.put("groupID",scenesManagementremoveAllScenesgroupIDCommandParameterInfo); - InteractionInfo scenesManagementremoveAllScenesInteractionInfo = new InteractionInfo( + CommandParameterInfo energyEvseenableChargingmaximumChargeCurrentCommandParameterInfo = new CommandParameterInfo("maximumChargeCurrent", Long.class, Long.class); + energyEvseenableChargingCommandParams.put("maximumChargeCurrent",energyEvseenableChargingmaximumChargeCurrentCommandParameterInfo); + InteractionInfo energyEvseenableChargingInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .removeAllScenes((ChipClusters.ScenesManagementCluster.RemoveAllScenesResponseCallback) callback - , (Integer) - commandArguments.get("groupID") + ((ChipClusters.EnergyEvseCluster) cluster) + .enableCharging((DefaultClusterCallback) callback + , (Long) + commandArguments.get("chargingEnabledUntil") + , (Long) + commandArguments.get("minimumChargeCurrent") + , (Long) + commandArguments.get("maximumChargeCurrent"), 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + energyEvseenableChargingCommandParams + ); + energyEvseClusterInteractionInfoMap.put("enableCharging", energyEvseenableChargingInteractionInfo); - ); - }, - () -> new DelegatedScenesManagementClusterRemoveAllScenesResponseCallback(), - scenesManagementremoveAllScenesCommandParams - ); - scenesManagementClusterInteractionInfoMap.put("removeAllScenes", scenesManagementremoveAllScenesInteractionInfo); + Map energyEvseenableDischargingCommandParams = new LinkedHashMap(); - Map scenesManagementstoreSceneCommandParams = new LinkedHashMap(); + CommandParameterInfo energyEvseenableDischargingdischargingEnabledUntilCommandParameterInfo = new CommandParameterInfo("dischargingEnabledUntil", Long.class, Long.class); + energyEvseenableDischargingCommandParams.put("dischargingEnabledUntil",energyEvseenableDischargingdischargingEnabledUntilCommandParameterInfo); - CommandParameterInfo scenesManagementstoreScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - scenesManagementstoreSceneCommandParams.put("groupID",scenesManagementstoreScenegroupIDCommandParameterInfo); + CommandParameterInfo energyEvseenableDischargingmaximumDischargeCurrentCommandParameterInfo = new CommandParameterInfo("maximumDischargeCurrent", Long.class, Long.class); + energyEvseenableDischargingCommandParams.put("maximumDischargeCurrent",energyEvseenableDischargingmaximumDischargeCurrentCommandParameterInfo); + InteractionInfo energyEvseenableDischargingInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.EnergyEvseCluster) cluster) + .enableDischarging((DefaultClusterCallback) callback + , (Long) + commandArguments.get("dischargingEnabledUntil") + , (Long) + commandArguments.get("maximumDischargeCurrent"), 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + energyEvseenableDischargingCommandParams + ); + energyEvseClusterInteractionInfoMap.put("enableDischarging", energyEvseenableDischargingInteractionInfo); - CommandParameterInfo scenesManagementstoreScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); - scenesManagementstoreSceneCommandParams.put("sceneID",scenesManagementstoreScenesceneIDCommandParameterInfo); - InteractionInfo scenesManagementstoreSceneInteractionInfo = new InteractionInfo( + Map energyEvsestartDiagnosticsCommandParams = new LinkedHashMap(); + InteractionInfo energyEvsestartDiagnosticsInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .storeScene((ChipClusters.ScenesManagementCluster.StoreSceneResponseCallback) callback - , (Integer) - commandArguments.get("groupID") + ((ChipClusters.EnergyEvseCluster) cluster) + .startDiagnostics((DefaultClusterCallback) callback, 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + energyEvsestartDiagnosticsCommandParams + ); + energyEvseClusterInteractionInfoMap.put("startDiagnostics", energyEvsestartDiagnosticsInteractionInfo); - , (Integer) - commandArguments.get("sceneID") + Map energyEvsesetTargetsCommandParams = new LinkedHashMap(); - ); + InteractionInfo energyEvsesetTargetsInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.EnergyEvseCluster) cluster) + .setTargets((DefaultClusterCallback) callback + , (ArrayList) + commandArguments.get("chargingTargetSchedules"), 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + energyEvsesetTargetsCommandParams + ); + energyEvseClusterInteractionInfoMap.put("setTargets", energyEvsesetTargetsInteractionInfo); + + Map energyEvsegetTargetsCommandParams = new LinkedHashMap(); + InteractionInfo energyEvsegetTargetsInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.EnergyEvseCluster) cluster) + .getTargets((ChipClusters.EnergyEvseCluster.GetTargetsResponseCallback) callback + , 10000); }, - () -> new DelegatedScenesManagementClusterStoreSceneResponseCallback(), - scenesManagementstoreSceneCommandParams + () -> new DelegatedEnergyEvseClusterGetTargetsResponseCallback(), + energyEvsegetTargetsCommandParams ); - scenesManagementClusterInteractionInfoMap.put("storeScene", scenesManagementstoreSceneInteractionInfo); - - Map scenesManagementrecallSceneCommandParams = new LinkedHashMap(); - - CommandParameterInfo scenesManagementrecallScenegroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - scenesManagementrecallSceneCommandParams.put("groupID",scenesManagementrecallScenegroupIDCommandParameterInfo); - - CommandParameterInfo scenesManagementrecallScenesceneIDCommandParameterInfo = new CommandParameterInfo("sceneID", Integer.class, Integer.class); - scenesManagementrecallSceneCommandParams.put("sceneID",scenesManagementrecallScenesceneIDCommandParameterInfo); + energyEvseClusterInteractionInfoMap.put("getTargets", energyEvsegetTargetsInteractionInfo); - CommandParameterInfo scenesManagementrecallScenetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Optional.class, Long.class); - scenesManagementrecallSceneCommandParams.put("transitionTime",scenesManagementrecallScenetransitionTimeCommandParameterInfo); - InteractionInfo scenesManagementrecallSceneInteractionInfo = new InteractionInfo( + Map energyEvseclearTargetsCommandParams = new LinkedHashMap(); + InteractionInfo energyEvseclearTargetsInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .recallScene((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("groupID") - , (Integer) - commandArguments.get("sceneID") - , (Optional) - commandArguments.get("transitionTime") + ((ChipClusters.EnergyEvseCluster) cluster) + .clearTargets((DefaultClusterCallback) callback, 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - scenesManagementrecallSceneCommandParams + energyEvseclearTargetsCommandParams ); - scenesManagementClusterInteractionInfoMap.put("recallScene", scenesManagementrecallSceneInteractionInfo); + energyEvseClusterInteractionInfoMap.put("clearTargets", energyEvseclearTargetsInteractionInfo); - Map scenesManagementgetSceneMembershipCommandParams = new LinkedHashMap(); + commandMap.put("energyEvse", energyEvseClusterInteractionInfoMap); - CommandParameterInfo scenesManagementgetSceneMembershipgroupIDCommandParameterInfo = new CommandParameterInfo("groupID", Integer.class, Integer.class); - scenesManagementgetSceneMembershipCommandParams.put("groupID",scenesManagementgetSceneMembershipgroupIDCommandParameterInfo); - InteractionInfo scenesManagementgetSceneMembershipInteractionInfo = new InteractionInfo( + Map energyPreferenceClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("energyPreference", energyPreferenceClusterInteractionInfoMap); + + Map powerTopologyClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("powerTopology", powerTopologyClusterInteractionInfoMap); + + Map energyEvseModeClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map energyEvseModechangeToModeCommandParams = new LinkedHashMap(); + + CommandParameterInfo energyEvseModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + energyEvseModechangeToModeCommandParams.put("newMode",energyEvseModechangeToModenewModeCommandParameterInfo); + InteractionInfo energyEvseModechangeToModeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .getSceneMembership((ChipClusters.ScenesManagementCluster.GetSceneMembershipResponseCallback) callback + ((ChipClusters.EnergyEvseModeCluster) cluster) + .changeToMode((ChipClusters.EnergyEvseModeCluster.ChangeToModeResponseCallback) callback , (Integer) - commandArguments.get("groupID") + commandArguments.get("newMode") ); }, - () -> new DelegatedScenesManagementClusterGetSceneMembershipResponseCallback(), - scenesManagementgetSceneMembershipCommandParams + () -> new DelegatedEnergyEvseModeClusterChangeToModeResponseCallback(), + energyEvseModechangeToModeCommandParams ); - scenesManagementClusterInteractionInfoMap.put("getSceneMembership", scenesManagementgetSceneMembershipInteractionInfo); - - Map scenesManagementcopySceneCommandParams = new LinkedHashMap(); - - CommandParameterInfo scenesManagementcopyScenemodeCommandParameterInfo = new CommandParameterInfo("mode", Integer.class, Integer.class); - scenesManagementcopySceneCommandParams.put("mode",scenesManagementcopyScenemodeCommandParameterInfo); + energyEvseModeClusterInteractionInfoMap.put("changeToMode", energyEvseModechangeToModeInteractionInfo); - CommandParameterInfo scenesManagementcopyScenegroupIdentifierFromCommandParameterInfo = new CommandParameterInfo("groupIdentifierFrom", Integer.class, Integer.class); - scenesManagementcopySceneCommandParams.put("groupIdentifierFrom",scenesManagementcopyScenegroupIdentifierFromCommandParameterInfo); + commandMap.put("energyEvseMode", energyEvseModeClusterInteractionInfoMap); - CommandParameterInfo scenesManagementcopyScenesceneIdentifierFromCommandParameterInfo = new CommandParameterInfo("sceneIdentifierFrom", Integer.class, Integer.class); - scenesManagementcopySceneCommandParams.put("sceneIdentifierFrom",scenesManagementcopyScenesceneIdentifierFromCommandParameterInfo); + Map waterHeaterModeClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo scenesManagementcopyScenegroupIdentifierToCommandParameterInfo = new CommandParameterInfo("groupIdentifierTo", Integer.class, Integer.class); - scenesManagementcopySceneCommandParams.put("groupIdentifierTo",scenesManagementcopyScenegroupIdentifierToCommandParameterInfo); + Map waterHeaterModechangeToModeCommandParams = new LinkedHashMap(); - CommandParameterInfo scenesManagementcopyScenesceneIdentifierToCommandParameterInfo = new CommandParameterInfo("sceneIdentifierTo", Integer.class, Integer.class); - scenesManagementcopySceneCommandParams.put("sceneIdentifierTo",scenesManagementcopyScenesceneIdentifierToCommandParameterInfo); - InteractionInfo scenesManagementcopySceneInteractionInfo = new InteractionInfo( + CommandParameterInfo waterHeaterModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + waterHeaterModechangeToModeCommandParams.put("newMode",waterHeaterModechangeToModenewModeCommandParameterInfo); + InteractionInfo waterHeaterModechangeToModeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ScenesManagementCluster) cluster) - .copyScene((ChipClusters.ScenesManagementCluster.CopySceneResponseCallback) callback + ((ChipClusters.WaterHeaterModeCluster) cluster) + .changeToMode((ChipClusters.WaterHeaterModeCluster.ChangeToModeResponseCallback) callback , (Integer) - commandArguments.get("mode") + commandArguments.get("newMode") - , (Integer) - commandArguments.get("groupIdentifierFrom") + ); + }, + () -> new DelegatedWaterHeaterModeClusterChangeToModeResponseCallback(), + waterHeaterModechangeToModeCommandParams + ); + waterHeaterModeClusterInteractionInfoMap.put("changeToMode", waterHeaterModechangeToModeInteractionInfo); - , (Integer) - commandArguments.get("sceneIdentifierFrom") + commandMap.put("waterHeaterMode", waterHeaterModeClusterInteractionInfoMap); - , (Integer) - commandArguments.get("groupIdentifierTo") + Map deviceEnergyManagementModeClusterInteractionInfoMap = new LinkedHashMap<>(); + Map deviceEnergyManagementModechangeToModeCommandParams = new LinkedHashMap(); + + CommandParameterInfo deviceEnergyManagementModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); + deviceEnergyManagementModechangeToModeCommandParams.put("newMode",deviceEnergyManagementModechangeToModenewModeCommandParameterInfo); + InteractionInfo deviceEnergyManagementModechangeToModeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DeviceEnergyManagementModeCluster) cluster) + .changeToMode((ChipClusters.DeviceEnergyManagementModeCluster.ChangeToModeResponseCallback) callback , (Integer) - commandArguments.get("sceneIdentifierTo") + commandArguments.get("newMode") ); }, - () -> new DelegatedScenesManagementClusterCopySceneResponseCallback(), - scenesManagementcopySceneCommandParams + () -> new DelegatedDeviceEnergyManagementModeClusterChangeToModeResponseCallback(), + deviceEnergyManagementModechangeToModeCommandParams ); - scenesManagementClusterInteractionInfoMap.put("copyScene", scenesManagementcopySceneInteractionInfo); + deviceEnergyManagementModeClusterInteractionInfoMap.put("changeToMode", deviceEnergyManagementModechangeToModeInteractionInfo); - commandMap.put("scenesManagement", scenesManagementClusterInteractionInfoMap); + commandMap.put("deviceEnergyManagementMode", deviceEnergyManagementModeClusterInteractionInfoMap); - Map hepaFilterMonitoringClusterInteractionInfoMap = new LinkedHashMap<>(); + Map doorLockClusterInteractionInfoMap = new LinkedHashMap<>(); - Map hepaFilterMonitoringresetConditionCommandParams = new LinkedHashMap(); - InteractionInfo hepaFilterMonitoringresetConditionInteractionInfo = new InteractionInfo( + Map doorLocklockDoorCommandParams = new LinkedHashMap(); + + CommandParameterInfo doorLocklockDoorPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); + doorLocklockDoorCommandParams.put("PINCode",doorLocklockDoorPINCodeCommandParameterInfo); + InteractionInfo doorLocklockDoorInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.HepaFilterMonitoringCluster) cluster) - .resetCondition((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .lockDoor((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("PINCode"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - hepaFilterMonitoringresetConditionCommandParams + doorLocklockDoorCommandParams ); - hepaFilterMonitoringClusterInteractionInfoMap.put("resetCondition", hepaFilterMonitoringresetConditionInteractionInfo); + doorLockClusterInteractionInfoMap.put("lockDoor", doorLocklockDoorInteractionInfo); - commandMap.put("hepaFilterMonitoring", hepaFilterMonitoringClusterInteractionInfoMap); + Map doorLockunlockDoorCommandParams = new LinkedHashMap(); - Map activatedCarbonFilterMonitoringClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo doorLockunlockDoorPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); + doorLockunlockDoorCommandParams.put("PINCode",doorLockunlockDoorPINCodeCommandParameterInfo); + InteractionInfo doorLockunlockDoorInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DoorLockCluster) cluster) + .unlockDoor((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("PINCode"), 10000 + ); + }, + () -> new DelegatedDefaultClusterCallback(), + doorLockunlockDoorCommandParams + ); + doorLockClusterInteractionInfoMap.put("unlockDoor", doorLockunlockDoorInteractionInfo); - Map activatedCarbonFilterMonitoringresetConditionCommandParams = new LinkedHashMap(); - InteractionInfo activatedCarbonFilterMonitoringresetConditionInteractionInfo = new InteractionInfo( + Map doorLockunlockWithTimeoutCommandParams = new LinkedHashMap(); + + CommandParameterInfo doorLockunlockWithTimeouttimeoutCommandParameterInfo = new CommandParameterInfo("timeout", Integer.class, Integer.class); + doorLockunlockWithTimeoutCommandParams.put("timeout",doorLockunlockWithTimeouttimeoutCommandParameterInfo); + + CommandParameterInfo doorLockunlockWithTimeoutPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); + doorLockunlockWithTimeoutCommandParams.put("PINCode",doorLockunlockWithTimeoutPINCodeCommandParameterInfo); + InteractionInfo doorLockunlockWithTimeoutInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ActivatedCarbonFilterMonitoringCluster) cluster) - .resetCondition((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .unlockWithTimeout((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("timeout") + , (Optional) + commandArguments.get("PINCode"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - activatedCarbonFilterMonitoringresetConditionCommandParams + doorLockunlockWithTimeoutCommandParams ); - activatedCarbonFilterMonitoringClusterInteractionInfoMap.put("resetCondition", activatedCarbonFilterMonitoringresetConditionInteractionInfo); + doorLockClusterInteractionInfoMap.put("unlockWithTimeout", doorLockunlockWithTimeoutInteractionInfo); - commandMap.put("activatedCarbonFilterMonitoring", activatedCarbonFilterMonitoringClusterInteractionInfoMap); + Map doorLocksetWeekDayScheduleCommandParams = new LinkedHashMap(); - Map booleanStateConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo doorLocksetWeekDayScheduleweekDayIndexCommandParameterInfo = new CommandParameterInfo("weekDayIndex", Integer.class, Integer.class); + doorLocksetWeekDayScheduleCommandParams.put("weekDayIndex",doorLocksetWeekDayScheduleweekDayIndexCommandParameterInfo); - Map booleanStateConfigurationsuppressAlarmCommandParams = new LinkedHashMap(); + CommandParameterInfo doorLocksetWeekDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLocksetWeekDayScheduleCommandParams.put("userIndex",doorLocksetWeekDayScheduleuserIndexCommandParameterInfo); - CommandParameterInfo booleanStateConfigurationsuppressAlarmalarmsToSuppressCommandParameterInfo = new CommandParameterInfo("alarmsToSuppress", Integer.class, Integer.class); - booleanStateConfigurationsuppressAlarmCommandParams.put("alarmsToSuppress",booleanStateConfigurationsuppressAlarmalarmsToSuppressCommandParameterInfo); - InteractionInfo booleanStateConfigurationsuppressAlarmInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLocksetWeekDayScheduledaysMaskCommandParameterInfo = new CommandParameterInfo("daysMask", Integer.class, Integer.class); + doorLocksetWeekDayScheduleCommandParams.put("daysMask",doorLocksetWeekDayScheduledaysMaskCommandParameterInfo); + + CommandParameterInfo doorLocksetWeekDaySchedulestartHourCommandParameterInfo = new CommandParameterInfo("startHour", Integer.class, Integer.class); + doorLocksetWeekDayScheduleCommandParams.put("startHour",doorLocksetWeekDaySchedulestartHourCommandParameterInfo); + + CommandParameterInfo doorLocksetWeekDaySchedulestartMinuteCommandParameterInfo = new CommandParameterInfo("startMinute", Integer.class, Integer.class); + doorLocksetWeekDayScheduleCommandParams.put("startMinute",doorLocksetWeekDaySchedulestartMinuteCommandParameterInfo); + + CommandParameterInfo doorLocksetWeekDayScheduleendHourCommandParameterInfo = new CommandParameterInfo("endHour", Integer.class, Integer.class); + doorLocksetWeekDayScheduleCommandParams.put("endHour",doorLocksetWeekDayScheduleendHourCommandParameterInfo); + + CommandParameterInfo doorLocksetWeekDayScheduleendMinuteCommandParameterInfo = new CommandParameterInfo("endMinute", Integer.class, Integer.class); + doorLocksetWeekDayScheduleCommandParams.put("endMinute",doorLocksetWeekDayScheduleendMinuteCommandParameterInfo); + InteractionInfo doorLocksetWeekDayScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.BooleanStateConfigurationCluster) cluster) - .suppressAlarm((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .setWeekDaySchedule((DefaultClusterCallback) callback , (Integer) - commandArguments.get("alarmsToSuppress") + commandArguments.get("weekDayIndex") + , (Integer) + commandArguments.get("userIndex") + , (Integer) + commandArguments.get("daysMask") + , (Integer) + commandArguments.get("startHour") + , (Integer) + commandArguments.get("startMinute") + , (Integer) + commandArguments.get("endHour") + , (Integer) + commandArguments.get("endMinute") ); }, () -> new DelegatedDefaultClusterCallback(), - booleanStateConfigurationsuppressAlarmCommandParams + doorLocksetWeekDayScheduleCommandParams ); - booleanStateConfigurationClusterInteractionInfoMap.put("suppressAlarm", booleanStateConfigurationsuppressAlarmInteractionInfo); + doorLockClusterInteractionInfoMap.put("setWeekDaySchedule", doorLocksetWeekDayScheduleInteractionInfo); - Map booleanStateConfigurationenableDisableAlarmCommandParams = new LinkedHashMap(); + Map doorLockgetWeekDayScheduleCommandParams = new LinkedHashMap(); - CommandParameterInfo booleanStateConfigurationenableDisableAlarmalarmsToEnableDisableCommandParameterInfo = new CommandParameterInfo("alarmsToEnableDisable", Integer.class, Integer.class); - booleanStateConfigurationenableDisableAlarmCommandParams.put("alarmsToEnableDisable",booleanStateConfigurationenableDisableAlarmalarmsToEnableDisableCommandParameterInfo); - InteractionInfo booleanStateConfigurationenableDisableAlarmInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLockgetWeekDayScheduleweekDayIndexCommandParameterInfo = new CommandParameterInfo("weekDayIndex", Integer.class, Integer.class); + doorLockgetWeekDayScheduleCommandParams.put("weekDayIndex",doorLockgetWeekDayScheduleweekDayIndexCommandParameterInfo); + + CommandParameterInfo doorLockgetWeekDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLockgetWeekDayScheduleCommandParams.put("userIndex",doorLockgetWeekDayScheduleuserIndexCommandParameterInfo); + InteractionInfo doorLockgetWeekDayScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.BooleanStateConfigurationCluster) cluster) - .enableDisableAlarm((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .getWeekDaySchedule((ChipClusters.DoorLockCluster.GetWeekDayScheduleResponseCallback) callback + , (Integer) + commandArguments.get("weekDayIndex") + + , (Integer) + commandArguments.get("userIndex") + + ); + }, + () -> new DelegatedDoorLockClusterGetWeekDayScheduleResponseCallback(), + doorLockgetWeekDayScheduleCommandParams + ); + doorLockClusterInteractionInfoMap.put("getWeekDaySchedule", doorLockgetWeekDayScheduleInteractionInfo); + + Map doorLockclearWeekDayScheduleCommandParams = new LinkedHashMap(); + + CommandParameterInfo doorLockclearWeekDayScheduleweekDayIndexCommandParameterInfo = new CommandParameterInfo("weekDayIndex", Integer.class, Integer.class); + doorLockclearWeekDayScheduleCommandParams.put("weekDayIndex",doorLockclearWeekDayScheduleweekDayIndexCommandParameterInfo); + + CommandParameterInfo doorLockclearWeekDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLockclearWeekDayScheduleCommandParams.put("userIndex",doorLockclearWeekDayScheduleuserIndexCommandParameterInfo); + InteractionInfo doorLockclearWeekDayScheduleInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DoorLockCluster) cluster) + .clearWeekDaySchedule((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("weekDayIndex") , (Integer) - commandArguments.get("alarmsToEnableDisable") + commandArguments.get("userIndex") ); }, () -> new DelegatedDefaultClusterCallback(), - booleanStateConfigurationenableDisableAlarmCommandParams + doorLockclearWeekDayScheduleCommandParams ); - booleanStateConfigurationClusterInteractionInfoMap.put("enableDisableAlarm", booleanStateConfigurationenableDisableAlarmInteractionInfo); - - commandMap.put("booleanStateConfiguration", booleanStateConfigurationClusterInteractionInfoMap); + doorLockClusterInteractionInfoMap.put("clearWeekDaySchedule", doorLockclearWeekDayScheduleInteractionInfo); - Map valveConfigurationAndControlClusterInteractionInfoMap = new LinkedHashMap<>(); + Map doorLocksetYearDayScheduleCommandParams = new LinkedHashMap(); - Map valveConfigurationAndControlopenCommandParams = new LinkedHashMap(); + CommandParameterInfo doorLocksetYearDayScheduleyearDayIndexCommandParameterInfo = new CommandParameterInfo("yearDayIndex", Integer.class, Integer.class); + doorLocksetYearDayScheduleCommandParams.put("yearDayIndex",doorLocksetYearDayScheduleyearDayIndexCommandParameterInfo); - CommandParameterInfo valveConfigurationAndControlopenopenDurationCommandParameterInfo = new CommandParameterInfo("openDuration", Optional.class, Long.class); - valveConfigurationAndControlopenCommandParams.put("openDuration",valveConfigurationAndControlopenopenDurationCommandParameterInfo); + CommandParameterInfo doorLocksetYearDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLocksetYearDayScheduleCommandParams.put("userIndex",doorLocksetYearDayScheduleuserIndexCommandParameterInfo); - CommandParameterInfo valveConfigurationAndControlopentargetLevelCommandParameterInfo = new CommandParameterInfo("targetLevel", Optional.class, Integer.class); - valveConfigurationAndControlopenCommandParams.put("targetLevel",valveConfigurationAndControlopentargetLevelCommandParameterInfo); - InteractionInfo valveConfigurationAndControlopenInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ValveConfigurationAndControlCluster) cluster) - .open((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("openDuration") - , (Optional) - commandArguments.get("targetLevel") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - valveConfigurationAndControlopenCommandParams - ); - valveConfigurationAndControlClusterInteractionInfoMap.put("open", valveConfigurationAndControlopenInteractionInfo); + CommandParameterInfo doorLocksetYearDaySchedulelocalStartTimeCommandParameterInfo = new CommandParameterInfo("localStartTime", Long.class, Long.class); + doorLocksetYearDayScheduleCommandParams.put("localStartTime",doorLocksetYearDaySchedulelocalStartTimeCommandParameterInfo); - Map valveConfigurationAndControlcloseCommandParams = new LinkedHashMap(); - InteractionInfo valveConfigurationAndControlcloseInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLocksetYearDaySchedulelocalEndTimeCommandParameterInfo = new CommandParameterInfo("localEndTime", Long.class, Long.class); + doorLocksetYearDayScheduleCommandParams.put("localEndTime",doorLocksetYearDaySchedulelocalEndTimeCommandParameterInfo); + InteractionInfo doorLocksetYearDayScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ValveConfigurationAndControlCluster) cluster) - .close((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .setYearDaySchedule((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("yearDayIndex") + , (Integer) + commandArguments.get("userIndex") + , (Long) + commandArguments.get("localStartTime") + , (Long) + commandArguments.get("localEndTime") ); }, () -> new DelegatedDefaultClusterCallback(), - valveConfigurationAndControlcloseCommandParams + doorLocksetYearDayScheduleCommandParams ); - valveConfigurationAndControlClusterInteractionInfoMap.put("close", valveConfigurationAndControlcloseInteractionInfo); + doorLockClusterInteractionInfoMap.put("setYearDaySchedule", doorLocksetYearDayScheduleInteractionInfo); - commandMap.put("valveConfigurationAndControl", valveConfigurationAndControlClusterInteractionInfoMap); + Map doorLockgetYearDayScheduleCommandParams = new LinkedHashMap(); - Map electricalPowerMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo doorLockgetYearDayScheduleyearDayIndexCommandParameterInfo = new CommandParameterInfo("yearDayIndex", Integer.class, Integer.class); + doorLockgetYearDayScheduleCommandParams.put("yearDayIndex",doorLockgetYearDayScheduleyearDayIndexCommandParameterInfo); - commandMap.put("electricalPowerMeasurement", electricalPowerMeasurementClusterInteractionInfoMap); + CommandParameterInfo doorLockgetYearDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLockgetYearDayScheduleCommandParams.put("userIndex",doorLockgetYearDayScheduleuserIndexCommandParameterInfo); + InteractionInfo doorLockgetYearDayScheduleInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DoorLockCluster) cluster) + .getYearDaySchedule((ChipClusters.DoorLockCluster.GetYearDayScheduleResponseCallback) callback + , (Integer) + commandArguments.get("yearDayIndex") - Map electricalEnergyMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + , (Integer) + commandArguments.get("userIndex") - commandMap.put("electricalEnergyMeasurement", electricalEnergyMeasurementClusterInteractionInfoMap); + ); + }, + () -> new DelegatedDoorLockClusterGetYearDayScheduleResponseCallback(), + doorLockgetYearDayScheduleCommandParams + ); + doorLockClusterInteractionInfoMap.put("getYearDaySchedule", doorLockgetYearDayScheduleInteractionInfo); - Map waterHeaterManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + Map doorLockclearYearDayScheduleCommandParams = new LinkedHashMap(); - Map waterHeaterManagementboostCommandParams = new LinkedHashMap(); + CommandParameterInfo doorLockclearYearDayScheduleyearDayIndexCommandParameterInfo = new CommandParameterInfo("yearDayIndex", Integer.class, Integer.class); + doorLockclearYearDayScheduleCommandParams.put("yearDayIndex",doorLockclearYearDayScheduleyearDayIndexCommandParameterInfo); - InteractionInfo waterHeaterManagementboostInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLockclearYearDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLockclearYearDayScheduleCommandParams.put("userIndex",doorLockclearYearDayScheduleuserIndexCommandParameterInfo); + InteractionInfo doorLockclearYearDayScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WaterHeaterManagementCluster) cluster) - .boost((DefaultClusterCallback) callback - , (ChipStructs.WaterHeaterManagementClusterWaterHeaterBoostInfoStruct) - commandArguments.get("boostInfo") + ((ChipClusters.DoorLockCluster) cluster) + .clearYearDaySchedule((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("yearDayIndex") + , (Integer) + commandArguments.get("userIndex") ); }, () -> new DelegatedDefaultClusterCallback(), - waterHeaterManagementboostCommandParams + doorLockclearYearDayScheduleCommandParams ); - waterHeaterManagementClusterInteractionInfoMap.put("boost", waterHeaterManagementboostInteractionInfo); + doorLockClusterInteractionInfoMap.put("clearYearDaySchedule", doorLockclearYearDayScheduleInteractionInfo); - Map waterHeaterManagementcancelBoostCommandParams = new LinkedHashMap(); - InteractionInfo waterHeaterManagementcancelBoostInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.WaterHeaterManagementCluster) cluster) - .cancelBoost((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - waterHeaterManagementcancelBoostCommandParams - ); - waterHeaterManagementClusterInteractionInfoMap.put("cancelBoost", waterHeaterManagementcancelBoostInteractionInfo); + Map doorLocksetHolidayScheduleCommandParams = new LinkedHashMap(); - commandMap.put("waterHeaterManagement", waterHeaterManagementClusterInteractionInfoMap); + CommandParameterInfo doorLocksetHolidayScheduleholidayIndexCommandParameterInfo = new CommandParameterInfo("holidayIndex", Integer.class, Integer.class); + doorLocksetHolidayScheduleCommandParams.put("holidayIndex",doorLocksetHolidayScheduleholidayIndexCommandParameterInfo); - Map demandResponseLoadControlClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo doorLocksetHolidaySchedulelocalStartTimeCommandParameterInfo = new CommandParameterInfo("localStartTime", Long.class, Long.class); + doorLocksetHolidayScheduleCommandParams.put("localStartTime",doorLocksetHolidaySchedulelocalStartTimeCommandParameterInfo); - Map demandResponseLoadControlregisterLoadControlProgramRequestCommandParams = new LinkedHashMap(); + CommandParameterInfo doorLocksetHolidaySchedulelocalEndTimeCommandParameterInfo = new CommandParameterInfo("localEndTime", Long.class, Long.class); + doorLocksetHolidayScheduleCommandParams.put("localEndTime",doorLocksetHolidaySchedulelocalEndTimeCommandParameterInfo); - InteractionInfo demandResponseLoadControlregisterLoadControlProgramRequestInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLocksetHolidayScheduleoperatingModeCommandParameterInfo = new CommandParameterInfo("operatingMode", Integer.class, Integer.class); + doorLocksetHolidayScheduleCommandParams.put("operatingMode",doorLocksetHolidayScheduleoperatingModeCommandParameterInfo); + InteractionInfo doorLocksetHolidayScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DemandResponseLoadControlCluster) cluster) - .registerLoadControlProgramRequest((DefaultClusterCallback) callback - , (ChipStructs.DemandResponseLoadControlClusterLoadControlProgramStruct) - commandArguments.get("loadControlProgram") + ((ChipClusters.DoorLockCluster) cluster) + .setHolidaySchedule((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("holidayIndex") + , (Long) + commandArguments.get("localStartTime") + , (Long) + commandArguments.get("localEndTime") + , (Integer) + commandArguments.get("operatingMode") ); }, () -> new DelegatedDefaultClusterCallback(), - demandResponseLoadControlregisterLoadControlProgramRequestCommandParams + doorLocksetHolidayScheduleCommandParams ); - demandResponseLoadControlClusterInteractionInfoMap.put("registerLoadControlProgramRequest", demandResponseLoadControlregisterLoadControlProgramRequestInteractionInfo); + doorLockClusterInteractionInfoMap.put("setHolidaySchedule", doorLocksetHolidayScheduleInteractionInfo); - Map demandResponseLoadControlunregisterLoadControlProgramRequestCommandParams = new LinkedHashMap(); + Map doorLockgetHolidayScheduleCommandParams = new LinkedHashMap(); - CommandParameterInfo demandResponseLoadControlunregisterLoadControlProgramRequestloadControlProgramIDCommandParameterInfo = new CommandParameterInfo("loadControlProgramID", byte[].class, byte[].class); - demandResponseLoadControlunregisterLoadControlProgramRequestCommandParams.put("loadControlProgramID",demandResponseLoadControlunregisterLoadControlProgramRequestloadControlProgramIDCommandParameterInfo); - InteractionInfo demandResponseLoadControlunregisterLoadControlProgramRequestInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLockgetHolidayScheduleholidayIndexCommandParameterInfo = new CommandParameterInfo("holidayIndex", Integer.class, Integer.class); + doorLockgetHolidayScheduleCommandParams.put("holidayIndex",doorLockgetHolidayScheduleholidayIndexCommandParameterInfo); + InteractionInfo doorLockgetHolidayScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DemandResponseLoadControlCluster) cluster) - .unregisterLoadControlProgramRequest((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("loadControlProgramID") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - demandResponseLoadControlunregisterLoadControlProgramRequestCommandParams - ); - demandResponseLoadControlClusterInteractionInfoMap.put("unregisterLoadControlProgramRequest", demandResponseLoadControlunregisterLoadControlProgramRequestInteractionInfo); + ((ChipClusters.DoorLockCluster) cluster) + .getHolidaySchedule((ChipClusters.DoorLockCluster.GetHolidayScheduleResponseCallback) callback + , (Integer) + commandArguments.get("holidayIndex") - Map demandResponseLoadControladdLoadControlEventRequestCommandParams = new LinkedHashMap(); + ); + }, + () -> new DelegatedDoorLockClusterGetHolidayScheduleResponseCallback(), + doorLockgetHolidayScheduleCommandParams + ); + doorLockClusterInteractionInfoMap.put("getHolidaySchedule", doorLockgetHolidayScheduleInteractionInfo); - InteractionInfo demandResponseLoadControladdLoadControlEventRequestInteractionInfo = new InteractionInfo( + Map doorLockclearHolidayScheduleCommandParams = new LinkedHashMap(); + + CommandParameterInfo doorLockclearHolidayScheduleholidayIndexCommandParameterInfo = new CommandParameterInfo("holidayIndex", Integer.class, Integer.class); + doorLockclearHolidayScheduleCommandParams.put("holidayIndex",doorLockclearHolidayScheduleholidayIndexCommandParameterInfo); + InteractionInfo doorLockclearHolidayScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DemandResponseLoadControlCluster) cluster) - .addLoadControlEventRequest((DefaultClusterCallback) callback - , (ChipStructs.DemandResponseLoadControlClusterLoadControlEventStruct) - commandArguments.get("event") + ((ChipClusters.DoorLockCluster) cluster) + .clearHolidaySchedule((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("holidayIndex") ); }, () -> new DelegatedDefaultClusterCallback(), - demandResponseLoadControladdLoadControlEventRequestCommandParams + doorLockclearHolidayScheduleCommandParams ); - demandResponseLoadControlClusterInteractionInfoMap.put("addLoadControlEventRequest", demandResponseLoadControladdLoadControlEventRequestInteractionInfo); + doorLockClusterInteractionInfoMap.put("clearHolidaySchedule", doorLockclearHolidayScheduleInteractionInfo); - Map demandResponseLoadControlremoveLoadControlEventRequestCommandParams = new LinkedHashMap(); + Map doorLocksetUserCommandParams = new LinkedHashMap(); - CommandParameterInfo demandResponseLoadControlremoveLoadControlEventRequesteventIDCommandParameterInfo = new CommandParameterInfo("eventID", byte[].class, byte[].class); - demandResponseLoadControlremoveLoadControlEventRequestCommandParams.put("eventID",demandResponseLoadControlremoveLoadControlEventRequesteventIDCommandParameterInfo); + CommandParameterInfo doorLocksetUseroperationTypeCommandParameterInfo = new CommandParameterInfo("operationType", Integer.class, Integer.class); + doorLocksetUserCommandParams.put("operationType",doorLocksetUseroperationTypeCommandParameterInfo); - CommandParameterInfo demandResponseLoadControlremoveLoadControlEventRequestcancelControlCommandParameterInfo = new CommandParameterInfo("cancelControl", Integer.class, Integer.class); - demandResponseLoadControlremoveLoadControlEventRequestCommandParams.put("cancelControl",demandResponseLoadControlremoveLoadControlEventRequestcancelControlCommandParameterInfo); - InteractionInfo demandResponseLoadControlremoveLoadControlEventRequestInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLocksetUseruserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLocksetUserCommandParams.put("userIndex",doorLocksetUseruserIndexCommandParameterInfo); + + CommandParameterInfo doorLocksetUseruserNameCommandParameterInfo = new CommandParameterInfo("userName", String.class, String.class); + doorLocksetUserCommandParams.put("userName",doorLocksetUseruserNameCommandParameterInfo); + + CommandParameterInfo doorLocksetUseruserUniqueIDCommandParameterInfo = new CommandParameterInfo("userUniqueID", Long.class, Long.class); + doorLocksetUserCommandParams.put("userUniqueID",doorLocksetUseruserUniqueIDCommandParameterInfo); + + CommandParameterInfo doorLocksetUseruserStatusCommandParameterInfo = new CommandParameterInfo("userStatus", Integer.class, Integer.class); + doorLocksetUserCommandParams.put("userStatus",doorLocksetUseruserStatusCommandParameterInfo); + + CommandParameterInfo doorLocksetUseruserTypeCommandParameterInfo = new CommandParameterInfo("userType", Integer.class, Integer.class); + doorLocksetUserCommandParams.put("userType",doorLocksetUseruserTypeCommandParameterInfo); + + CommandParameterInfo doorLocksetUsercredentialRuleCommandParameterInfo = new CommandParameterInfo("credentialRule", Integer.class, Integer.class); + doorLocksetUserCommandParams.put("credentialRule",doorLocksetUsercredentialRuleCommandParameterInfo); + InteractionInfo doorLocksetUserInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DemandResponseLoadControlCluster) cluster) - .removeLoadControlEventRequest((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("eventID") + ((ChipClusters.DoorLockCluster) cluster) + .setUser((DefaultClusterCallback) callback , (Integer) - commandArguments.get("cancelControl") + commandArguments.get("operationType") + , (Integer) + commandArguments.get("userIndex") + , (String) + commandArguments.get("userName") + , (Long) + commandArguments.get("userUniqueID") + , (Integer) + commandArguments.get("userStatus") + , (Integer) + commandArguments.get("userType") + , (Integer) + commandArguments.get("credentialRule"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - demandResponseLoadControlremoveLoadControlEventRequestCommandParams + doorLocksetUserCommandParams ); - demandResponseLoadControlClusterInteractionInfoMap.put("removeLoadControlEventRequest", demandResponseLoadControlremoveLoadControlEventRequestInteractionInfo); + doorLockClusterInteractionInfoMap.put("setUser", doorLocksetUserInteractionInfo); + + Map doorLockgetUserCommandParams = new LinkedHashMap(); + + CommandParameterInfo doorLockgetUseruserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLockgetUserCommandParams.put("userIndex",doorLockgetUseruserIndexCommandParameterInfo); + InteractionInfo doorLockgetUserInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DoorLockCluster) cluster) + .getUser((ChipClusters.DoorLockCluster.GetUserResponseCallback) callback + , (Integer) + commandArguments.get("userIndex") - Map demandResponseLoadControlclearLoadControlEventsRequestCommandParams = new LinkedHashMap(); - InteractionInfo demandResponseLoadControlclearLoadControlEventsRequestInteractionInfo = new InteractionInfo( + ); + }, + () -> new DelegatedDoorLockClusterGetUserResponseCallback(), + doorLockgetUserCommandParams + ); + doorLockClusterInteractionInfoMap.put("getUser", doorLockgetUserInteractionInfo); + + Map doorLockclearUserCommandParams = new LinkedHashMap(); + + CommandParameterInfo doorLockclearUseruserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLockclearUserCommandParams.put("userIndex",doorLockclearUseruserIndexCommandParameterInfo); + InteractionInfo doorLockclearUserInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DemandResponseLoadControlCluster) cluster) - .clearLoadControlEventsRequest((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .clearUser((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("userIndex"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - demandResponseLoadControlclearLoadControlEventsRequestCommandParams + doorLockclearUserCommandParams ); - demandResponseLoadControlClusterInteractionInfoMap.put("clearLoadControlEventsRequest", demandResponseLoadControlclearLoadControlEventsRequestInteractionInfo); + doorLockClusterInteractionInfoMap.put("clearUser", doorLockclearUserInteractionInfo); - commandMap.put("demandResponseLoadControl", demandResponseLoadControlClusterInteractionInfoMap); + Map doorLocksetCredentialCommandParams = new LinkedHashMap(); - Map messagesClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo doorLocksetCredentialoperationTypeCommandParameterInfo = new CommandParameterInfo("operationType", Integer.class, Integer.class); + doorLocksetCredentialCommandParams.put("operationType",doorLocksetCredentialoperationTypeCommandParameterInfo); - Map messagespresentMessagesRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo messagespresentMessagesRequestmessageIDCommandParameterInfo = new CommandParameterInfo("messageID", byte[].class, byte[].class); - messagespresentMessagesRequestCommandParams.put("messageID",messagespresentMessagesRequestmessageIDCommandParameterInfo); + CommandParameterInfo doorLocksetCredentialcredentialDataCommandParameterInfo = new CommandParameterInfo("credentialData", byte[].class, byte[].class); + doorLocksetCredentialCommandParams.put("credentialData",doorLocksetCredentialcredentialDataCommandParameterInfo); - CommandParameterInfo messagespresentMessagesRequestpriorityCommandParameterInfo = new CommandParameterInfo("priority", Integer.class, Integer.class); - messagespresentMessagesRequestCommandParams.put("priority",messagespresentMessagesRequestpriorityCommandParameterInfo); + CommandParameterInfo doorLocksetCredentialuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); + doorLocksetCredentialCommandParams.put("userIndex",doorLocksetCredentialuserIndexCommandParameterInfo); - CommandParameterInfo messagespresentMessagesRequestmessageControlCommandParameterInfo = new CommandParameterInfo("messageControl", Integer.class, Integer.class); - messagespresentMessagesRequestCommandParams.put("messageControl",messagespresentMessagesRequestmessageControlCommandParameterInfo); + CommandParameterInfo doorLocksetCredentialuserStatusCommandParameterInfo = new CommandParameterInfo("userStatus", Integer.class, Integer.class); + doorLocksetCredentialCommandParams.put("userStatus",doorLocksetCredentialuserStatusCommandParameterInfo); - CommandParameterInfo messagespresentMessagesRequeststartTimeCommandParameterInfo = new CommandParameterInfo("startTime", Long.class, Long.class); - messagespresentMessagesRequestCommandParams.put("startTime",messagespresentMessagesRequeststartTimeCommandParameterInfo); + CommandParameterInfo doorLocksetCredentialuserTypeCommandParameterInfo = new CommandParameterInfo("userType", Integer.class, Integer.class); + doorLocksetCredentialCommandParams.put("userType",doorLocksetCredentialuserTypeCommandParameterInfo); + InteractionInfo doorLocksetCredentialInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DoorLockCluster) cluster) + .setCredential((ChipClusters.DoorLockCluster.SetCredentialResponseCallback) callback + , (Integer) + commandArguments.get("operationType") - CommandParameterInfo messagespresentMessagesRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); - messagespresentMessagesRequestCommandParams.put("duration",messagespresentMessagesRequestdurationCommandParameterInfo); + , (ChipStructs.DoorLockClusterCredentialStruct) + commandArguments.get("credential") - CommandParameterInfo messagespresentMessagesRequestmessageTextCommandParameterInfo = new CommandParameterInfo("messageText", String.class, String.class); - messagespresentMessagesRequestCommandParams.put("messageText",messagespresentMessagesRequestmessageTextCommandParameterInfo); + , (byte[]) + commandArguments.get("credentialData") - InteractionInfo messagespresentMessagesRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MessagesCluster) cluster) - .presentMessagesRequest((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("messageID") - , (Integer) - commandArguments.get("priority") - , (Integer) - commandArguments.get("messageControl") - , (Long) - commandArguments.get("startTime") - , (Long) - commandArguments.get("duration") - , (String) - commandArguments.get("messageText") - , (Optional>) - commandArguments.get("responses") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - messagespresentMessagesRequestCommandParams - ); - messagesClusterInteractionInfoMap.put("presentMessagesRequest", messagespresentMessagesRequestInteractionInfo); + , (Integer) + commandArguments.get("userIndex") - Map messagescancelMessagesRequestCommandParams = new LinkedHashMap(); + , (Integer) + commandArguments.get("userStatus") - CommandParameterInfo messagescancelMessagesRequestmessageIDsCommandParameterInfo = new CommandParameterInfo("messageIDs", ArrayList.class, ArrayList.class); - messagescancelMessagesRequestCommandParams.put("messageIDs",messagescancelMessagesRequestmessageIDsCommandParameterInfo); - InteractionInfo messagescancelMessagesRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MessagesCluster) cluster) - .cancelMessagesRequest((DefaultClusterCallback) callback - , (ArrayList) - commandArguments.get("messageIDs") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - messagescancelMessagesRequestCommandParams - ); - messagesClusterInteractionInfoMap.put("cancelMessagesRequest", messagescancelMessagesRequestInteractionInfo); + , (Integer) + commandArguments.get("userType") - commandMap.put("messages", messagesClusterInteractionInfoMap); + , 10000); + }, + () -> new DelegatedDoorLockClusterSetCredentialResponseCallback(), + doorLocksetCredentialCommandParams + ); + doorLockClusterInteractionInfoMap.put("setCredential", doorLocksetCredentialInteractionInfo); - Map deviceEnergyManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + Map doorLockgetCredentialStatusCommandParams = new LinkedHashMap(); - Map deviceEnergyManagementpowerAdjustRequestCommandParams = new LinkedHashMap(); + InteractionInfo doorLockgetCredentialStatusInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.DoorLockCluster) cluster) + .getCredentialStatus((ChipClusters.DoorLockCluster.GetCredentialStatusResponseCallback) callback + , (ChipStructs.DoorLockClusterCredentialStruct) + commandArguments.get("credential") - CommandParameterInfo deviceEnergyManagementpowerAdjustRequestpowerCommandParameterInfo = new CommandParameterInfo("power", Long.class, Long.class); - deviceEnergyManagementpowerAdjustRequestCommandParams.put("power",deviceEnergyManagementpowerAdjustRequestpowerCommandParameterInfo); + ); + }, + () -> new DelegatedDoorLockClusterGetCredentialStatusResponseCallback(), + doorLockgetCredentialStatusCommandParams + ); + doorLockClusterInteractionInfoMap.put("getCredentialStatus", doorLockgetCredentialStatusInteractionInfo); - CommandParameterInfo deviceEnergyManagementpowerAdjustRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); - deviceEnergyManagementpowerAdjustRequestCommandParams.put("duration",deviceEnergyManagementpowerAdjustRequestdurationCommandParameterInfo); + Map doorLockclearCredentialCommandParams = new LinkedHashMap(); - CommandParameterInfo deviceEnergyManagementpowerAdjustRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); - deviceEnergyManagementpowerAdjustRequestCommandParams.put("cause",deviceEnergyManagementpowerAdjustRequestcauseCommandParameterInfo); - InteractionInfo deviceEnergyManagementpowerAdjustRequestInteractionInfo = new InteractionInfo( + InteractionInfo doorLockclearCredentialInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .powerAdjustRequest((DefaultClusterCallback) callback - , (Long) - commandArguments.get("power") - , (Long) - commandArguments.get("duration") - , (Integer) - commandArguments.get("cause") + ((ChipClusters.DoorLockCluster) cluster) + .clearCredential((DefaultClusterCallback) callback + , (ChipStructs.DoorLockClusterCredentialStruct) + commandArguments.get("credential"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementpowerAdjustRequestCommandParams + doorLockclearCredentialCommandParams ); - deviceEnergyManagementClusterInteractionInfoMap.put("powerAdjustRequest", deviceEnergyManagementpowerAdjustRequestInteractionInfo); + doorLockClusterInteractionInfoMap.put("clearCredential", doorLockclearCredentialInteractionInfo); - Map deviceEnergyManagementcancelPowerAdjustRequestCommandParams = new LinkedHashMap(); - InteractionInfo deviceEnergyManagementcancelPowerAdjustRequestInteractionInfo = new InteractionInfo( + Map doorLockunboltDoorCommandParams = new LinkedHashMap(); + + CommandParameterInfo doorLockunboltDoorPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); + doorLockunboltDoorCommandParams.put("PINCode",doorLockunboltDoorPINCodeCommandParameterInfo); + InteractionInfo doorLockunboltDoorInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .cancelPowerAdjustRequest((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .unboltDoor((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("PINCode"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementcancelPowerAdjustRequestCommandParams + doorLockunboltDoorCommandParams ); - deviceEnergyManagementClusterInteractionInfoMap.put("cancelPowerAdjustRequest", deviceEnergyManagementcancelPowerAdjustRequestInteractionInfo); - - Map deviceEnergyManagementstartTimeAdjustRequestCommandParams = new LinkedHashMap(); + doorLockClusterInteractionInfoMap.put("unboltDoor", doorLockunboltDoorInteractionInfo); - CommandParameterInfo deviceEnergyManagementstartTimeAdjustRequestrequestedStartTimeCommandParameterInfo = new CommandParameterInfo("requestedStartTime", Long.class, Long.class); - deviceEnergyManagementstartTimeAdjustRequestCommandParams.put("requestedStartTime",deviceEnergyManagementstartTimeAdjustRequestrequestedStartTimeCommandParameterInfo); + Map doorLocksetAliroReaderConfigCommandParams = new LinkedHashMap(); - CommandParameterInfo deviceEnergyManagementstartTimeAdjustRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); - deviceEnergyManagementstartTimeAdjustRequestCommandParams.put("cause",deviceEnergyManagementstartTimeAdjustRequestcauseCommandParameterInfo); - InteractionInfo deviceEnergyManagementstartTimeAdjustRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .startTimeAdjustRequest((DefaultClusterCallback) callback - , (Long) - commandArguments.get("requestedStartTime") - , (Integer) - commandArguments.get("cause") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementstartTimeAdjustRequestCommandParams - ); - deviceEnergyManagementClusterInteractionInfoMap.put("startTimeAdjustRequest", deviceEnergyManagementstartTimeAdjustRequestInteractionInfo); + CommandParameterInfo doorLocksetAliroReaderConfigsigningKeyCommandParameterInfo = new CommandParameterInfo("signingKey", byte[].class, byte[].class); + doorLocksetAliroReaderConfigCommandParams.put("signingKey",doorLocksetAliroReaderConfigsigningKeyCommandParameterInfo); - Map deviceEnergyManagementpauseRequestCommandParams = new LinkedHashMap(); + CommandParameterInfo doorLocksetAliroReaderConfigverificationKeyCommandParameterInfo = new CommandParameterInfo("verificationKey", byte[].class, byte[].class); + doorLocksetAliroReaderConfigCommandParams.put("verificationKey",doorLocksetAliroReaderConfigverificationKeyCommandParameterInfo); - CommandParameterInfo deviceEnergyManagementpauseRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class); - deviceEnergyManagementpauseRequestCommandParams.put("duration",deviceEnergyManagementpauseRequestdurationCommandParameterInfo); + CommandParameterInfo doorLocksetAliroReaderConfiggroupIdentifierCommandParameterInfo = new CommandParameterInfo("groupIdentifier", byte[].class, byte[].class); + doorLocksetAliroReaderConfigCommandParams.put("groupIdentifier",doorLocksetAliroReaderConfiggroupIdentifierCommandParameterInfo); - CommandParameterInfo deviceEnergyManagementpauseRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); - deviceEnergyManagementpauseRequestCommandParams.put("cause",deviceEnergyManagementpauseRequestcauseCommandParameterInfo); - InteractionInfo deviceEnergyManagementpauseRequestInteractionInfo = new InteractionInfo( + CommandParameterInfo doorLocksetAliroReaderConfiggroupResolvingKeyCommandParameterInfo = new CommandParameterInfo("groupResolvingKey", Optional.class, byte[].class); + doorLocksetAliroReaderConfigCommandParams.put("groupResolvingKey",doorLocksetAliroReaderConfiggroupResolvingKeyCommandParameterInfo); + InteractionInfo doorLocksetAliroReaderConfigInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .pauseRequest((DefaultClusterCallback) callback - , (Long) - commandArguments.get("duration") - , (Integer) - commandArguments.get("cause") + ((ChipClusters.DoorLockCluster) cluster) + .setAliroReaderConfig((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("signingKey") + , (byte[]) + commandArguments.get("verificationKey") + , (byte[]) + commandArguments.get("groupIdentifier") + , (Optional) + commandArguments.get("groupResolvingKey"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementpauseRequestCommandParams + doorLocksetAliroReaderConfigCommandParams ); - deviceEnergyManagementClusterInteractionInfoMap.put("pauseRequest", deviceEnergyManagementpauseRequestInteractionInfo); + doorLockClusterInteractionInfoMap.put("setAliroReaderConfig", doorLocksetAliroReaderConfigInteractionInfo); - Map deviceEnergyManagementresumeRequestCommandParams = new LinkedHashMap(); - InteractionInfo deviceEnergyManagementresumeRequestInteractionInfo = new InteractionInfo( + Map doorLockclearAliroReaderConfigCommandParams = new LinkedHashMap(); + InteractionInfo doorLockclearAliroReaderConfigInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .resumeRequest((DefaultClusterCallback) callback + ((ChipClusters.DoorLockCluster) cluster) + .clearAliroReaderConfig((DefaultClusterCallback) callback, 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementresumeRequestCommandParams + doorLockclearAliroReaderConfigCommandParams ); - deviceEnergyManagementClusterInteractionInfoMap.put("resumeRequest", deviceEnergyManagementresumeRequestInteractionInfo); - - Map deviceEnergyManagementmodifyForecastRequestCommandParams = new LinkedHashMap(); + doorLockClusterInteractionInfoMap.put("clearAliroReaderConfig", doorLockclearAliroReaderConfigInteractionInfo); - CommandParameterInfo deviceEnergyManagementmodifyForecastRequestforecastIDCommandParameterInfo = new CommandParameterInfo("forecastID", Long.class, Long.class); - deviceEnergyManagementmodifyForecastRequestCommandParams.put("forecastID",deviceEnergyManagementmodifyForecastRequestforecastIDCommandParameterInfo); + commandMap.put("doorLock", doorLockClusterInteractionInfoMap); + Map windowCoveringClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo deviceEnergyManagementmodifyForecastRequestcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); - deviceEnergyManagementmodifyForecastRequestCommandParams.put("cause",deviceEnergyManagementmodifyForecastRequestcauseCommandParameterInfo); - InteractionInfo deviceEnergyManagementmodifyForecastRequestInteractionInfo = new InteractionInfo( + Map windowCoveringupOrOpenCommandParams = new LinkedHashMap(); + InteractionInfo windowCoveringupOrOpenInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .modifyForecastRequest((DefaultClusterCallback) callback - , (Long) - commandArguments.get("forecastID") - , (ArrayList) - commandArguments.get("slotAdjustments") - , (Integer) - commandArguments.get("cause") + ((ChipClusters.WindowCoveringCluster) cluster) + .upOrOpen((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementmodifyForecastRequestCommandParams + windowCoveringupOrOpenCommandParams ); - deviceEnergyManagementClusterInteractionInfoMap.put("modifyForecastRequest", deviceEnergyManagementmodifyForecastRequestInteractionInfo); - - Map deviceEnergyManagementrequestConstraintBasedForecastCommandParams = new LinkedHashMap(); - + windowCoveringClusterInteractionInfoMap.put("upOrOpen", windowCoveringupOrOpenInteractionInfo); - CommandParameterInfo deviceEnergyManagementrequestConstraintBasedForecastcauseCommandParameterInfo = new CommandParameterInfo("cause", Integer.class, Integer.class); - deviceEnergyManagementrequestConstraintBasedForecastCommandParams.put("cause",deviceEnergyManagementrequestConstraintBasedForecastcauseCommandParameterInfo); - InteractionInfo deviceEnergyManagementrequestConstraintBasedForecastInteractionInfo = new InteractionInfo( + Map windowCoveringdownOrCloseCommandParams = new LinkedHashMap(); + InteractionInfo windowCoveringdownOrCloseInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .requestConstraintBasedForecast((DefaultClusterCallback) callback - , (ArrayList) - commandArguments.get("constraints") - , (Integer) - commandArguments.get("cause") + ((ChipClusters.WindowCoveringCluster) cluster) + .downOrClose((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementrequestConstraintBasedForecastCommandParams + windowCoveringdownOrCloseCommandParams ); - deviceEnergyManagementClusterInteractionInfoMap.put("requestConstraintBasedForecast", deviceEnergyManagementrequestConstraintBasedForecastInteractionInfo); + windowCoveringClusterInteractionInfoMap.put("downOrClose", windowCoveringdownOrCloseInteractionInfo); - Map deviceEnergyManagementcancelRequestCommandParams = new LinkedHashMap(); - InteractionInfo deviceEnergyManagementcancelRequestInteractionInfo = new InteractionInfo( + Map windowCoveringstopMotionCommandParams = new LinkedHashMap(); + InteractionInfo windowCoveringstopMotionInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementCluster) cluster) - .cancelRequest((DefaultClusterCallback) callback + ((ChipClusters.WindowCoveringCluster) cluster) + .stopMotion((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - deviceEnergyManagementcancelRequestCommandParams + windowCoveringstopMotionCommandParams ); - deviceEnergyManagementClusterInteractionInfoMap.put("cancelRequest", deviceEnergyManagementcancelRequestInteractionInfo); - - commandMap.put("deviceEnergyManagement", deviceEnergyManagementClusterInteractionInfoMap); + windowCoveringClusterInteractionInfoMap.put("stopMotion", windowCoveringstopMotionInteractionInfo); - Map energyEvseClusterInteractionInfoMap = new LinkedHashMap<>(); + Map windowCoveringgoToLiftValueCommandParams = new LinkedHashMap(); - Map energyEvsedisableCommandParams = new LinkedHashMap(); - InteractionInfo energyEvsedisableInteractionInfo = new InteractionInfo( + CommandParameterInfo windowCoveringgoToLiftValueliftValueCommandParameterInfo = new CommandParameterInfo("liftValue", Integer.class, Integer.class); + windowCoveringgoToLiftValueCommandParams.put("liftValue",windowCoveringgoToLiftValueliftValueCommandParameterInfo); + InteractionInfo windowCoveringgoToLiftValueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseCluster) cluster) - .disable((DefaultClusterCallback) callback, 10000 + ((ChipClusters.WindowCoveringCluster) cluster) + .goToLiftValue((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("liftValue") ); }, () -> new DelegatedDefaultClusterCallback(), - energyEvsedisableCommandParams + windowCoveringgoToLiftValueCommandParams ); - energyEvseClusterInteractionInfoMap.put("disable", energyEvsedisableInteractionInfo); - - Map energyEvseenableChargingCommandParams = new LinkedHashMap(); - - CommandParameterInfo energyEvseenableChargingchargingEnabledUntilCommandParameterInfo = new CommandParameterInfo("chargingEnabledUntil", Long.class, Long.class); - energyEvseenableChargingCommandParams.put("chargingEnabledUntil",energyEvseenableChargingchargingEnabledUntilCommandParameterInfo); + windowCoveringClusterInteractionInfoMap.put("goToLiftValue", windowCoveringgoToLiftValueInteractionInfo); - CommandParameterInfo energyEvseenableChargingminimumChargeCurrentCommandParameterInfo = new CommandParameterInfo("minimumChargeCurrent", Long.class, Long.class); - energyEvseenableChargingCommandParams.put("minimumChargeCurrent",energyEvseenableChargingminimumChargeCurrentCommandParameterInfo); + Map windowCoveringgoToLiftPercentageCommandParams = new LinkedHashMap(); - CommandParameterInfo energyEvseenableChargingmaximumChargeCurrentCommandParameterInfo = new CommandParameterInfo("maximumChargeCurrent", Long.class, Long.class); - energyEvseenableChargingCommandParams.put("maximumChargeCurrent",energyEvseenableChargingmaximumChargeCurrentCommandParameterInfo); - InteractionInfo energyEvseenableChargingInteractionInfo = new InteractionInfo( + CommandParameterInfo windowCoveringgoToLiftPercentageliftPercent100thsValueCommandParameterInfo = new CommandParameterInfo("liftPercent100thsValue", Integer.class, Integer.class); + windowCoveringgoToLiftPercentageCommandParams.put("liftPercent100thsValue",windowCoveringgoToLiftPercentageliftPercent100thsValueCommandParameterInfo); + InteractionInfo windowCoveringgoToLiftPercentageInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseCluster) cluster) - .enableCharging((DefaultClusterCallback) callback - , (Long) - commandArguments.get("chargingEnabledUntil") - , (Long) - commandArguments.get("minimumChargeCurrent") - , (Long) - commandArguments.get("maximumChargeCurrent"), 10000 + ((ChipClusters.WindowCoveringCluster) cluster) + .goToLiftPercentage((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("liftPercent100thsValue") ); }, () -> new DelegatedDefaultClusterCallback(), - energyEvseenableChargingCommandParams + windowCoveringgoToLiftPercentageCommandParams ); - energyEvseClusterInteractionInfoMap.put("enableCharging", energyEvseenableChargingInteractionInfo); - - Map energyEvseenableDischargingCommandParams = new LinkedHashMap(); + windowCoveringClusterInteractionInfoMap.put("goToLiftPercentage", windowCoveringgoToLiftPercentageInteractionInfo); - CommandParameterInfo energyEvseenableDischargingdischargingEnabledUntilCommandParameterInfo = new CommandParameterInfo("dischargingEnabledUntil", Long.class, Long.class); - energyEvseenableDischargingCommandParams.put("dischargingEnabledUntil",energyEvseenableDischargingdischargingEnabledUntilCommandParameterInfo); + Map windowCoveringgoToTiltValueCommandParams = new LinkedHashMap(); - CommandParameterInfo energyEvseenableDischargingmaximumDischargeCurrentCommandParameterInfo = new CommandParameterInfo("maximumDischargeCurrent", Long.class, Long.class); - energyEvseenableDischargingCommandParams.put("maximumDischargeCurrent",energyEvseenableDischargingmaximumDischargeCurrentCommandParameterInfo); - InteractionInfo energyEvseenableDischargingInteractionInfo = new InteractionInfo( + CommandParameterInfo windowCoveringgoToTiltValuetiltValueCommandParameterInfo = new CommandParameterInfo("tiltValue", Integer.class, Integer.class); + windowCoveringgoToTiltValueCommandParams.put("tiltValue",windowCoveringgoToTiltValuetiltValueCommandParameterInfo); + InteractionInfo windowCoveringgoToTiltValueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseCluster) cluster) - .enableDischarging((DefaultClusterCallback) callback - , (Long) - commandArguments.get("dischargingEnabledUntil") - , (Long) - commandArguments.get("maximumDischargeCurrent"), 10000 + ((ChipClusters.WindowCoveringCluster) cluster) + .goToTiltValue((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("tiltValue") ); }, () -> new DelegatedDefaultClusterCallback(), - energyEvseenableDischargingCommandParams + windowCoveringgoToTiltValueCommandParams ); - energyEvseClusterInteractionInfoMap.put("enableDischarging", energyEvseenableDischargingInteractionInfo); + windowCoveringClusterInteractionInfoMap.put("goToTiltValue", windowCoveringgoToTiltValueInteractionInfo); - Map energyEvsestartDiagnosticsCommandParams = new LinkedHashMap(); - InteractionInfo energyEvsestartDiagnosticsInteractionInfo = new InteractionInfo( + Map windowCoveringgoToTiltPercentageCommandParams = new LinkedHashMap(); + + CommandParameterInfo windowCoveringgoToTiltPercentagetiltPercent100thsValueCommandParameterInfo = new CommandParameterInfo("tiltPercent100thsValue", Integer.class, Integer.class); + windowCoveringgoToTiltPercentageCommandParams.put("tiltPercent100thsValue",windowCoveringgoToTiltPercentagetiltPercent100thsValueCommandParameterInfo); + InteractionInfo windowCoveringgoToTiltPercentageInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseCluster) cluster) - .startDiagnostics((DefaultClusterCallback) callback, 10000 + ((ChipClusters.WindowCoveringCluster) cluster) + .goToTiltPercentage((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("tiltPercent100thsValue") ); }, () -> new DelegatedDefaultClusterCallback(), - energyEvsestartDiagnosticsCommandParams + windowCoveringgoToTiltPercentageCommandParams ); - energyEvseClusterInteractionInfoMap.put("startDiagnostics", energyEvsestartDiagnosticsInteractionInfo); + windowCoveringClusterInteractionInfoMap.put("goToTiltPercentage", windowCoveringgoToTiltPercentageInteractionInfo); - Map energyEvsesetTargetsCommandParams = new LinkedHashMap(); + commandMap.put("windowCovering", windowCoveringClusterInteractionInfoMap); - InteractionInfo energyEvsesetTargetsInteractionInfo = new InteractionInfo( + Map barrierControlClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map barrierControlbarrierControlGoToPercentCommandParams = new LinkedHashMap(); + + CommandParameterInfo barrierControlbarrierControlGoToPercentpercentOpenCommandParameterInfo = new CommandParameterInfo("percentOpen", Integer.class, Integer.class); + barrierControlbarrierControlGoToPercentCommandParams.put("percentOpen",barrierControlbarrierControlGoToPercentpercentOpenCommandParameterInfo); + InteractionInfo barrierControlbarrierControlGoToPercentInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseCluster) cluster) - .setTargets((DefaultClusterCallback) callback - , (ArrayList) - commandArguments.get("chargingTargetSchedules"), 10000 + ((ChipClusters.BarrierControlCluster) cluster) + .barrierControlGoToPercent((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("percentOpen") ); }, () -> new DelegatedDefaultClusterCallback(), - energyEvsesetTargetsCommandParams + barrierControlbarrierControlGoToPercentCommandParams ); - energyEvseClusterInteractionInfoMap.put("setTargets", energyEvsesetTargetsInteractionInfo); - - Map energyEvsegetTargetsCommandParams = new LinkedHashMap(); - InteractionInfo energyEvsegetTargetsInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseCluster) cluster) - .getTargets((ChipClusters.EnergyEvseCluster.GetTargetsResponseCallback) callback - , 10000); - }, - () -> new DelegatedEnergyEvseClusterGetTargetsResponseCallback(), - energyEvsegetTargetsCommandParams - ); - energyEvseClusterInteractionInfoMap.put("getTargets", energyEvsegetTargetsInteractionInfo); + barrierControlClusterInteractionInfoMap.put("barrierControlGoToPercent", barrierControlbarrierControlGoToPercentInteractionInfo); - Map energyEvseclearTargetsCommandParams = new LinkedHashMap(); - InteractionInfo energyEvseclearTargetsInteractionInfo = new InteractionInfo( + Map barrierControlbarrierControlStopCommandParams = new LinkedHashMap(); + InteractionInfo barrierControlbarrierControlStopInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseCluster) cluster) - .clearTargets((DefaultClusterCallback) callback, 10000 + ((ChipClusters.BarrierControlCluster) cluster) + .barrierControlStop((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - energyEvseclearTargetsCommandParams + barrierControlbarrierControlStopCommandParams ); - energyEvseClusterInteractionInfoMap.put("clearTargets", energyEvseclearTargetsInteractionInfo); - - commandMap.put("energyEvse", energyEvseClusterInteractionInfoMap); - - Map energyPreferenceClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("energyPreference", energyPreferenceClusterInteractionInfoMap); - - Map powerTopologyClusterInteractionInfoMap = new LinkedHashMap<>(); + barrierControlClusterInteractionInfoMap.put("barrierControlStop", barrierControlbarrierControlStopInteractionInfo); - commandMap.put("powerTopology", powerTopologyClusterInteractionInfoMap); + commandMap.put("barrierControl", barrierControlClusterInteractionInfoMap); - Map energyEvseModeClusterInteractionInfoMap = new LinkedHashMap<>(); + Map serviceAreaClusterInteractionInfoMap = new LinkedHashMap<>(); - Map energyEvseModechangeToModeCommandParams = new LinkedHashMap(); + Map serviceAreaselectAreasCommandParams = new LinkedHashMap(); - CommandParameterInfo energyEvseModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - energyEvseModechangeToModeCommandParams.put("newMode",energyEvseModechangeToModenewModeCommandParameterInfo); - InteractionInfo energyEvseModechangeToModeInteractionInfo = new InteractionInfo( + CommandParameterInfo serviceAreaselectAreasnewAreasCommandParameterInfo = new CommandParameterInfo("newAreas", ArrayList.class, ArrayList.class); + serviceAreaselectAreasCommandParams.put("newAreas",serviceAreaselectAreasnewAreasCommandParameterInfo); + InteractionInfo serviceAreaselectAreasInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.EnergyEvseModeCluster) cluster) - .changeToMode((ChipClusters.EnergyEvseModeCluster.ChangeToModeResponseCallback) callback - , (Integer) - commandArguments.get("newMode") + ((ChipClusters.ServiceAreaCluster) cluster) + .selectAreas((ChipClusters.ServiceAreaCluster.SelectAreasResponseCallback) callback + , (ArrayList) + commandArguments.get("newAreas") ); }, - () -> new DelegatedEnergyEvseModeClusterChangeToModeResponseCallback(), - energyEvseModechangeToModeCommandParams + () -> new DelegatedServiceAreaClusterSelectAreasResponseCallback(), + serviceAreaselectAreasCommandParams ); - energyEvseModeClusterInteractionInfoMap.put("changeToMode", energyEvseModechangeToModeInteractionInfo); - - commandMap.put("energyEvseMode", energyEvseModeClusterInteractionInfoMap); - - Map waterHeaterModeClusterInteractionInfoMap = new LinkedHashMap<>(); + serviceAreaClusterInteractionInfoMap.put("selectAreas", serviceAreaselectAreasInteractionInfo); - Map waterHeaterModechangeToModeCommandParams = new LinkedHashMap(); + Map serviceAreaskipAreaCommandParams = new LinkedHashMap(); - CommandParameterInfo waterHeaterModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - waterHeaterModechangeToModeCommandParams.put("newMode",waterHeaterModechangeToModenewModeCommandParameterInfo); - InteractionInfo waterHeaterModechangeToModeInteractionInfo = new InteractionInfo( + CommandParameterInfo serviceAreaskipAreaskippedAreaCommandParameterInfo = new CommandParameterInfo("skippedArea", Long.class, Long.class); + serviceAreaskipAreaCommandParams.put("skippedArea",serviceAreaskipAreaskippedAreaCommandParameterInfo); + InteractionInfo serviceAreaskipAreaInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WaterHeaterModeCluster) cluster) - .changeToMode((ChipClusters.WaterHeaterModeCluster.ChangeToModeResponseCallback) callback - , (Integer) - commandArguments.get("newMode") + ((ChipClusters.ServiceAreaCluster) cluster) + .skipArea((ChipClusters.ServiceAreaCluster.SkipAreaResponseCallback) callback + , (Long) + commandArguments.get("skippedArea") ); }, - () -> new DelegatedWaterHeaterModeClusterChangeToModeResponseCallback(), - waterHeaterModechangeToModeCommandParams + () -> new DelegatedServiceAreaClusterSkipAreaResponseCallback(), + serviceAreaskipAreaCommandParams ); - waterHeaterModeClusterInteractionInfoMap.put("changeToMode", waterHeaterModechangeToModeInteractionInfo); - - commandMap.put("waterHeaterMode", waterHeaterModeClusterInteractionInfoMap); - - Map deviceEnergyManagementModeClusterInteractionInfoMap = new LinkedHashMap<>(); + serviceAreaClusterInteractionInfoMap.put("skipArea", serviceAreaskipAreaInteractionInfo); - Map deviceEnergyManagementModechangeToModeCommandParams = new LinkedHashMap(); + commandMap.put("serviceArea", serviceAreaClusterInteractionInfoMap); - CommandParameterInfo deviceEnergyManagementModechangeToModenewModeCommandParameterInfo = new CommandParameterInfo("newMode", Integer.class, Integer.class); - deviceEnergyManagementModechangeToModeCommandParams.put("newMode",deviceEnergyManagementModechangeToModenewModeCommandParameterInfo); - InteractionInfo deviceEnergyManagementModechangeToModeInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DeviceEnergyManagementModeCluster) cluster) - .changeToMode((ChipClusters.DeviceEnergyManagementModeCluster.ChangeToModeResponseCallback) callback - , (Integer) - commandArguments.get("newMode") + Map pumpConfigurationAndControlClusterInteractionInfoMap = new LinkedHashMap<>(); - ); - }, - () -> new DelegatedDeviceEnergyManagementModeClusterChangeToModeResponseCallback(), - deviceEnergyManagementModechangeToModeCommandParams - ); - deviceEnergyManagementModeClusterInteractionInfoMap.put("changeToMode", deviceEnergyManagementModechangeToModeInteractionInfo); + commandMap.put("pumpConfigurationAndControl", pumpConfigurationAndControlClusterInteractionInfoMap); - commandMap.put("deviceEnergyManagementMode", deviceEnergyManagementModeClusterInteractionInfoMap); + Map thermostatClusterInteractionInfoMap = new LinkedHashMap<>(); - Map doorLockClusterInteractionInfoMap = new LinkedHashMap<>(); + Map thermostatsetpointRaiseLowerCommandParams = new LinkedHashMap(); - Map doorLocklockDoorCommandParams = new LinkedHashMap(); + CommandParameterInfo thermostatsetpointRaiseLowermodeCommandParameterInfo = new CommandParameterInfo("mode", Integer.class, Integer.class); + thermostatsetpointRaiseLowerCommandParams.put("mode",thermostatsetpointRaiseLowermodeCommandParameterInfo); - CommandParameterInfo doorLocklockDoorPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); - doorLocklockDoorCommandParams.put("PINCode",doorLocklockDoorPINCodeCommandParameterInfo); - InteractionInfo doorLocklockDoorInteractionInfo = new InteractionInfo( + CommandParameterInfo thermostatsetpointRaiseLoweramountCommandParameterInfo = new CommandParameterInfo("amount", Integer.class, Integer.class); + thermostatsetpointRaiseLowerCommandParams.put("amount",thermostatsetpointRaiseLoweramountCommandParameterInfo); + InteractionInfo thermostatsetpointRaiseLowerInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .lockDoor((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("PINCode"), 10000 + ((ChipClusters.ThermostatCluster) cluster) + .setpointRaiseLower((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("mode") + , (Integer) + commandArguments.get("amount") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLocklockDoorCommandParams + thermostatsetpointRaiseLowerCommandParams ); - doorLockClusterInteractionInfoMap.put("lockDoor", doorLocklockDoorInteractionInfo); + thermostatClusterInteractionInfoMap.put("setpointRaiseLower", thermostatsetpointRaiseLowerInteractionInfo); - Map doorLockunlockDoorCommandParams = new LinkedHashMap(); + Map thermostatsetWeeklyScheduleCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLockunlockDoorPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); - doorLockunlockDoorCommandParams.put("PINCode",doorLockunlockDoorPINCodeCommandParameterInfo); - InteractionInfo doorLockunlockDoorInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .unlockDoor((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("PINCode"), 10000 - ); - }, - () -> new DelegatedDefaultClusterCallback(), - doorLockunlockDoorCommandParams - ); - doorLockClusterInteractionInfoMap.put("unlockDoor", doorLockunlockDoorInteractionInfo); + CommandParameterInfo thermostatsetWeeklySchedulenumberOfTransitionsForSequenceCommandParameterInfo = new CommandParameterInfo("numberOfTransitionsForSequence", Integer.class, Integer.class); + thermostatsetWeeklyScheduleCommandParams.put("numberOfTransitionsForSequence",thermostatsetWeeklySchedulenumberOfTransitionsForSequenceCommandParameterInfo); - Map doorLockunlockWithTimeoutCommandParams = new LinkedHashMap(); + CommandParameterInfo thermostatsetWeeklyScheduledayOfWeekForSequenceCommandParameterInfo = new CommandParameterInfo("dayOfWeekForSequence", Integer.class, Integer.class); + thermostatsetWeeklyScheduleCommandParams.put("dayOfWeekForSequence",thermostatsetWeeklyScheduledayOfWeekForSequenceCommandParameterInfo); - CommandParameterInfo doorLockunlockWithTimeouttimeoutCommandParameterInfo = new CommandParameterInfo("timeout", Integer.class, Integer.class); - doorLockunlockWithTimeoutCommandParams.put("timeout",doorLockunlockWithTimeouttimeoutCommandParameterInfo); + CommandParameterInfo thermostatsetWeeklySchedulemodeForSequenceCommandParameterInfo = new CommandParameterInfo("modeForSequence", Integer.class, Integer.class); + thermostatsetWeeklyScheduleCommandParams.put("modeForSequence",thermostatsetWeeklySchedulemodeForSequenceCommandParameterInfo); - CommandParameterInfo doorLockunlockWithTimeoutPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); - doorLockunlockWithTimeoutCommandParams.put("PINCode",doorLockunlockWithTimeoutPINCodeCommandParameterInfo); - InteractionInfo doorLockunlockWithTimeoutInteractionInfo = new InteractionInfo( + InteractionInfo thermostatsetWeeklyScheduleInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .unlockWithTimeout((DefaultClusterCallback) callback + ((ChipClusters.ThermostatCluster) cluster) + .setWeeklySchedule((DefaultClusterCallback) callback , (Integer) - commandArguments.get("timeout") - , (Optional) - commandArguments.get("PINCode"), 10000 + commandArguments.get("numberOfTransitionsForSequence") + , (Integer) + commandArguments.get("dayOfWeekForSequence") + , (Integer) + commandArguments.get("modeForSequence") + , (ArrayList) + commandArguments.get("transitions") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockunlockWithTimeoutCommandParams + thermostatsetWeeklyScheduleCommandParams ); - doorLockClusterInteractionInfoMap.put("unlockWithTimeout", doorLockunlockWithTimeoutInteractionInfo); + thermostatClusterInteractionInfoMap.put("setWeeklySchedule", thermostatsetWeeklyScheduleInteractionInfo); - Map doorLocksetWeekDayScheduleCommandParams = new LinkedHashMap(); + Map thermostatgetWeeklyScheduleCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLocksetWeekDayScheduleweekDayIndexCommandParameterInfo = new CommandParameterInfo("weekDayIndex", Integer.class, Integer.class); - doorLocksetWeekDayScheduleCommandParams.put("weekDayIndex",doorLocksetWeekDayScheduleweekDayIndexCommandParameterInfo); + CommandParameterInfo thermostatgetWeeklyScheduledaysToReturnCommandParameterInfo = new CommandParameterInfo("daysToReturn", Integer.class, Integer.class); + thermostatgetWeeklyScheduleCommandParams.put("daysToReturn",thermostatgetWeeklyScheduledaysToReturnCommandParameterInfo); - CommandParameterInfo doorLocksetWeekDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLocksetWeekDayScheduleCommandParams.put("userIndex",doorLocksetWeekDayScheduleuserIndexCommandParameterInfo); + CommandParameterInfo thermostatgetWeeklySchedulemodeToReturnCommandParameterInfo = new CommandParameterInfo("modeToReturn", Integer.class, Integer.class); + thermostatgetWeeklyScheduleCommandParams.put("modeToReturn",thermostatgetWeeklySchedulemodeToReturnCommandParameterInfo); + InteractionInfo thermostatgetWeeklyScheduleInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ThermostatCluster) cluster) + .getWeeklySchedule((ChipClusters.ThermostatCluster.GetWeeklyScheduleResponseCallback) callback + , (Integer) + commandArguments.get("daysToReturn") - CommandParameterInfo doorLocksetWeekDayScheduledaysMaskCommandParameterInfo = new CommandParameterInfo("daysMask", Integer.class, Integer.class); - doorLocksetWeekDayScheduleCommandParams.put("daysMask",doorLocksetWeekDayScheduledaysMaskCommandParameterInfo); + , (Integer) + commandArguments.get("modeToReturn") - CommandParameterInfo doorLocksetWeekDaySchedulestartHourCommandParameterInfo = new CommandParameterInfo("startHour", Integer.class, Integer.class); - doorLocksetWeekDayScheduleCommandParams.put("startHour",doorLocksetWeekDaySchedulestartHourCommandParameterInfo); + ); + }, + () -> new DelegatedThermostatClusterGetWeeklyScheduleResponseCallback(), + thermostatgetWeeklyScheduleCommandParams + ); + thermostatClusterInteractionInfoMap.put("getWeeklySchedule", thermostatgetWeeklyScheduleInteractionInfo); - CommandParameterInfo doorLocksetWeekDaySchedulestartMinuteCommandParameterInfo = new CommandParameterInfo("startMinute", Integer.class, Integer.class); - doorLocksetWeekDayScheduleCommandParams.put("startMinute",doorLocksetWeekDaySchedulestartMinuteCommandParameterInfo); + Map thermostatclearWeeklyScheduleCommandParams = new LinkedHashMap(); + InteractionInfo thermostatclearWeeklyScheduleInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ThermostatCluster) cluster) + .clearWeeklySchedule((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + thermostatclearWeeklyScheduleCommandParams + ); + thermostatClusterInteractionInfoMap.put("clearWeeklySchedule", thermostatclearWeeklyScheduleInteractionInfo); - CommandParameterInfo doorLocksetWeekDayScheduleendHourCommandParameterInfo = new CommandParameterInfo("endHour", Integer.class, Integer.class); - doorLocksetWeekDayScheduleCommandParams.put("endHour",doorLocksetWeekDayScheduleendHourCommandParameterInfo); + Map thermostatsetActiveScheduleRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLocksetWeekDayScheduleendMinuteCommandParameterInfo = new CommandParameterInfo("endMinute", Integer.class, Integer.class); - doorLocksetWeekDayScheduleCommandParams.put("endMinute",doorLocksetWeekDayScheduleendMinuteCommandParameterInfo); - InteractionInfo doorLocksetWeekDayScheduleInteractionInfo = new InteractionInfo( + CommandParameterInfo thermostatsetActiveScheduleRequestscheduleHandleCommandParameterInfo = new CommandParameterInfo("scheduleHandle", byte[].class, byte[].class); + thermostatsetActiveScheduleRequestCommandParams.put("scheduleHandle",thermostatsetActiveScheduleRequestscheduleHandleCommandParameterInfo); + InteractionInfo thermostatsetActiveScheduleRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .setWeekDaySchedule((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("weekDayIndex") - , (Integer) - commandArguments.get("userIndex") - , (Integer) - commandArguments.get("daysMask") - , (Integer) - commandArguments.get("startHour") - , (Integer) - commandArguments.get("startMinute") - , (Integer) - commandArguments.get("endHour") - , (Integer) - commandArguments.get("endMinute") + ((ChipClusters.ThermostatCluster) cluster) + .setActiveScheduleRequest((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("scheduleHandle") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLocksetWeekDayScheduleCommandParams + thermostatsetActiveScheduleRequestCommandParams ); - doorLockClusterInteractionInfoMap.put("setWeekDaySchedule", doorLocksetWeekDayScheduleInteractionInfo); + thermostatClusterInteractionInfoMap.put("setActiveScheduleRequest", thermostatsetActiveScheduleRequestInteractionInfo); - Map doorLockgetWeekDayScheduleCommandParams = new LinkedHashMap(); + Map thermostatsetActivePresetRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLockgetWeekDayScheduleweekDayIndexCommandParameterInfo = new CommandParameterInfo("weekDayIndex", Integer.class, Integer.class); - doorLockgetWeekDayScheduleCommandParams.put("weekDayIndex",doorLockgetWeekDayScheduleweekDayIndexCommandParameterInfo); + CommandParameterInfo thermostatsetActivePresetRequestpresetHandleCommandParameterInfo = new CommandParameterInfo("presetHandle", byte[].class, byte[].class); + thermostatsetActivePresetRequestCommandParams.put("presetHandle",thermostatsetActivePresetRequestpresetHandleCommandParameterInfo); + InteractionInfo thermostatsetActivePresetRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ThermostatCluster) cluster) + .setActivePresetRequest((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("presetHandle") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + thermostatsetActivePresetRequestCommandParams + ); + thermostatClusterInteractionInfoMap.put("setActivePresetRequest", thermostatsetActivePresetRequestInteractionInfo); - CommandParameterInfo doorLockgetWeekDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLockgetWeekDayScheduleCommandParams.put("userIndex",doorLockgetWeekDayScheduleuserIndexCommandParameterInfo); - InteractionInfo doorLockgetWeekDayScheduleInteractionInfo = new InteractionInfo( + Map thermostatatomicRequestCommandParams = new LinkedHashMap(); + + CommandParameterInfo thermostatatomicRequestrequestTypeCommandParameterInfo = new CommandParameterInfo("requestType", Integer.class, Integer.class); + thermostatatomicRequestCommandParams.put("requestType",thermostatatomicRequestrequestTypeCommandParameterInfo); + + CommandParameterInfo thermostatatomicRequestattributeRequestsCommandParameterInfo = new CommandParameterInfo("attributeRequests", ArrayList.class, ArrayList.class); + thermostatatomicRequestCommandParams.put("attributeRequests",thermostatatomicRequestattributeRequestsCommandParameterInfo); + + CommandParameterInfo thermostatatomicRequesttimeoutCommandParameterInfo = new CommandParameterInfo("timeout", Optional.class, Integer.class); + thermostatatomicRequestCommandParams.put("timeout",thermostatatomicRequesttimeoutCommandParameterInfo); + InteractionInfo thermostatatomicRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .getWeekDaySchedule((ChipClusters.DoorLockCluster.GetWeekDayScheduleResponseCallback) callback + ((ChipClusters.ThermostatCluster) cluster) + .atomicRequest((ChipClusters.ThermostatCluster.AtomicResponseCallback) callback , (Integer) - commandArguments.get("weekDayIndex") + commandArguments.get("requestType") - , (Integer) - commandArguments.get("userIndex") + , (ArrayList) + commandArguments.get("attributeRequests") + + , (Optional) + commandArguments.get("timeout") ); }, - () -> new DelegatedDoorLockClusterGetWeekDayScheduleResponseCallback(), - doorLockgetWeekDayScheduleCommandParams + () -> new DelegatedThermostatClusterAtomicResponseCallback(), + thermostatatomicRequestCommandParams ); - doorLockClusterInteractionInfoMap.put("getWeekDaySchedule", doorLockgetWeekDayScheduleInteractionInfo); + thermostatClusterInteractionInfoMap.put("atomicRequest", thermostatatomicRequestInteractionInfo); - Map doorLockclearWeekDayScheduleCommandParams = new LinkedHashMap(); + commandMap.put("thermostat", thermostatClusterInteractionInfoMap); - CommandParameterInfo doorLockclearWeekDayScheduleweekDayIndexCommandParameterInfo = new CommandParameterInfo("weekDayIndex", Integer.class, Integer.class); - doorLockclearWeekDayScheduleCommandParams.put("weekDayIndex",doorLockclearWeekDayScheduleweekDayIndexCommandParameterInfo); + Map fanControlClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo doorLockclearWeekDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLockclearWeekDayScheduleCommandParams.put("userIndex",doorLockclearWeekDayScheduleuserIndexCommandParameterInfo); - InteractionInfo doorLockclearWeekDayScheduleInteractionInfo = new InteractionInfo( + Map fanControlstepCommandParams = new LinkedHashMap(); + + CommandParameterInfo fanControlstepdirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); + fanControlstepCommandParams.put("direction",fanControlstepdirectionCommandParameterInfo); + + CommandParameterInfo fanControlstepwrapCommandParameterInfo = new CommandParameterInfo("wrap", Optional.class, Boolean.class); + fanControlstepCommandParams.put("wrap",fanControlstepwrapCommandParameterInfo); + + CommandParameterInfo fanControlsteplowestOffCommandParameterInfo = new CommandParameterInfo("lowestOff", Optional.class, Boolean.class); + fanControlstepCommandParams.put("lowestOff",fanControlsteplowestOffCommandParameterInfo); + InteractionInfo fanControlstepInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .clearWeekDaySchedule((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("weekDayIndex") + ((ChipClusters.FanControlCluster) cluster) + .step((DefaultClusterCallback) callback , (Integer) - commandArguments.get("userIndex") + commandArguments.get("direction") + , (Optional) + commandArguments.get("wrap") + , (Optional) + commandArguments.get("lowestOff") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockclearWeekDayScheduleCommandParams + fanControlstepCommandParams ); - doorLockClusterInteractionInfoMap.put("clearWeekDaySchedule", doorLockclearWeekDayScheduleInteractionInfo); + fanControlClusterInteractionInfoMap.put("step", fanControlstepInteractionInfo); - Map doorLocksetYearDayScheduleCommandParams = new LinkedHashMap(); + commandMap.put("fanControl", fanControlClusterInteractionInfoMap); - CommandParameterInfo doorLocksetYearDayScheduleyearDayIndexCommandParameterInfo = new CommandParameterInfo("yearDayIndex", Integer.class, Integer.class); - doorLocksetYearDayScheduleCommandParams.put("yearDayIndex",doorLocksetYearDayScheduleyearDayIndexCommandParameterInfo); + Map thermostatUserInterfaceConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo doorLocksetYearDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLocksetYearDayScheduleCommandParams.put("userIndex",doorLocksetYearDayScheduleuserIndexCommandParameterInfo); + commandMap.put("thermostatUserInterfaceConfiguration", thermostatUserInterfaceConfigurationClusterInteractionInfoMap); + + Map colorControlClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map colorControlmoveToHueCommandParams = new LinkedHashMap(); + + CommandParameterInfo colorControlmoveToHuehueCommandParameterInfo = new CommandParameterInfo("hue", Integer.class, Integer.class); + colorControlmoveToHueCommandParams.put("hue",colorControlmoveToHuehueCommandParameterInfo); + + CommandParameterInfo colorControlmoveToHuedirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); + colorControlmoveToHueCommandParams.put("direction",colorControlmoveToHuedirectionCommandParameterInfo); + + CommandParameterInfo colorControlmoveToHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlmoveToHueCommandParams.put("transitionTime",colorControlmoveToHuetransitionTimeCommandParameterInfo); - CommandParameterInfo doorLocksetYearDaySchedulelocalStartTimeCommandParameterInfo = new CommandParameterInfo("localStartTime", Long.class, Long.class); - doorLocksetYearDayScheduleCommandParams.put("localStartTime",doorLocksetYearDaySchedulelocalStartTimeCommandParameterInfo); + CommandParameterInfo colorControlmoveToHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveToHueCommandParams.put("optionsMask",colorControlmoveToHueoptionsMaskCommandParameterInfo); - CommandParameterInfo doorLocksetYearDaySchedulelocalEndTimeCommandParameterInfo = new CommandParameterInfo("localEndTime", Long.class, Long.class); - doorLocksetYearDayScheduleCommandParams.put("localEndTime",doorLocksetYearDaySchedulelocalEndTimeCommandParameterInfo); - InteractionInfo doorLocksetYearDayScheduleInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveToHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveToHueCommandParams.put("optionsOverride",colorControlmoveToHueoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveToHueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .setYearDaySchedule((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .moveToHue((DefaultClusterCallback) callback , (Integer) - commandArguments.get("yearDayIndex") + commandArguments.get("hue") , (Integer) - commandArguments.get("userIndex") - , (Long) - commandArguments.get("localStartTime") - , (Long) - commandArguments.get("localEndTime") + commandArguments.get("direction") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLocksetYearDayScheduleCommandParams + colorControlmoveToHueCommandParams ); - doorLockClusterInteractionInfoMap.put("setYearDaySchedule", doorLocksetYearDayScheduleInteractionInfo); - - Map doorLockgetYearDayScheduleCommandParams = new LinkedHashMap(); - - CommandParameterInfo doorLockgetYearDayScheduleyearDayIndexCommandParameterInfo = new CommandParameterInfo("yearDayIndex", Integer.class, Integer.class); - doorLockgetYearDayScheduleCommandParams.put("yearDayIndex",doorLockgetYearDayScheduleyearDayIndexCommandParameterInfo); - - CommandParameterInfo doorLockgetYearDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLockgetYearDayScheduleCommandParams.put("userIndex",doorLockgetYearDayScheduleuserIndexCommandParameterInfo); - InteractionInfo doorLockgetYearDayScheduleInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .getYearDaySchedule((ChipClusters.DoorLockCluster.GetYearDayScheduleResponseCallback) callback - , (Integer) - commandArguments.get("yearDayIndex") + colorControlClusterInteractionInfoMap.put("moveToHue", colorControlmoveToHueInteractionInfo); - , (Integer) - commandArguments.get("userIndex") + Map colorControlmoveHueCommandParams = new LinkedHashMap(); - ); - }, - () -> new DelegatedDoorLockClusterGetYearDayScheduleResponseCallback(), - doorLockgetYearDayScheduleCommandParams - ); - doorLockClusterInteractionInfoMap.put("getYearDaySchedule", doorLockgetYearDayScheduleInteractionInfo); + CommandParameterInfo colorControlmoveHuemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); + colorControlmoveHueCommandParams.put("moveMode",colorControlmoveHuemoveModeCommandParameterInfo); - Map doorLockclearYearDayScheduleCommandParams = new LinkedHashMap(); + CommandParameterInfo colorControlmoveHuerateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); + colorControlmoveHueCommandParams.put("rate",colorControlmoveHuerateCommandParameterInfo); - CommandParameterInfo doorLockclearYearDayScheduleyearDayIndexCommandParameterInfo = new CommandParameterInfo("yearDayIndex", Integer.class, Integer.class); - doorLockclearYearDayScheduleCommandParams.put("yearDayIndex",doorLockclearYearDayScheduleyearDayIndexCommandParameterInfo); + CommandParameterInfo colorControlmoveHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveHueCommandParams.put("optionsMask",colorControlmoveHueoptionsMaskCommandParameterInfo); - CommandParameterInfo doorLockclearYearDayScheduleuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLockclearYearDayScheduleCommandParams.put("userIndex",doorLockclearYearDayScheduleuserIndexCommandParameterInfo); - InteractionInfo doorLockclearYearDayScheduleInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveHueCommandParams.put("optionsOverride",colorControlmoveHueoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveHueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .clearYearDaySchedule((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .moveHue((DefaultClusterCallback) callback , (Integer) - commandArguments.get("yearDayIndex") + commandArguments.get("moveMode") , (Integer) - commandArguments.get("userIndex") + commandArguments.get("rate") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockclearYearDayScheduleCommandParams + colorControlmoveHueCommandParams ); - doorLockClusterInteractionInfoMap.put("clearYearDaySchedule", doorLockclearYearDayScheduleInteractionInfo); + colorControlClusterInteractionInfoMap.put("moveHue", colorControlmoveHueInteractionInfo); - Map doorLocksetHolidayScheduleCommandParams = new LinkedHashMap(); + Map colorControlstepHueCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLocksetHolidayScheduleholidayIndexCommandParameterInfo = new CommandParameterInfo("holidayIndex", Integer.class, Integer.class); - doorLocksetHolidayScheduleCommandParams.put("holidayIndex",doorLocksetHolidayScheduleholidayIndexCommandParameterInfo); + CommandParameterInfo colorControlstepHuestepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); + colorControlstepHueCommandParams.put("stepMode",colorControlstepHuestepModeCommandParameterInfo); - CommandParameterInfo doorLocksetHolidaySchedulelocalStartTimeCommandParameterInfo = new CommandParameterInfo("localStartTime", Long.class, Long.class); - doorLocksetHolidayScheduleCommandParams.put("localStartTime",doorLocksetHolidaySchedulelocalStartTimeCommandParameterInfo); + CommandParameterInfo colorControlstepHuestepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); + colorControlstepHueCommandParams.put("stepSize",colorControlstepHuestepSizeCommandParameterInfo); - CommandParameterInfo doorLocksetHolidaySchedulelocalEndTimeCommandParameterInfo = new CommandParameterInfo("localEndTime", Long.class, Long.class); - doorLocksetHolidayScheduleCommandParams.put("localEndTime",doorLocksetHolidaySchedulelocalEndTimeCommandParameterInfo); + CommandParameterInfo colorControlstepHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlstepHueCommandParams.put("transitionTime",colorControlstepHuetransitionTimeCommandParameterInfo); - CommandParameterInfo doorLocksetHolidayScheduleoperatingModeCommandParameterInfo = new CommandParameterInfo("operatingMode", Integer.class, Integer.class); - doorLocksetHolidayScheduleCommandParams.put("operatingMode",doorLocksetHolidayScheduleoperatingModeCommandParameterInfo); - InteractionInfo doorLocksetHolidayScheduleInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlstepHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlstepHueCommandParams.put("optionsMask",colorControlstepHueoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlstepHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlstepHueCommandParams.put("optionsOverride",colorControlstepHueoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlstepHueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .setHolidaySchedule((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .stepHue((DefaultClusterCallback) callback , (Integer) - commandArguments.get("holidayIndex") - , (Long) - commandArguments.get("localStartTime") - , (Long) - commandArguments.get("localEndTime") + commandArguments.get("stepMode") , (Integer) - commandArguments.get("operatingMode") + commandArguments.get("stepSize") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLocksetHolidayScheduleCommandParams + colorControlstepHueCommandParams ); - doorLockClusterInteractionInfoMap.put("setHolidaySchedule", doorLocksetHolidayScheduleInteractionInfo); + colorControlClusterInteractionInfoMap.put("stepHue", colorControlstepHueInteractionInfo); - Map doorLockgetHolidayScheduleCommandParams = new LinkedHashMap(); + Map colorControlmoveToSaturationCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLockgetHolidayScheduleholidayIndexCommandParameterInfo = new CommandParameterInfo("holidayIndex", Integer.class, Integer.class); - doorLockgetHolidayScheduleCommandParams.put("holidayIndex",doorLockgetHolidayScheduleholidayIndexCommandParameterInfo); - InteractionInfo doorLockgetHolidayScheduleInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .getHolidaySchedule((ChipClusters.DoorLockCluster.GetHolidayScheduleResponseCallback) callback - , (Integer) - commandArguments.get("holidayIndex") + CommandParameterInfo colorControlmoveToSaturationsaturationCommandParameterInfo = new CommandParameterInfo("saturation", Integer.class, Integer.class); + colorControlmoveToSaturationCommandParams.put("saturation",colorControlmoveToSaturationsaturationCommandParameterInfo); - ); - }, - () -> new DelegatedDoorLockClusterGetHolidayScheduleResponseCallback(), - doorLockgetHolidayScheduleCommandParams - ); - doorLockClusterInteractionInfoMap.put("getHolidaySchedule", doorLockgetHolidayScheduleInteractionInfo); + CommandParameterInfo colorControlmoveToSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlmoveToSaturationCommandParams.put("transitionTime",colorControlmoveToSaturationtransitionTimeCommandParameterInfo); - Map doorLockclearHolidayScheduleCommandParams = new LinkedHashMap(); + CommandParameterInfo colorControlmoveToSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveToSaturationCommandParams.put("optionsMask",colorControlmoveToSaturationoptionsMaskCommandParameterInfo); - CommandParameterInfo doorLockclearHolidayScheduleholidayIndexCommandParameterInfo = new CommandParameterInfo("holidayIndex", Integer.class, Integer.class); - doorLockclearHolidayScheduleCommandParams.put("holidayIndex",doorLockclearHolidayScheduleholidayIndexCommandParameterInfo); - InteractionInfo doorLockclearHolidayScheduleInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveToSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveToSaturationCommandParams.put("optionsOverride",colorControlmoveToSaturationoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveToSaturationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .clearHolidaySchedule((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .moveToSaturation((DefaultClusterCallback) callback , (Integer) - commandArguments.get("holidayIndex") + commandArguments.get("saturation") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockclearHolidayScheduleCommandParams + colorControlmoveToSaturationCommandParams ); - doorLockClusterInteractionInfoMap.put("clearHolidaySchedule", doorLockclearHolidayScheduleInteractionInfo); - - Map doorLocksetUserCommandParams = new LinkedHashMap(); - - CommandParameterInfo doorLocksetUseroperationTypeCommandParameterInfo = new CommandParameterInfo("operationType", Integer.class, Integer.class); - doorLocksetUserCommandParams.put("operationType",doorLocksetUseroperationTypeCommandParameterInfo); - - CommandParameterInfo doorLocksetUseruserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLocksetUserCommandParams.put("userIndex",doorLocksetUseruserIndexCommandParameterInfo); + colorControlClusterInteractionInfoMap.put("moveToSaturation", colorControlmoveToSaturationInteractionInfo); - CommandParameterInfo doorLocksetUseruserNameCommandParameterInfo = new CommandParameterInfo("userName", String.class, String.class); - doorLocksetUserCommandParams.put("userName",doorLocksetUseruserNameCommandParameterInfo); + Map colorControlmoveSaturationCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLocksetUseruserUniqueIDCommandParameterInfo = new CommandParameterInfo("userUniqueID", Long.class, Long.class); - doorLocksetUserCommandParams.put("userUniqueID",doorLocksetUseruserUniqueIDCommandParameterInfo); + CommandParameterInfo colorControlmoveSaturationmoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); + colorControlmoveSaturationCommandParams.put("moveMode",colorControlmoveSaturationmoveModeCommandParameterInfo); - CommandParameterInfo doorLocksetUseruserStatusCommandParameterInfo = new CommandParameterInfo("userStatus", Integer.class, Integer.class); - doorLocksetUserCommandParams.put("userStatus",doorLocksetUseruserStatusCommandParameterInfo); + CommandParameterInfo colorControlmoveSaturationrateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); + colorControlmoveSaturationCommandParams.put("rate",colorControlmoveSaturationrateCommandParameterInfo); - CommandParameterInfo doorLocksetUseruserTypeCommandParameterInfo = new CommandParameterInfo("userType", Integer.class, Integer.class); - doorLocksetUserCommandParams.put("userType",doorLocksetUseruserTypeCommandParameterInfo); + CommandParameterInfo colorControlmoveSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveSaturationCommandParams.put("optionsMask",colorControlmoveSaturationoptionsMaskCommandParameterInfo); - CommandParameterInfo doorLocksetUsercredentialRuleCommandParameterInfo = new CommandParameterInfo("credentialRule", Integer.class, Integer.class); - doorLocksetUserCommandParams.put("credentialRule",doorLocksetUsercredentialRuleCommandParameterInfo); - InteractionInfo doorLocksetUserInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveSaturationCommandParams.put("optionsOverride",colorControlmoveSaturationoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveSaturationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .setUser((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("operationType") + ((ChipClusters.ColorControlCluster) cluster) + .moveSaturation((DefaultClusterCallback) callback , (Integer) - commandArguments.get("userIndex") - , (String) - commandArguments.get("userName") - , (Long) - commandArguments.get("userUniqueID") + commandArguments.get("moveMode") , (Integer) - commandArguments.get("userStatus") + commandArguments.get("rate") , (Integer) - commandArguments.get("userType") + commandArguments.get("optionsMask") , (Integer) - commandArguments.get("credentialRule"), 10000 + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLocksetUserCommandParams + colorControlmoveSaturationCommandParams ); - doorLockClusterInteractionInfoMap.put("setUser", doorLocksetUserInteractionInfo); + colorControlClusterInteractionInfoMap.put("moveSaturation", colorControlmoveSaturationInteractionInfo); - Map doorLockgetUserCommandParams = new LinkedHashMap(); + Map colorControlstepSaturationCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLockgetUseruserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLockgetUserCommandParams.put("userIndex",doorLockgetUseruserIndexCommandParameterInfo); - InteractionInfo doorLockgetUserInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .getUser((ChipClusters.DoorLockCluster.GetUserResponseCallback) callback - , (Integer) - commandArguments.get("userIndex") + CommandParameterInfo colorControlstepSaturationstepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); + colorControlstepSaturationCommandParams.put("stepMode",colorControlstepSaturationstepModeCommandParameterInfo); - ); - }, - () -> new DelegatedDoorLockClusterGetUserResponseCallback(), - doorLockgetUserCommandParams - ); - doorLockClusterInteractionInfoMap.put("getUser", doorLockgetUserInteractionInfo); + CommandParameterInfo colorControlstepSaturationstepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); + colorControlstepSaturationCommandParams.put("stepSize",colorControlstepSaturationstepSizeCommandParameterInfo); - Map doorLockclearUserCommandParams = new LinkedHashMap(); + CommandParameterInfo colorControlstepSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlstepSaturationCommandParams.put("transitionTime",colorControlstepSaturationtransitionTimeCommandParameterInfo); - CommandParameterInfo doorLockclearUseruserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLockclearUserCommandParams.put("userIndex",doorLockclearUseruserIndexCommandParameterInfo); - InteractionInfo doorLockclearUserInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlstepSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlstepSaturationCommandParams.put("optionsMask",colorControlstepSaturationoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlstepSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlstepSaturationCommandParams.put("optionsOverride",colorControlstepSaturationoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlstepSaturationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .clearUser((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .stepSaturation((DefaultClusterCallback) callback , (Integer) - commandArguments.get("userIndex"), 10000 + commandArguments.get("stepMode") + , (Integer) + commandArguments.get("stepSize") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockclearUserCommandParams + colorControlstepSaturationCommandParams ); - doorLockClusterInteractionInfoMap.put("clearUser", doorLockclearUserInteractionInfo); - - Map doorLocksetCredentialCommandParams = new LinkedHashMap(); + colorControlClusterInteractionInfoMap.put("stepSaturation", colorControlstepSaturationInteractionInfo); - CommandParameterInfo doorLocksetCredentialoperationTypeCommandParameterInfo = new CommandParameterInfo("operationType", Integer.class, Integer.class); - doorLocksetCredentialCommandParams.put("operationType",doorLocksetCredentialoperationTypeCommandParameterInfo); + Map colorControlmoveToHueAndSaturationCommandParams = new LinkedHashMap(); + CommandParameterInfo colorControlmoveToHueAndSaturationhueCommandParameterInfo = new CommandParameterInfo("hue", Integer.class, Integer.class); + colorControlmoveToHueAndSaturationCommandParams.put("hue",colorControlmoveToHueAndSaturationhueCommandParameterInfo); - CommandParameterInfo doorLocksetCredentialcredentialDataCommandParameterInfo = new CommandParameterInfo("credentialData", byte[].class, byte[].class); - doorLocksetCredentialCommandParams.put("credentialData",doorLocksetCredentialcredentialDataCommandParameterInfo); + CommandParameterInfo colorControlmoveToHueAndSaturationsaturationCommandParameterInfo = new CommandParameterInfo("saturation", Integer.class, Integer.class); + colorControlmoveToHueAndSaturationCommandParams.put("saturation",colorControlmoveToHueAndSaturationsaturationCommandParameterInfo); - CommandParameterInfo doorLocksetCredentialuserIndexCommandParameterInfo = new CommandParameterInfo("userIndex", Integer.class, Integer.class); - doorLocksetCredentialCommandParams.put("userIndex",doorLocksetCredentialuserIndexCommandParameterInfo); + CommandParameterInfo colorControlmoveToHueAndSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlmoveToHueAndSaturationCommandParams.put("transitionTime",colorControlmoveToHueAndSaturationtransitionTimeCommandParameterInfo); - CommandParameterInfo doorLocksetCredentialuserStatusCommandParameterInfo = new CommandParameterInfo("userStatus", Integer.class, Integer.class); - doorLocksetCredentialCommandParams.put("userStatus",doorLocksetCredentialuserStatusCommandParameterInfo); + CommandParameterInfo colorControlmoveToHueAndSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveToHueAndSaturationCommandParams.put("optionsMask",colorControlmoveToHueAndSaturationoptionsMaskCommandParameterInfo); - CommandParameterInfo doorLocksetCredentialuserTypeCommandParameterInfo = new CommandParameterInfo("userType", Integer.class, Integer.class); - doorLocksetCredentialCommandParams.put("userType",doorLocksetCredentialuserTypeCommandParameterInfo); - InteractionInfo doorLocksetCredentialInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveToHueAndSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveToHueAndSaturationCommandParams.put("optionsOverride",colorControlmoveToHueAndSaturationoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveToHueAndSaturationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .setCredential((ChipClusters.DoorLockCluster.SetCredentialResponseCallback) callback - , (Integer) - commandArguments.get("operationType") - - , (ChipStructs.DoorLockClusterCredentialStruct) - commandArguments.get("credential") - - , (byte[]) - commandArguments.get("credentialData") - - , (Integer) - commandArguments.get("userIndex") - - , (Integer) - commandArguments.get("userStatus") - - , (Integer) - commandArguments.get("userType") + ((ChipClusters.ColorControlCluster) cluster) + .moveToHueAndSaturation((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("hue") + , (Integer) + commandArguments.get("saturation") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + colorControlmoveToHueAndSaturationCommandParams + ); + colorControlClusterInteractionInfoMap.put("moveToHueAndSaturation", colorControlmoveToHueAndSaturationInteractionInfo); - , 10000); - }, - () -> new DelegatedDoorLockClusterSetCredentialResponseCallback(), - doorLocksetCredentialCommandParams - ); - doorLockClusterInteractionInfoMap.put("setCredential", doorLocksetCredentialInteractionInfo); + Map colorControlmoveToColorCommandParams = new LinkedHashMap(); - Map doorLockgetCredentialStatusCommandParams = new LinkedHashMap(); + CommandParameterInfo colorControlmoveToColorcolorXCommandParameterInfo = new CommandParameterInfo("colorX", Integer.class, Integer.class); + colorControlmoveToColorCommandParams.put("colorX",colorControlmoveToColorcolorXCommandParameterInfo); - InteractionInfo doorLockgetCredentialStatusInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .getCredentialStatus((ChipClusters.DoorLockCluster.GetCredentialStatusResponseCallback) callback - , (ChipStructs.DoorLockClusterCredentialStruct) - commandArguments.get("credential") + CommandParameterInfo colorControlmoveToColorcolorYCommandParameterInfo = new CommandParameterInfo("colorY", Integer.class, Integer.class); + colorControlmoveToColorCommandParams.put("colorY",colorControlmoveToColorcolorYCommandParameterInfo); - ); - }, - () -> new DelegatedDoorLockClusterGetCredentialStatusResponseCallback(), - doorLockgetCredentialStatusCommandParams - ); - doorLockClusterInteractionInfoMap.put("getCredentialStatus", doorLockgetCredentialStatusInteractionInfo); + CommandParameterInfo colorControlmoveToColortransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlmoveToColorCommandParams.put("transitionTime",colorControlmoveToColortransitionTimeCommandParameterInfo); - Map doorLockclearCredentialCommandParams = new LinkedHashMap(); + CommandParameterInfo colorControlmoveToColoroptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveToColorCommandParams.put("optionsMask",colorControlmoveToColoroptionsMaskCommandParameterInfo); - InteractionInfo doorLockclearCredentialInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveToColoroptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveToColorCommandParams.put("optionsOverride",colorControlmoveToColoroptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveToColorInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .clearCredential((DefaultClusterCallback) callback - , (ChipStructs.DoorLockClusterCredentialStruct) - commandArguments.get("credential"), 10000 + ((ChipClusters.ColorControlCluster) cluster) + .moveToColor((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("colorX") + , (Integer) + commandArguments.get("colorY") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockclearCredentialCommandParams + colorControlmoveToColorCommandParams ); - doorLockClusterInteractionInfoMap.put("clearCredential", doorLockclearCredentialInteractionInfo); + colorControlClusterInteractionInfoMap.put("moveToColor", colorControlmoveToColorInteractionInfo); - Map doorLockunboltDoorCommandParams = new LinkedHashMap(); + Map colorControlmoveColorCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLockunboltDoorPINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, byte[].class); - doorLockunboltDoorCommandParams.put("PINCode",doorLockunboltDoorPINCodeCommandParameterInfo); - InteractionInfo doorLockunboltDoorInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveColorrateXCommandParameterInfo = new CommandParameterInfo("rateX", Integer.class, Integer.class); + colorControlmoveColorCommandParams.put("rateX",colorControlmoveColorrateXCommandParameterInfo); + + CommandParameterInfo colorControlmoveColorrateYCommandParameterInfo = new CommandParameterInfo("rateY", Integer.class, Integer.class); + colorControlmoveColorCommandParams.put("rateY",colorControlmoveColorrateYCommandParameterInfo); + + CommandParameterInfo colorControlmoveColoroptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveColorCommandParams.put("optionsMask",colorControlmoveColoroptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlmoveColoroptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveColorCommandParams.put("optionsOverride",colorControlmoveColoroptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveColorInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .unboltDoor((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("PINCode"), 10000 + ((ChipClusters.ColorControlCluster) cluster) + .moveColor((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("rateX") + , (Integer) + commandArguments.get("rateY") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockunboltDoorCommandParams + colorControlmoveColorCommandParams ); - doorLockClusterInteractionInfoMap.put("unboltDoor", doorLockunboltDoorInteractionInfo); + colorControlClusterInteractionInfoMap.put("moveColor", colorControlmoveColorInteractionInfo); - Map doorLocksetAliroReaderConfigCommandParams = new LinkedHashMap(); + Map colorControlstepColorCommandParams = new LinkedHashMap(); - CommandParameterInfo doorLocksetAliroReaderConfigsigningKeyCommandParameterInfo = new CommandParameterInfo("signingKey", byte[].class, byte[].class); - doorLocksetAliroReaderConfigCommandParams.put("signingKey",doorLocksetAliroReaderConfigsigningKeyCommandParameterInfo); + CommandParameterInfo colorControlstepColorstepXCommandParameterInfo = new CommandParameterInfo("stepX", Integer.class, Integer.class); + colorControlstepColorCommandParams.put("stepX",colorControlstepColorstepXCommandParameterInfo); - CommandParameterInfo doorLocksetAliroReaderConfigverificationKeyCommandParameterInfo = new CommandParameterInfo("verificationKey", byte[].class, byte[].class); - doorLocksetAliroReaderConfigCommandParams.put("verificationKey",doorLocksetAliroReaderConfigverificationKeyCommandParameterInfo); + CommandParameterInfo colorControlstepColorstepYCommandParameterInfo = new CommandParameterInfo("stepY", Integer.class, Integer.class); + colorControlstepColorCommandParams.put("stepY",colorControlstepColorstepYCommandParameterInfo); - CommandParameterInfo doorLocksetAliroReaderConfiggroupIdentifierCommandParameterInfo = new CommandParameterInfo("groupIdentifier", byte[].class, byte[].class); - doorLocksetAliroReaderConfigCommandParams.put("groupIdentifier",doorLocksetAliroReaderConfiggroupIdentifierCommandParameterInfo); + CommandParameterInfo colorControlstepColortransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlstepColorCommandParams.put("transitionTime",colorControlstepColortransitionTimeCommandParameterInfo); - CommandParameterInfo doorLocksetAliroReaderConfiggroupResolvingKeyCommandParameterInfo = new CommandParameterInfo("groupResolvingKey", Optional.class, byte[].class); - doorLocksetAliroReaderConfigCommandParams.put("groupResolvingKey",doorLocksetAliroReaderConfiggroupResolvingKeyCommandParameterInfo); - InteractionInfo doorLocksetAliroReaderConfigInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .setAliroReaderConfig((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("signingKey") - , (byte[]) - commandArguments.get("verificationKey") - , (byte[]) - commandArguments.get("groupIdentifier") - , (Optional) - commandArguments.get("groupResolvingKey"), 10000 - ); - }, - () -> new DelegatedDefaultClusterCallback(), - doorLocksetAliroReaderConfigCommandParams - ); - doorLockClusterInteractionInfoMap.put("setAliroReaderConfig", doorLocksetAliroReaderConfigInteractionInfo); + CommandParameterInfo colorControlstepColoroptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlstepColorCommandParams.put("optionsMask",colorControlstepColoroptionsMaskCommandParameterInfo); - Map doorLockclearAliroReaderConfigCommandParams = new LinkedHashMap(); - InteractionInfo doorLockclearAliroReaderConfigInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlstepColoroptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlstepColorCommandParams.put("optionsOverride",colorControlstepColoroptionsOverrideCommandParameterInfo); + InteractionInfo colorControlstepColorInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.DoorLockCluster) cluster) - .clearAliroReaderConfig((DefaultClusterCallback) callback, 10000 + ((ChipClusters.ColorControlCluster) cluster) + .stepColor((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("stepX") + , (Integer) + commandArguments.get("stepY") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - doorLockclearAliroReaderConfigCommandParams + colorControlstepColorCommandParams ); - doorLockClusterInteractionInfoMap.put("clearAliroReaderConfig", doorLockclearAliroReaderConfigInteractionInfo); + colorControlClusterInteractionInfoMap.put("stepColor", colorControlstepColorInteractionInfo); - commandMap.put("doorLock", doorLockClusterInteractionInfoMap); + Map colorControlmoveToColorTemperatureCommandParams = new LinkedHashMap(); - Map windowCoveringClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo colorControlmoveToColorTemperaturecolorTemperatureMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMireds", Integer.class, Integer.class); + colorControlmoveToColorTemperatureCommandParams.put("colorTemperatureMireds",colorControlmoveToColorTemperaturecolorTemperatureMiredsCommandParameterInfo); - Map windowCoveringupOrOpenCommandParams = new LinkedHashMap(); - InteractionInfo windowCoveringupOrOpenInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveToColorTemperaturetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlmoveToColorTemperatureCommandParams.put("transitionTime",colorControlmoveToColorTemperaturetransitionTimeCommandParameterInfo); + + CommandParameterInfo colorControlmoveToColorTemperatureoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveToColorTemperatureCommandParams.put("optionsMask",colorControlmoveToColorTemperatureoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlmoveToColorTemperatureoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveToColorTemperatureCommandParams.put("optionsOverride",colorControlmoveToColorTemperatureoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveToColorTemperatureInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WindowCoveringCluster) cluster) - .upOrOpen((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .moveToColorTemperature((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("colorTemperatureMireds") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - windowCoveringupOrOpenCommandParams + colorControlmoveToColorTemperatureCommandParams ); - windowCoveringClusterInteractionInfoMap.put("upOrOpen", windowCoveringupOrOpenInteractionInfo); + colorControlClusterInteractionInfoMap.put("moveToColorTemperature", colorControlmoveToColorTemperatureInteractionInfo); - Map windowCoveringdownOrCloseCommandParams = new LinkedHashMap(); - InteractionInfo windowCoveringdownOrCloseInteractionInfo = new InteractionInfo( + Map colorControlenhancedMoveToHueCommandParams = new LinkedHashMap(); + + CommandParameterInfo colorControlenhancedMoveToHueenhancedHueCommandParameterInfo = new CommandParameterInfo("enhancedHue", Integer.class, Integer.class); + colorControlenhancedMoveToHueCommandParams.put("enhancedHue",colorControlenhancedMoveToHueenhancedHueCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHuedirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); + colorControlenhancedMoveToHueCommandParams.put("direction",colorControlenhancedMoveToHuedirectionCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlenhancedMoveToHueCommandParams.put("transitionTime",colorControlenhancedMoveToHuetransitionTimeCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlenhancedMoveToHueCommandParams.put("optionsMask",colorControlenhancedMoveToHueoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlenhancedMoveToHueCommandParams.put("optionsOverride",colorControlenhancedMoveToHueoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlenhancedMoveToHueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WindowCoveringCluster) cluster) - .downOrClose((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .enhancedMoveToHue((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("enhancedHue") + , (Integer) + commandArguments.get("direction") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - windowCoveringdownOrCloseCommandParams + colorControlenhancedMoveToHueCommandParams ); - windowCoveringClusterInteractionInfoMap.put("downOrClose", windowCoveringdownOrCloseInteractionInfo); + colorControlClusterInteractionInfoMap.put("enhancedMoveToHue", colorControlenhancedMoveToHueInteractionInfo); - Map windowCoveringstopMotionCommandParams = new LinkedHashMap(); - InteractionInfo windowCoveringstopMotionInteractionInfo = new InteractionInfo( + Map colorControlenhancedMoveHueCommandParams = new LinkedHashMap(); + + CommandParameterInfo colorControlenhancedMoveHuemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); + colorControlenhancedMoveHueCommandParams.put("moveMode",colorControlenhancedMoveHuemoveModeCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveHuerateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); + colorControlenhancedMoveHueCommandParams.put("rate",colorControlenhancedMoveHuerateCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlenhancedMoveHueCommandParams.put("optionsMask",colorControlenhancedMoveHueoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlenhancedMoveHueCommandParams.put("optionsOverride",colorControlenhancedMoveHueoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlenhancedMoveHueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WindowCoveringCluster) cluster) - .stopMotion((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .enhancedMoveHue((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("moveMode") + , (Integer) + commandArguments.get("rate") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - windowCoveringstopMotionCommandParams + colorControlenhancedMoveHueCommandParams ); - windowCoveringClusterInteractionInfoMap.put("stopMotion", windowCoveringstopMotionInteractionInfo); + colorControlClusterInteractionInfoMap.put("enhancedMoveHue", colorControlenhancedMoveHueInteractionInfo); - Map windowCoveringgoToLiftValueCommandParams = new LinkedHashMap(); + Map colorControlenhancedStepHueCommandParams = new LinkedHashMap(); - CommandParameterInfo windowCoveringgoToLiftValueliftValueCommandParameterInfo = new CommandParameterInfo("liftValue", Integer.class, Integer.class); - windowCoveringgoToLiftValueCommandParams.put("liftValue",windowCoveringgoToLiftValueliftValueCommandParameterInfo); - InteractionInfo windowCoveringgoToLiftValueInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlenhancedStepHuestepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); + colorControlenhancedStepHueCommandParams.put("stepMode",colorControlenhancedStepHuestepModeCommandParameterInfo); + + CommandParameterInfo colorControlenhancedStepHuestepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); + colorControlenhancedStepHueCommandParams.put("stepSize",colorControlenhancedStepHuestepSizeCommandParameterInfo); + + CommandParameterInfo colorControlenhancedStepHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlenhancedStepHueCommandParams.put("transitionTime",colorControlenhancedStepHuetransitionTimeCommandParameterInfo); + + CommandParameterInfo colorControlenhancedStepHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlenhancedStepHueCommandParams.put("optionsMask",colorControlenhancedStepHueoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlenhancedStepHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlenhancedStepHueCommandParams.put("optionsOverride",colorControlenhancedStepHueoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlenhancedStepHueInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WindowCoveringCluster) cluster) - .goToLiftValue((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .enhancedStepHue((DefaultClusterCallback) callback , (Integer) - commandArguments.get("liftValue") + commandArguments.get("stepMode") + , (Integer) + commandArguments.get("stepSize") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - windowCoveringgoToLiftValueCommandParams + colorControlenhancedStepHueCommandParams ); - windowCoveringClusterInteractionInfoMap.put("goToLiftValue", windowCoveringgoToLiftValueInteractionInfo); + colorControlClusterInteractionInfoMap.put("enhancedStepHue", colorControlenhancedStepHueInteractionInfo); - Map windowCoveringgoToLiftPercentageCommandParams = new LinkedHashMap(); + Map colorControlenhancedMoveToHueAndSaturationCommandParams = new LinkedHashMap(); - CommandParameterInfo windowCoveringgoToLiftPercentageliftPercent100thsValueCommandParameterInfo = new CommandParameterInfo("liftPercent100thsValue", Integer.class, Integer.class); - windowCoveringgoToLiftPercentageCommandParams.put("liftPercent100thsValue",windowCoveringgoToLiftPercentageliftPercent100thsValueCommandParameterInfo); - InteractionInfo windowCoveringgoToLiftPercentageInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlenhancedMoveToHueAndSaturationenhancedHueCommandParameterInfo = new CommandParameterInfo("enhancedHue", Integer.class, Integer.class); + colorControlenhancedMoveToHueAndSaturationCommandParams.put("enhancedHue",colorControlenhancedMoveToHueAndSaturationenhancedHueCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHueAndSaturationsaturationCommandParameterInfo = new CommandParameterInfo("saturation", Integer.class, Integer.class); + colorControlenhancedMoveToHueAndSaturationCommandParams.put("saturation",colorControlenhancedMoveToHueAndSaturationsaturationCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHueAndSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlenhancedMoveToHueAndSaturationCommandParams.put("transitionTime",colorControlenhancedMoveToHueAndSaturationtransitionTimeCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHueAndSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlenhancedMoveToHueAndSaturationCommandParams.put("optionsMask",colorControlenhancedMoveToHueAndSaturationoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlenhancedMoveToHueAndSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlenhancedMoveToHueAndSaturationCommandParams.put("optionsOverride",colorControlenhancedMoveToHueAndSaturationoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlenhancedMoveToHueAndSaturationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WindowCoveringCluster) cluster) - .goToLiftPercentage((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .enhancedMoveToHueAndSaturation((DefaultClusterCallback) callback , (Integer) - commandArguments.get("liftPercent100thsValue") + commandArguments.get("enhancedHue") + , (Integer) + commandArguments.get("saturation") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - windowCoveringgoToLiftPercentageCommandParams + colorControlenhancedMoveToHueAndSaturationCommandParams ); - windowCoveringClusterInteractionInfoMap.put("goToLiftPercentage", windowCoveringgoToLiftPercentageInteractionInfo); + colorControlClusterInteractionInfoMap.put("enhancedMoveToHueAndSaturation", colorControlenhancedMoveToHueAndSaturationInteractionInfo); - Map windowCoveringgoToTiltValueCommandParams = new LinkedHashMap(); + Map colorControlcolorLoopSetCommandParams = new LinkedHashMap(); - CommandParameterInfo windowCoveringgoToTiltValuetiltValueCommandParameterInfo = new CommandParameterInfo("tiltValue", Integer.class, Integer.class); - windowCoveringgoToTiltValueCommandParams.put("tiltValue",windowCoveringgoToTiltValuetiltValueCommandParameterInfo); - InteractionInfo windowCoveringgoToTiltValueInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlcolorLoopSetupdateFlagsCommandParameterInfo = new CommandParameterInfo("updateFlags", Integer.class, Integer.class); + colorControlcolorLoopSetCommandParams.put("updateFlags",colorControlcolorLoopSetupdateFlagsCommandParameterInfo); + + CommandParameterInfo colorControlcolorLoopSetactionCommandParameterInfo = new CommandParameterInfo("action", Integer.class, Integer.class); + colorControlcolorLoopSetCommandParams.put("action",colorControlcolorLoopSetactionCommandParameterInfo); + + CommandParameterInfo colorControlcolorLoopSetdirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); + colorControlcolorLoopSetCommandParams.put("direction",colorControlcolorLoopSetdirectionCommandParameterInfo); + + CommandParameterInfo colorControlcolorLoopSettimeCommandParameterInfo = new CommandParameterInfo("time", Integer.class, Integer.class); + colorControlcolorLoopSetCommandParams.put("time",colorControlcolorLoopSettimeCommandParameterInfo); + + CommandParameterInfo colorControlcolorLoopSetstartHueCommandParameterInfo = new CommandParameterInfo("startHue", Integer.class, Integer.class); + colorControlcolorLoopSetCommandParams.put("startHue",colorControlcolorLoopSetstartHueCommandParameterInfo); + + CommandParameterInfo colorControlcolorLoopSetoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlcolorLoopSetCommandParams.put("optionsMask",colorControlcolorLoopSetoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlcolorLoopSetoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlcolorLoopSetCommandParams.put("optionsOverride",colorControlcolorLoopSetoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlcolorLoopSetInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WindowCoveringCluster) cluster) - .goToTiltValue((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .colorLoopSet((DefaultClusterCallback) callback , (Integer) - commandArguments.get("tiltValue") + commandArguments.get("updateFlags") + , (Integer) + commandArguments.get("action") + , (Integer) + commandArguments.get("direction") + , (Integer) + commandArguments.get("time") + , (Integer) + commandArguments.get("startHue") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - windowCoveringgoToTiltValueCommandParams + colorControlcolorLoopSetCommandParams ); - windowCoveringClusterInteractionInfoMap.put("goToTiltValue", windowCoveringgoToTiltValueInteractionInfo); + colorControlClusterInteractionInfoMap.put("colorLoopSet", colorControlcolorLoopSetInteractionInfo); - Map windowCoveringgoToTiltPercentageCommandParams = new LinkedHashMap(); + Map colorControlstopMoveStepCommandParams = new LinkedHashMap(); - CommandParameterInfo windowCoveringgoToTiltPercentagetiltPercent100thsValueCommandParameterInfo = new CommandParameterInfo("tiltPercent100thsValue", Integer.class, Integer.class); - windowCoveringgoToTiltPercentageCommandParams.put("tiltPercent100thsValue",windowCoveringgoToTiltPercentagetiltPercent100thsValueCommandParameterInfo); - InteractionInfo windowCoveringgoToTiltPercentageInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlstopMoveStepoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlstopMoveStepCommandParams.put("optionsMask",colorControlstopMoveStepoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlstopMoveStepoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlstopMoveStepCommandParams.put("optionsOverride",colorControlstopMoveStepoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlstopMoveStepInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.WindowCoveringCluster) cluster) - .goToTiltPercentage((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .stopMoveStep((DefaultClusterCallback) callback , (Integer) - commandArguments.get("tiltPercent100thsValue") + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - windowCoveringgoToTiltPercentageCommandParams + colorControlstopMoveStepCommandParams ); - windowCoveringClusterInteractionInfoMap.put("goToTiltPercentage", windowCoveringgoToTiltPercentageInteractionInfo); + colorControlClusterInteractionInfoMap.put("stopMoveStep", colorControlstopMoveStepInteractionInfo); - commandMap.put("windowCovering", windowCoveringClusterInteractionInfoMap); + Map colorControlmoveColorTemperatureCommandParams = new LinkedHashMap(); - Map barrierControlClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo colorControlmoveColorTemperaturemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); + colorControlmoveColorTemperatureCommandParams.put("moveMode",colorControlmoveColorTemperaturemoveModeCommandParameterInfo); - Map barrierControlbarrierControlGoToPercentCommandParams = new LinkedHashMap(); + CommandParameterInfo colorControlmoveColorTemperaturerateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); + colorControlmoveColorTemperatureCommandParams.put("rate",colorControlmoveColorTemperaturerateCommandParameterInfo); - CommandParameterInfo barrierControlbarrierControlGoToPercentpercentOpenCommandParameterInfo = new CommandParameterInfo("percentOpen", Integer.class, Integer.class); - barrierControlbarrierControlGoToPercentCommandParams.put("percentOpen",barrierControlbarrierControlGoToPercentpercentOpenCommandParameterInfo); - InteractionInfo barrierControlbarrierControlGoToPercentInteractionInfo = new InteractionInfo( + CommandParameterInfo colorControlmoveColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMinimumMireds", Integer.class, Integer.class); + colorControlmoveColorTemperatureCommandParams.put("colorTemperatureMinimumMireds",colorControlmoveColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo); + + CommandParameterInfo colorControlmoveColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMaximumMireds", Integer.class, Integer.class); + colorControlmoveColorTemperatureCommandParams.put("colorTemperatureMaximumMireds",colorControlmoveColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo); + + CommandParameterInfo colorControlmoveColorTemperatureoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlmoveColorTemperatureCommandParams.put("optionsMask",colorControlmoveColorTemperatureoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlmoveColorTemperatureoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlmoveColorTemperatureCommandParams.put("optionsOverride",colorControlmoveColorTemperatureoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlmoveColorTemperatureInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.BarrierControlCluster) cluster) - .barrierControlGoToPercent((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .moveColorTemperature((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("moveMode") + , (Integer) + commandArguments.get("rate") + , (Integer) + commandArguments.get("colorTemperatureMinimumMireds") + , (Integer) + commandArguments.get("colorTemperatureMaximumMireds") , (Integer) - commandArguments.get("percentOpen") + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - barrierControlbarrierControlGoToPercentCommandParams + colorControlmoveColorTemperatureCommandParams ); - barrierControlClusterInteractionInfoMap.put("barrierControlGoToPercent", barrierControlbarrierControlGoToPercentInteractionInfo); + colorControlClusterInteractionInfoMap.put("moveColorTemperature", colorControlmoveColorTemperatureInteractionInfo); - Map barrierControlbarrierControlStopCommandParams = new LinkedHashMap(); - InteractionInfo barrierControlbarrierControlStopInteractionInfo = new InteractionInfo( + Map colorControlstepColorTemperatureCommandParams = new LinkedHashMap(); + + CommandParameterInfo colorControlstepColorTemperaturestepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); + colorControlstepColorTemperatureCommandParams.put("stepMode",colorControlstepColorTemperaturestepModeCommandParameterInfo); + + CommandParameterInfo colorControlstepColorTemperaturestepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); + colorControlstepColorTemperatureCommandParams.put("stepSize",colorControlstepColorTemperaturestepSizeCommandParameterInfo); + + CommandParameterInfo colorControlstepColorTemperaturetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); + colorControlstepColorTemperatureCommandParams.put("transitionTime",colorControlstepColorTemperaturetransitionTimeCommandParameterInfo); + + CommandParameterInfo colorControlstepColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMinimumMireds", Integer.class, Integer.class); + colorControlstepColorTemperatureCommandParams.put("colorTemperatureMinimumMireds",colorControlstepColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo); + + CommandParameterInfo colorControlstepColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMaximumMireds", Integer.class, Integer.class); + colorControlstepColorTemperatureCommandParams.put("colorTemperatureMaximumMireds",colorControlstepColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo); + + CommandParameterInfo colorControlstepColorTemperatureoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); + colorControlstepColorTemperatureCommandParams.put("optionsMask",colorControlstepColorTemperatureoptionsMaskCommandParameterInfo); + + CommandParameterInfo colorControlstepColorTemperatureoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); + colorControlstepColorTemperatureCommandParams.put("optionsOverride",colorControlstepColorTemperatureoptionsOverrideCommandParameterInfo); + InteractionInfo colorControlstepColorTemperatureInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.BarrierControlCluster) cluster) - .barrierControlStop((DefaultClusterCallback) callback + ((ChipClusters.ColorControlCluster) cluster) + .stepColorTemperature((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("stepMode") + , (Integer) + commandArguments.get("stepSize") + , (Integer) + commandArguments.get("transitionTime") + , (Integer) + commandArguments.get("colorTemperatureMinimumMireds") + , (Integer) + commandArguments.get("colorTemperatureMaximumMireds") + , (Integer) + commandArguments.get("optionsMask") + , (Integer) + commandArguments.get("optionsOverride") ); }, () -> new DelegatedDefaultClusterCallback(), - barrierControlbarrierControlStopCommandParams + colorControlstepColorTemperatureCommandParams ); - barrierControlClusterInteractionInfoMap.put("barrierControlStop", barrierControlbarrierControlStopInteractionInfo); + colorControlClusterInteractionInfoMap.put("stepColorTemperature", colorControlstepColorTemperatureInteractionInfo); - commandMap.put("barrierControl", barrierControlClusterInteractionInfoMap); + commandMap.put("colorControl", colorControlClusterInteractionInfoMap); - Map serviceAreaClusterInteractionInfoMap = new LinkedHashMap<>(); + Map ballastConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - Map serviceAreaselectAreasCommandParams = new LinkedHashMap(); + commandMap.put("ballastConfiguration", ballastConfigurationClusterInteractionInfoMap); - CommandParameterInfo serviceAreaselectAreasnewAreasCommandParameterInfo = new CommandParameterInfo("newAreas", ArrayList.class, ArrayList.class); - serviceAreaselectAreasCommandParams.put("newAreas",serviceAreaselectAreasnewAreasCommandParameterInfo); - InteractionInfo serviceAreaselectAreasInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ServiceAreaCluster) cluster) - .selectAreas((ChipClusters.ServiceAreaCluster.SelectAreasResponseCallback) callback - , (ArrayList) - commandArguments.get("newAreas") + Map illuminanceMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - ); - }, - () -> new DelegatedServiceAreaClusterSelectAreasResponseCallback(), - serviceAreaselectAreasCommandParams - ); - serviceAreaClusterInteractionInfoMap.put("selectAreas", serviceAreaselectAreasInteractionInfo); + commandMap.put("illuminanceMeasurement", illuminanceMeasurementClusterInteractionInfoMap); - Map serviceAreaskipAreaCommandParams = new LinkedHashMap(); + Map temperatureMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo serviceAreaskipAreaskippedAreaCommandParameterInfo = new CommandParameterInfo("skippedArea", Long.class, Long.class); - serviceAreaskipAreaCommandParams.put("skippedArea",serviceAreaskipAreaskippedAreaCommandParameterInfo); - InteractionInfo serviceAreaskipAreaInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ServiceAreaCluster) cluster) - .skipArea((ChipClusters.ServiceAreaCluster.SkipAreaResponseCallback) callback - , (Long) - commandArguments.get("skippedArea") + commandMap.put("temperatureMeasurement", temperatureMeasurementClusterInteractionInfoMap); - ); - }, - () -> new DelegatedServiceAreaClusterSkipAreaResponseCallback(), - serviceAreaskipAreaCommandParams - ); - serviceAreaClusterInteractionInfoMap.put("skipArea", serviceAreaskipAreaInteractionInfo); + Map pressureMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("serviceArea", serviceAreaClusterInteractionInfoMap); + commandMap.put("pressureMeasurement", pressureMeasurementClusterInteractionInfoMap); - Map pumpConfigurationAndControlClusterInteractionInfoMap = new LinkedHashMap<>(); + Map flowMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("pumpConfigurationAndControl", pumpConfigurationAndControlClusterInteractionInfoMap); + commandMap.put("flowMeasurement", flowMeasurementClusterInteractionInfoMap); - Map thermostatClusterInteractionInfoMap = new LinkedHashMap<>(); + Map relativeHumidityMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map thermostatsetpointRaiseLowerCommandParams = new LinkedHashMap(); + commandMap.put("relativeHumidityMeasurement", relativeHumidityMeasurementClusterInteractionInfoMap); - CommandParameterInfo thermostatsetpointRaiseLowermodeCommandParameterInfo = new CommandParameterInfo("mode", Integer.class, Integer.class); - thermostatsetpointRaiseLowerCommandParams.put("mode",thermostatsetpointRaiseLowermodeCommandParameterInfo); + Map occupancySensingClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo thermostatsetpointRaiseLoweramountCommandParameterInfo = new CommandParameterInfo("amount", Integer.class, Integer.class); - thermostatsetpointRaiseLowerCommandParams.put("amount",thermostatsetpointRaiseLoweramountCommandParameterInfo); - InteractionInfo thermostatsetpointRaiseLowerInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThermostatCluster) cluster) - .setpointRaiseLower((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("mode") - , (Integer) - commandArguments.get("amount") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - thermostatsetpointRaiseLowerCommandParams - ); - thermostatClusterInteractionInfoMap.put("setpointRaiseLower", thermostatsetpointRaiseLowerInteractionInfo); + commandMap.put("occupancySensing", occupancySensingClusterInteractionInfoMap); - Map thermostatsetWeeklyScheduleCommandParams = new LinkedHashMap(); + Map carbonMonoxideConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo thermostatsetWeeklySchedulenumberOfTransitionsForSequenceCommandParameterInfo = new CommandParameterInfo("numberOfTransitionsForSequence", Integer.class, Integer.class); - thermostatsetWeeklyScheduleCommandParams.put("numberOfTransitionsForSequence",thermostatsetWeeklySchedulenumberOfTransitionsForSequenceCommandParameterInfo); + commandMap.put("carbonMonoxideConcentrationMeasurement", carbonMonoxideConcentrationMeasurementClusterInteractionInfoMap); - CommandParameterInfo thermostatsetWeeklyScheduledayOfWeekForSequenceCommandParameterInfo = new CommandParameterInfo("dayOfWeekForSequence", Integer.class, Integer.class); - thermostatsetWeeklyScheduleCommandParams.put("dayOfWeekForSequence",thermostatsetWeeklyScheduledayOfWeekForSequenceCommandParameterInfo); + Map carbonDioxideConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo thermostatsetWeeklySchedulemodeForSequenceCommandParameterInfo = new CommandParameterInfo("modeForSequence", Integer.class, Integer.class); - thermostatsetWeeklyScheduleCommandParams.put("modeForSequence",thermostatsetWeeklySchedulemodeForSequenceCommandParameterInfo); + commandMap.put("carbonDioxideConcentrationMeasurement", carbonDioxideConcentrationMeasurementClusterInteractionInfoMap); - InteractionInfo thermostatsetWeeklyScheduleInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThermostatCluster) cluster) - .setWeeklySchedule((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("numberOfTransitionsForSequence") - , (Integer) - commandArguments.get("dayOfWeekForSequence") - , (Integer) - commandArguments.get("modeForSequence") - , (ArrayList) - commandArguments.get("transitions") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - thermostatsetWeeklyScheduleCommandParams - ); - thermostatClusterInteractionInfoMap.put("setWeeklySchedule", thermostatsetWeeklyScheduleInteractionInfo); + Map nitrogenDioxideConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map thermostatgetWeeklyScheduleCommandParams = new LinkedHashMap(); + commandMap.put("nitrogenDioxideConcentrationMeasurement", nitrogenDioxideConcentrationMeasurementClusterInteractionInfoMap); - CommandParameterInfo thermostatgetWeeklyScheduledaysToReturnCommandParameterInfo = new CommandParameterInfo("daysToReturn", Integer.class, Integer.class); - thermostatgetWeeklyScheduleCommandParams.put("daysToReturn",thermostatgetWeeklyScheduledaysToReturnCommandParameterInfo); + Map ozoneConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo thermostatgetWeeklySchedulemodeToReturnCommandParameterInfo = new CommandParameterInfo("modeToReturn", Integer.class, Integer.class); - thermostatgetWeeklyScheduleCommandParams.put("modeToReturn",thermostatgetWeeklySchedulemodeToReturnCommandParameterInfo); - InteractionInfo thermostatgetWeeklyScheduleInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThermostatCluster) cluster) - .getWeeklySchedule((ChipClusters.ThermostatCluster.GetWeeklyScheduleResponseCallback) callback - , (Integer) - commandArguments.get("daysToReturn") + commandMap.put("ozoneConcentrationMeasurement", ozoneConcentrationMeasurementClusterInteractionInfoMap); - , (Integer) - commandArguments.get("modeToReturn") + Map pm25ConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - ); - }, - () -> new DelegatedThermostatClusterGetWeeklyScheduleResponseCallback(), - thermostatgetWeeklyScheduleCommandParams - ); - thermostatClusterInteractionInfoMap.put("getWeeklySchedule", thermostatgetWeeklyScheduleInteractionInfo); + commandMap.put("pm25ConcentrationMeasurement", pm25ConcentrationMeasurementClusterInteractionInfoMap); - Map thermostatclearWeeklyScheduleCommandParams = new LinkedHashMap(); - InteractionInfo thermostatclearWeeklyScheduleInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThermostatCluster) cluster) - .clearWeeklySchedule((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - thermostatclearWeeklyScheduleCommandParams - ); - thermostatClusterInteractionInfoMap.put("clearWeeklySchedule", thermostatclearWeeklyScheduleInteractionInfo); + Map formaldehydeConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map thermostatsetActiveScheduleRequestCommandParams = new LinkedHashMap(); + commandMap.put("formaldehydeConcentrationMeasurement", formaldehydeConcentrationMeasurementClusterInteractionInfoMap); - CommandParameterInfo thermostatsetActiveScheduleRequestscheduleHandleCommandParameterInfo = new CommandParameterInfo("scheduleHandle", byte[].class, byte[].class); - thermostatsetActiveScheduleRequestCommandParams.put("scheduleHandle",thermostatsetActiveScheduleRequestscheduleHandleCommandParameterInfo); - InteractionInfo thermostatsetActiveScheduleRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThermostatCluster) cluster) - .setActiveScheduleRequest((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("scheduleHandle") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - thermostatsetActiveScheduleRequestCommandParams - ); - thermostatClusterInteractionInfoMap.put("setActiveScheduleRequest", thermostatsetActiveScheduleRequestInteractionInfo); + Map pm1ConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map thermostatsetActivePresetRequestCommandParams = new LinkedHashMap(); + commandMap.put("pm1ConcentrationMeasurement", pm1ConcentrationMeasurementClusterInteractionInfoMap); - CommandParameterInfo thermostatsetActivePresetRequestpresetHandleCommandParameterInfo = new CommandParameterInfo("presetHandle", byte[].class, byte[].class); - thermostatsetActivePresetRequestCommandParams.put("presetHandle",thermostatsetActivePresetRequestpresetHandleCommandParameterInfo); - InteractionInfo thermostatsetActivePresetRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThermostatCluster) cluster) - .setActivePresetRequest((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("presetHandle") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - thermostatsetActivePresetRequestCommandParams - ); - thermostatClusterInteractionInfoMap.put("setActivePresetRequest", thermostatsetActivePresetRequestInteractionInfo); + Map pm10ConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map thermostatatomicRequestCommandParams = new LinkedHashMap(); + commandMap.put("pm10ConcentrationMeasurement", pm10ConcentrationMeasurementClusterInteractionInfoMap); - CommandParameterInfo thermostatatomicRequestrequestTypeCommandParameterInfo = new CommandParameterInfo("requestType", Integer.class, Integer.class); - thermostatatomicRequestCommandParams.put("requestType",thermostatatomicRequestrequestTypeCommandParameterInfo); + Map totalVolatileOrganicCompoundsConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo thermostatatomicRequestattributeRequestsCommandParameterInfo = new CommandParameterInfo("attributeRequests", ArrayList.class, ArrayList.class); - thermostatatomicRequestCommandParams.put("attributeRequests",thermostatatomicRequestattributeRequestsCommandParameterInfo); + commandMap.put("totalVolatileOrganicCompoundsConcentrationMeasurement", totalVolatileOrganicCompoundsConcentrationMeasurementClusterInteractionInfoMap); - CommandParameterInfo thermostatatomicRequesttimeoutCommandParameterInfo = new CommandParameterInfo("timeout", Optional.class, Integer.class); - thermostatatomicRequestCommandParams.put("timeout",thermostatatomicRequesttimeoutCommandParameterInfo); - InteractionInfo thermostatatomicRequestInteractionInfo = new InteractionInfo( + Map radonConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + + commandMap.put("radonConcentrationMeasurement", radonConcentrationMeasurementClusterInteractionInfoMap); + + Map wiFiNetworkManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map wiFiNetworkManagementnetworkPassphraseRequestCommandParams = new LinkedHashMap(); + InteractionInfo wiFiNetworkManagementnetworkPassphraseRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ThermostatCluster) cluster) - .atomicRequest((ChipClusters.ThermostatCluster.AtomicResponseCallback) callback - , (Integer) - commandArguments.get("requestType") + ((ChipClusters.WiFiNetworkManagementCluster) cluster) + .networkPassphraseRequest((ChipClusters.WiFiNetworkManagementCluster.NetworkPassphraseResponseCallback) callback + ); + }, + () -> new DelegatedWiFiNetworkManagementClusterNetworkPassphraseResponseCallback(), + wiFiNetworkManagementnetworkPassphraseRequestCommandParams + ); + wiFiNetworkManagementClusterInteractionInfoMap.put("networkPassphraseRequest", wiFiNetworkManagementnetworkPassphraseRequestInteractionInfo); - , (ArrayList) - commandArguments.get("attributeRequests") + commandMap.put("wiFiNetworkManagement", wiFiNetworkManagementClusterInteractionInfoMap); - , (Optional) - commandArguments.get("timeout") + Map threadBorderRouterManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + Map threadBorderRouterManagementgetActiveDatasetRequestCommandParams = new LinkedHashMap(); + InteractionInfo threadBorderRouterManagementgetActiveDatasetRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) + .getActiveDatasetRequest((ChipClusters.ThreadBorderRouterManagementCluster.DatasetResponseCallback) callback ); }, - () -> new DelegatedThermostatClusterAtomicResponseCallback(), - thermostatatomicRequestCommandParams + () -> new DelegatedThreadBorderRouterManagementClusterDatasetResponseCallback(), + threadBorderRouterManagementgetActiveDatasetRequestCommandParams ); - thermostatClusterInteractionInfoMap.put("atomicRequest", thermostatatomicRequestInteractionInfo); - - commandMap.put("thermostat", thermostatClusterInteractionInfoMap); - - Map fanControlClusterInteractionInfoMap = new LinkedHashMap<>(); + threadBorderRouterManagementClusterInteractionInfoMap.put("getActiveDatasetRequest", threadBorderRouterManagementgetActiveDatasetRequestInteractionInfo); - Map fanControlstepCommandParams = new LinkedHashMap(); + Map threadBorderRouterManagementgetPendingDatasetRequestCommandParams = new LinkedHashMap(); + InteractionInfo threadBorderRouterManagementgetPendingDatasetRequestInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) + .getPendingDatasetRequest((ChipClusters.ThreadBorderRouterManagementCluster.DatasetResponseCallback) callback + ); + }, + () -> new DelegatedThreadBorderRouterManagementClusterDatasetResponseCallback(), + threadBorderRouterManagementgetPendingDatasetRequestCommandParams + ); + threadBorderRouterManagementClusterInteractionInfoMap.put("getPendingDatasetRequest", threadBorderRouterManagementgetPendingDatasetRequestInteractionInfo); - CommandParameterInfo fanControlstepdirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); - fanControlstepCommandParams.put("direction",fanControlstepdirectionCommandParameterInfo); + Map threadBorderRouterManagementsetActiveDatasetRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo fanControlstepwrapCommandParameterInfo = new CommandParameterInfo("wrap", Optional.class, Boolean.class); - fanControlstepCommandParams.put("wrap",fanControlstepwrapCommandParameterInfo); + CommandParameterInfo threadBorderRouterManagementsetActiveDatasetRequestactiveDatasetCommandParameterInfo = new CommandParameterInfo("activeDataset", byte[].class, byte[].class); + threadBorderRouterManagementsetActiveDatasetRequestCommandParams.put("activeDataset",threadBorderRouterManagementsetActiveDatasetRequestactiveDatasetCommandParameterInfo); - CommandParameterInfo fanControlsteplowestOffCommandParameterInfo = new CommandParameterInfo("lowestOff", Optional.class, Boolean.class); - fanControlstepCommandParams.put("lowestOff",fanControlsteplowestOffCommandParameterInfo); - InteractionInfo fanControlstepInteractionInfo = new InteractionInfo( + CommandParameterInfo threadBorderRouterManagementsetActiveDatasetRequestbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); + threadBorderRouterManagementsetActiveDatasetRequestCommandParams.put("breadcrumb",threadBorderRouterManagementsetActiveDatasetRequestbreadcrumbCommandParameterInfo); + InteractionInfo threadBorderRouterManagementsetActiveDatasetRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.FanControlCluster) cluster) - .step((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("direction") - , (Optional) - commandArguments.get("wrap") - , (Optional) - commandArguments.get("lowestOff") + ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) + .setActiveDatasetRequest((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("activeDataset") + , (Optional) + commandArguments.get("breadcrumb") ); }, () -> new DelegatedDefaultClusterCallback(), - fanControlstepCommandParams + threadBorderRouterManagementsetActiveDatasetRequestCommandParams ); - fanControlClusterInteractionInfoMap.put("step", fanControlstepInteractionInfo); - - commandMap.put("fanControl", fanControlClusterInteractionInfoMap); - - Map thermostatUserInterfaceConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("thermostatUserInterfaceConfiguration", thermostatUserInterfaceConfigurationClusterInteractionInfoMap); - - Map colorControlClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map colorControlmoveToHueCommandParams = new LinkedHashMap(); - - CommandParameterInfo colorControlmoveToHuehueCommandParameterInfo = new CommandParameterInfo("hue", Integer.class, Integer.class); - colorControlmoveToHueCommandParams.put("hue",colorControlmoveToHuehueCommandParameterInfo); - - CommandParameterInfo colorControlmoveToHuedirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); - colorControlmoveToHueCommandParams.put("direction",colorControlmoveToHuedirectionCommandParameterInfo); - - CommandParameterInfo colorControlmoveToHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlmoveToHueCommandParams.put("transitionTime",colorControlmoveToHuetransitionTimeCommandParameterInfo); + threadBorderRouterManagementClusterInteractionInfoMap.put("setActiveDatasetRequest", threadBorderRouterManagementsetActiveDatasetRequestInteractionInfo); - CommandParameterInfo colorControlmoveToHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveToHueCommandParams.put("optionsMask",colorControlmoveToHueoptionsMaskCommandParameterInfo); + Map threadBorderRouterManagementsetPendingDatasetRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlmoveToHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveToHueCommandParams.put("optionsOverride",colorControlmoveToHueoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveToHueInteractionInfo = new InteractionInfo( + CommandParameterInfo threadBorderRouterManagementsetPendingDatasetRequestpendingDatasetCommandParameterInfo = new CommandParameterInfo("pendingDataset", byte[].class, byte[].class); + threadBorderRouterManagementsetPendingDatasetRequestCommandParams.put("pendingDataset",threadBorderRouterManagementsetPendingDatasetRequestpendingDatasetCommandParameterInfo); + InteractionInfo threadBorderRouterManagementsetPendingDatasetRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveToHue((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("hue") - , (Integer) - commandArguments.get("direction") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) + .setPendingDatasetRequest((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("pendingDataset") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlmoveToHueCommandParams + threadBorderRouterManagementsetPendingDatasetRequestCommandParams ); - colorControlClusterInteractionInfoMap.put("moveToHue", colorControlmoveToHueInteractionInfo); - - Map colorControlmoveHueCommandParams = new LinkedHashMap(); + threadBorderRouterManagementClusterInteractionInfoMap.put("setPendingDatasetRequest", threadBorderRouterManagementsetPendingDatasetRequestInteractionInfo); - CommandParameterInfo colorControlmoveHuemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); - colorControlmoveHueCommandParams.put("moveMode",colorControlmoveHuemoveModeCommandParameterInfo); + commandMap.put("threadBorderRouterManagement", threadBorderRouterManagementClusterInteractionInfoMap); - CommandParameterInfo colorControlmoveHuerateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); - colorControlmoveHueCommandParams.put("rate",colorControlmoveHuerateCommandParameterInfo); + Map threadNetworkDirectoryClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo colorControlmoveHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveHueCommandParams.put("optionsMask",colorControlmoveHueoptionsMaskCommandParameterInfo); + Map threadNetworkDirectoryaddNetworkCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlmoveHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveHueCommandParams.put("optionsOverride",colorControlmoveHueoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveHueInteractionInfo = new InteractionInfo( + CommandParameterInfo threadNetworkDirectoryaddNetworkoperationalDatasetCommandParameterInfo = new CommandParameterInfo("operationalDataset", byte[].class, byte[].class); + threadNetworkDirectoryaddNetworkCommandParams.put("operationalDataset",threadNetworkDirectoryaddNetworkoperationalDatasetCommandParameterInfo); + InteractionInfo threadNetworkDirectoryaddNetworkInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveHue((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("moveMode") - , (Integer) - commandArguments.get("rate") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.ThreadNetworkDirectoryCluster) cluster) + .addNetwork((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("operationalDataset"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlmoveHueCommandParams + threadNetworkDirectoryaddNetworkCommandParams ); - colorControlClusterInteractionInfoMap.put("moveHue", colorControlmoveHueInteractionInfo); - - Map colorControlstepHueCommandParams = new LinkedHashMap(); - - CommandParameterInfo colorControlstepHuestepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); - colorControlstepHueCommandParams.put("stepMode",colorControlstepHuestepModeCommandParameterInfo); - - CommandParameterInfo colorControlstepHuestepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); - colorControlstepHueCommandParams.put("stepSize",colorControlstepHuestepSizeCommandParameterInfo); - - CommandParameterInfo colorControlstepHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlstepHueCommandParams.put("transitionTime",colorControlstepHuetransitionTimeCommandParameterInfo); + threadNetworkDirectoryClusterInteractionInfoMap.put("addNetwork", threadNetworkDirectoryaddNetworkInteractionInfo); - CommandParameterInfo colorControlstepHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlstepHueCommandParams.put("optionsMask",colorControlstepHueoptionsMaskCommandParameterInfo); + Map threadNetworkDirectoryremoveNetworkCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlstepHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlstepHueCommandParams.put("optionsOverride",colorControlstepHueoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlstepHueInteractionInfo = new InteractionInfo( + CommandParameterInfo threadNetworkDirectoryremoveNetworkextendedPanIDCommandParameterInfo = new CommandParameterInfo("extendedPanID", byte[].class, byte[].class); + threadNetworkDirectoryremoveNetworkCommandParams.put("extendedPanID",threadNetworkDirectoryremoveNetworkextendedPanIDCommandParameterInfo); + InteractionInfo threadNetworkDirectoryremoveNetworkInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .stepHue((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("stepMode") - , (Integer) - commandArguments.get("stepSize") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.ThreadNetworkDirectoryCluster) cluster) + .removeNetwork((DefaultClusterCallback) callback + , (byte[]) + commandArguments.get("extendedPanID"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlstepHueCommandParams + threadNetworkDirectoryremoveNetworkCommandParams ); - colorControlClusterInteractionInfoMap.put("stepHue", colorControlstepHueInteractionInfo); + threadNetworkDirectoryClusterInteractionInfoMap.put("removeNetwork", threadNetworkDirectoryremoveNetworkInteractionInfo); - Map colorControlmoveToSaturationCommandParams = new LinkedHashMap(); + Map threadNetworkDirectorygetOperationalDatasetCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlmoveToSaturationsaturationCommandParameterInfo = new CommandParameterInfo("saturation", Integer.class, Integer.class); - colorControlmoveToSaturationCommandParams.put("saturation",colorControlmoveToSaturationsaturationCommandParameterInfo); + CommandParameterInfo threadNetworkDirectorygetOperationalDatasetextendedPanIDCommandParameterInfo = new CommandParameterInfo("extendedPanID", byte[].class, byte[].class); + threadNetworkDirectorygetOperationalDatasetCommandParams.put("extendedPanID",threadNetworkDirectorygetOperationalDatasetextendedPanIDCommandParameterInfo); + InteractionInfo threadNetworkDirectorygetOperationalDatasetInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ThreadNetworkDirectoryCluster) cluster) + .getOperationalDataset((ChipClusters.ThreadNetworkDirectoryCluster.OperationalDatasetResponseCallback) callback + , (byte[]) + commandArguments.get("extendedPanID") - CommandParameterInfo colorControlmoveToSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlmoveToSaturationCommandParams.put("transitionTime",colorControlmoveToSaturationtransitionTimeCommandParameterInfo); + ); + }, + () -> new DelegatedThreadNetworkDirectoryClusterOperationalDatasetResponseCallback(), + threadNetworkDirectorygetOperationalDatasetCommandParams + ); + threadNetworkDirectoryClusterInteractionInfoMap.put("getOperationalDataset", threadNetworkDirectorygetOperationalDatasetInteractionInfo); - CommandParameterInfo colorControlmoveToSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveToSaturationCommandParams.put("optionsMask",colorControlmoveToSaturationoptionsMaskCommandParameterInfo); + commandMap.put("threadNetworkDirectory", threadNetworkDirectoryClusterInteractionInfoMap); - CommandParameterInfo colorControlmoveToSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveToSaturationCommandParams.put("optionsOverride",colorControlmoveToSaturationoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveToSaturationInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveToSaturation((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("saturation") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - colorControlmoveToSaturationCommandParams - ); - colorControlClusterInteractionInfoMap.put("moveToSaturation", colorControlmoveToSaturationInteractionInfo); + Map wakeOnLanClusterInteractionInfoMap = new LinkedHashMap<>(); - Map colorControlmoveSaturationCommandParams = new LinkedHashMap(); + commandMap.put("wakeOnLan", wakeOnLanClusterInteractionInfoMap); - CommandParameterInfo colorControlmoveSaturationmoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); - colorControlmoveSaturationCommandParams.put("moveMode",colorControlmoveSaturationmoveModeCommandParameterInfo); + Map channelClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo colorControlmoveSaturationrateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); - colorControlmoveSaturationCommandParams.put("rate",colorControlmoveSaturationrateCommandParameterInfo); + Map channelchangeChannelCommandParams = new LinkedHashMap(); + + CommandParameterInfo channelchangeChannelmatchCommandParameterInfo = new CommandParameterInfo("match", String.class, String.class); + channelchangeChannelCommandParams.put("match",channelchangeChannelmatchCommandParameterInfo); + InteractionInfo channelchangeChannelInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChannelCluster) cluster) + .changeChannel((ChipClusters.ChannelCluster.ChangeChannelResponseCallback) callback + , (String) + commandArguments.get("match") + + ); + }, + () -> new DelegatedChannelClusterChangeChannelResponseCallback(), + channelchangeChannelCommandParams + ); + channelClusterInteractionInfoMap.put("changeChannel", channelchangeChannelInteractionInfo); - CommandParameterInfo colorControlmoveSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveSaturationCommandParams.put("optionsMask",colorControlmoveSaturationoptionsMaskCommandParameterInfo); + Map channelchangeChannelByNumberCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlmoveSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveSaturationCommandParams.put("optionsOverride",colorControlmoveSaturationoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveSaturationInteractionInfo = new InteractionInfo( + CommandParameterInfo channelchangeChannelByNumbermajorNumberCommandParameterInfo = new CommandParameterInfo("majorNumber", Integer.class, Integer.class); + channelchangeChannelByNumberCommandParams.put("majorNumber",channelchangeChannelByNumbermajorNumberCommandParameterInfo); + + CommandParameterInfo channelchangeChannelByNumberminorNumberCommandParameterInfo = new CommandParameterInfo("minorNumber", Integer.class, Integer.class); + channelchangeChannelByNumberCommandParams.put("minorNumber",channelchangeChannelByNumberminorNumberCommandParameterInfo); + InteractionInfo channelchangeChannelByNumberInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveSaturation((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("moveMode") - , (Integer) - commandArguments.get("rate") + ((ChipClusters.ChannelCluster) cluster) + .changeChannelByNumber((DefaultClusterCallback) callback , (Integer) - commandArguments.get("optionsMask") + commandArguments.get("majorNumber") , (Integer) - commandArguments.get("optionsOverride") + commandArguments.get("minorNumber") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlmoveSaturationCommandParams + channelchangeChannelByNumberCommandParams ); - colorControlClusterInteractionInfoMap.put("moveSaturation", colorControlmoveSaturationInteractionInfo); - - Map colorControlstepSaturationCommandParams = new LinkedHashMap(); - - CommandParameterInfo colorControlstepSaturationstepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); - colorControlstepSaturationCommandParams.put("stepMode",colorControlstepSaturationstepModeCommandParameterInfo); - - CommandParameterInfo colorControlstepSaturationstepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); - colorControlstepSaturationCommandParams.put("stepSize",colorControlstepSaturationstepSizeCommandParameterInfo); - - CommandParameterInfo colorControlstepSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlstepSaturationCommandParams.put("transitionTime",colorControlstepSaturationtransitionTimeCommandParameterInfo); + channelClusterInteractionInfoMap.put("changeChannelByNumber", channelchangeChannelByNumberInteractionInfo); - CommandParameterInfo colorControlstepSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlstepSaturationCommandParams.put("optionsMask",colorControlstepSaturationoptionsMaskCommandParameterInfo); + Map channelskipChannelCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlstepSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlstepSaturationCommandParams.put("optionsOverride",colorControlstepSaturationoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlstepSaturationInteractionInfo = new InteractionInfo( + CommandParameterInfo channelskipChannelcountCommandParameterInfo = new CommandParameterInfo("count", Integer.class, Integer.class); + channelskipChannelCommandParams.put("count",channelskipChannelcountCommandParameterInfo); + InteractionInfo channelskipChannelInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .stepSaturation((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("stepMode") - , (Integer) - commandArguments.get("stepSize") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") + ((ChipClusters.ChannelCluster) cluster) + .skipChannel((DefaultClusterCallback) callback , (Integer) - commandArguments.get("optionsOverride") + commandArguments.get("count") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlstepSaturationCommandParams + channelskipChannelCommandParams ); - colorControlClusterInteractionInfoMap.put("stepSaturation", colorControlstepSaturationInteractionInfo); + channelClusterInteractionInfoMap.put("skipChannel", channelskipChannelInteractionInfo); - Map colorControlmoveToHueAndSaturationCommandParams = new LinkedHashMap(); + Map channelgetProgramGuideCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlmoveToHueAndSaturationhueCommandParameterInfo = new CommandParameterInfo("hue", Integer.class, Integer.class); - colorControlmoveToHueAndSaturationCommandParams.put("hue",colorControlmoveToHueAndSaturationhueCommandParameterInfo); + CommandParameterInfo channelgetProgramGuidestartTimeCommandParameterInfo = new CommandParameterInfo("startTime", Optional.class, Long.class); + channelgetProgramGuideCommandParams.put("startTime",channelgetProgramGuidestartTimeCommandParameterInfo); - CommandParameterInfo colorControlmoveToHueAndSaturationsaturationCommandParameterInfo = new CommandParameterInfo("saturation", Integer.class, Integer.class); - colorControlmoveToHueAndSaturationCommandParams.put("saturation",colorControlmoveToHueAndSaturationsaturationCommandParameterInfo); + CommandParameterInfo channelgetProgramGuideendTimeCommandParameterInfo = new CommandParameterInfo("endTime", Optional.class, Long.class); + channelgetProgramGuideCommandParams.put("endTime",channelgetProgramGuideendTimeCommandParameterInfo); - CommandParameterInfo colorControlmoveToHueAndSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlmoveToHueAndSaturationCommandParams.put("transitionTime",colorControlmoveToHueAndSaturationtransitionTimeCommandParameterInfo); - CommandParameterInfo colorControlmoveToHueAndSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveToHueAndSaturationCommandParams.put("optionsMask",colorControlmoveToHueAndSaturationoptionsMaskCommandParameterInfo); - CommandParameterInfo colorControlmoveToHueAndSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveToHueAndSaturationCommandParams.put("optionsOverride",colorControlmoveToHueAndSaturationoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveToHueAndSaturationInteractionInfo = new InteractionInfo( + CommandParameterInfo channelgetProgramGuiderecordingFlagCommandParameterInfo = new CommandParameterInfo("recordingFlag", Optional.class, Long.class); + channelgetProgramGuideCommandParams.put("recordingFlag",channelgetProgramGuiderecordingFlagCommandParameterInfo); + + + CommandParameterInfo channelgetProgramGuidedataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, byte[].class); + channelgetProgramGuideCommandParams.put("data",channelgetProgramGuidedataCommandParameterInfo); + InteractionInfo channelgetProgramGuideInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveToHueAndSaturation((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("hue") - , (Integer) - commandArguments.get("saturation") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - colorControlmoveToHueAndSaturationCommandParams - ); - colorControlClusterInteractionInfoMap.put("moveToHueAndSaturation", colorControlmoveToHueAndSaturationInteractionInfo); + ((ChipClusters.ChannelCluster) cluster) + .getProgramGuide((ChipClusters.ChannelCluster.ProgramGuideResponseCallback) callback + , (Optional) + commandArguments.get("startTime") - Map colorControlmoveToColorCommandParams = new LinkedHashMap(); + , (Optional) + commandArguments.get("endTime") - CommandParameterInfo colorControlmoveToColorcolorXCommandParameterInfo = new CommandParameterInfo("colorX", Integer.class, Integer.class); - colorControlmoveToColorCommandParams.put("colorX",colorControlmoveToColorcolorXCommandParameterInfo); + , (Optional>) + commandArguments.get("channelList") - CommandParameterInfo colorControlmoveToColorcolorYCommandParameterInfo = new CommandParameterInfo("colorY", Integer.class, Integer.class); - colorControlmoveToColorCommandParams.put("colorY",colorControlmoveToColorcolorYCommandParameterInfo); + , (Optional) + commandArguments.get("pageToken") - CommandParameterInfo colorControlmoveToColortransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlmoveToColorCommandParams.put("transitionTime",colorControlmoveToColortransitionTimeCommandParameterInfo); + , (Optional) + commandArguments.get("recordingFlag") - CommandParameterInfo colorControlmoveToColoroptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveToColorCommandParams.put("optionsMask",colorControlmoveToColoroptionsMaskCommandParameterInfo); + , (Optional>) + commandArguments.get("externalIDList") - CommandParameterInfo colorControlmoveToColoroptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveToColorCommandParams.put("optionsOverride",colorControlmoveToColoroptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveToColorInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveToColor((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("colorX") - , (Integer) - commandArguments.get("colorY") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - colorControlmoveToColorCommandParams - ); - colorControlClusterInteractionInfoMap.put("moveToColor", colorControlmoveToColorInteractionInfo); + , (Optional) + commandArguments.get("data") - Map colorControlmoveColorCommandParams = new LinkedHashMap(); + ); + }, + () -> new DelegatedChannelClusterProgramGuideResponseCallback(), + channelgetProgramGuideCommandParams + ); + channelClusterInteractionInfoMap.put("getProgramGuide", channelgetProgramGuideInteractionInfo); - CommandParameterInfo colorControlmoveColorrateXCommandParameterInfo = new CommandParameterInfo("rateX", Integer.class, Integer.class); - colorControlmoveColorCommandParams.put("rateX",colorControlmoveColorrateXCommandParameterInfo); + Map channelrecordProgramCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlmoveColorrateYCommandParameterInfo = new CommandParameterInfo("rateY", Integer.class, Integer.class); - colorControlmoveColorCommandParams.put("rateY",colorControlmoveColorrateYCommandParameterInfo); + CommandParameterInfo channelrecordProgramprogramIdentifierCommandParameterInfo = new CommandParameterInfo("programIdentifier", String.class, String.class); + channelrecordProgramCommandParams.put("programIdentifier",channelrecordProgramprogramIdentifierCommandParameterInfo); - CommandParameterInfo colorControlmoveColoroptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveColorCommandParams.put("optionsMask",colorControlmoveColoroptionsMaskCommandParameterInfo); + CommandParameterInfo channelrecordProgramshouldRecordSeriesCommandParameterInfo = new CommandParameterInfo("shouldRecordSeries", Boolean.class, Boolean.class); + channelrecordProgramCommandParams.put("shouldRecordSeries",channelrecordProgramshouldRecordSeriesCommandParameterInfo); - CommandParameterInfo colorControlmoveColoroptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveColorCommandParams.put("optionsOverride",colorControlmoveColoroptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveColorInteractionInfo = new InteractionInfo( + + CommandParameterInfo channelrecordProgramdataCommandParameterInfo = new CommandParameterInfo("data", byte[].class, byte[].class); + channelrecordProgramCommandParams.put("data",channelrecordProgramdataCommandParameterInfo); + InteractionInfo channelrecordProgramInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveColor((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("rateX") - , (Integer) - commandArguments.get("rateY") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.ChannelCluster) cluster) + .recordProgram((DefaultClusterCallback) callback + , (String) + commandArguments.get("programIdentifier") + , (Boolean) + commandArguments.get("shouldRecordSeries") + , (ArrayList) + commandArguments.get("externalIDList") + , (byte[]) + commandArguments.get("data") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlmoveColorCommandParams + channelrecordProgramCommandParams ); - colorControlClusterInteractionInfoMap.put("moveColor", colorControlmoveColorInteractionInfo); - - Map colorControlstepColorCommandParams = new LinkedHashMap(); + channelClusterInteractionInfoMap.put("recordProgram", channelrecordProgramInteractionInfo); - CommandParameterInfo colorControlstepColorstepXCommandParameterInfo = new CommandParameterInfo("stepX", Integer.class, Integer.class); - colorControlstepColorCommandParams.put("stepX",colorControlstepColorstepXCommandParameterInfo); + Map channelcancelRecordProgramCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlstepColorstepYCommandParameterInfo = new CommandParameterInfo("stepY", Integer.class, Integer.class); - colorControlstepColorCommandParams.put("stepY",colorControlstepColorstepYCommandParameterInfo); + CommandParameterInfo channelcancelRecordProgramprogramIdentifierCommandParameterInfo = new CommandParameterInfo("programIdentifier", String.class, String.class); + channelcancelRecordProgramCommandParams.put("programIdentifier",channelcancelRecordProgramprogramIdentifierCommandParameterInfo); - CommandParameterInfo colorControlstepColortransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlstepColorCommandParams.put("transitionTime",colorControlstepColortransitionTimeCommandParameterInfo); + CommandParameterInfo channelcancelRecordProgramshouldRecordSeriesCommandParameterInfo = new CommandParameterInfo("shouldRecordSeries", Boolean.class, Boolean.class); + channelcancelRecordProgramCommandParams.put("shouldRecordSeries",channelcancelRecordProgramshouldRecordSeriesCommandParameterInfo); - CommandParameterInfo colorControlstepColoroptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlstepColorCommandParams.put("optionsMask",colorControlstepColoroptionsMaskCommandParameterInfo); - CommandParameterInfo colorControlstepColoroptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlstepColorCommandParams.put("optionsOverride",colorControlstepColoroptionsOverrideCommandParameterInfo); - InteractionInfo colorControlstepColorInteractionInfo = new InteractionInfo( + CommandParameterInfo channelcancelRecordProgramdataCommandParameterInfo = new CommandParameterInfo("data", byte[].class, byte[].class); + channelcancelRecordProgramCommandParams.put("data",channelcancelRecordProgramdataCommandParameterInfo); + InteractionInfo channelcancelRecordProgramInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .stepColor((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("stepX") - , (Integer) - commandArguments.get("stepY") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.ChannelCluster) cluster) + .cancelRecordProgram((DefaultClusterCallback) callback + , (String) + commandArguments.get("programIdentifier") + , (Boolean) + commandArguments.get("shouldRecordSeries") + , (ArrayList) + commandArguments.get("externalIDList") + , (byte[]) + commandArguments.get("data") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlstepColorCommandParams + channelcancelRecordProgramCommandParams ); - colorControlClusterInteractionInfoMap.put("stepColor", colorControlstepColorInteractionInfo); + channelClusterInteractionInfoMap.put("cancelRecordProgram", channelcancelRecordProgramInteractionInfo); + + commandMap.put("channel", channelClusterInteractionInfoMap); + + Map targetNavigatorClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map targetNavigatornavigateTargetCommandParams = new LinkedHashMap(); - Map colorControlmoveToColorTemperatureCommandParams = new LinkedHashMap(); + CommandParameterInfo targetNavigatornavigateTargettargetCommandParameterInfo = new CommandParameterInfo("target", Integer.class, Integer.class); + targetNavigatornavigateTargetCommandParams.put("target",targetNavigatornavigateTargettargetCommandParameterInfo); - CommandParameterInfo colorControlmoveToColorTemperaturecolorTemperatureMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMireds", Integer.class, Integer.class); - colorControlmoveToColorTemperatureCommandParams.put("colorTemperatureMireds",colorControlmoveToColorTemperaturecolorTemperatureMiredsCommandParameterInfo); + CommandParameterInfo targetNavigatornavigateTargetdataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, String.class); + targetNavigatornavigateTargetCommandParams.put("data",targetNavigatornavigateTargetdataCommandParameterInfo); + InteractionInfo targetNavigatornavigateTargetInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.TargetNavigatorCluster) cluster) + .navigateTarget((ChipClusters.TargetNavigatorCluster.NavigateTargetResponseCallback) callback + , (Integer) + commandArguments.get("target") - CommandParameterInfo colorControlmoveToColorTemperaturetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlmoveToColorTemperatureCommandParams.put("transitionTime",colorControlmoveToColorTemperaturetransitionTimeCommandParameterInfo); + , (Optional) + commandArguments.get("data") - CommandParameterInfo colorControlmoveToColorTemperatureoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveToColorTemperatureCommandParams.put("optionsMask",colorControlmoveToColorTemperatureoptionsMaskCommandParameterInfo); + ); + }, + () -> new DelegatedTargetNavigatorClusterNavigateTargetResponseCallback(), + targetNavigatornavigateTargetCommandParams + ); + targetNavigatorClusterInteractionInfoMap.put("navigateTarget", targetNavigatornavigateTargetInteractionInfo); - CommandParameterInfo colorControlmoveToColorTemperatureoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveToColorTemperatureCommandParams.put("optionsOverride",colorControlmoveToColorTemperatureoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveToColorTemperatureInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveToColorTemperature((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("colorTemperatureMireds") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - colorControlmoveToColorTemperatureCommandParams - ); - colorControlClusterInteractionInfoMap.put("moveToColorTemperature", colorControlmoveToColorTemperatureInteractionInfo); + commandMap.put("targetNavigator", targetNavigatorClusterInteractionInfoMap); - Map colorControlenhancedMoveToHueCommandParams = new LinkedHashMap(); + Map mediaPlaybackClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo colorControlenhancedMoveToHueenhancedHueCommandParameterInfo = new CommandParameterInfo("enhancedHue", Integer.class, Integer.class); - colorControlenhancedMoveToHueCommandParams.put("enhancedHue",colorControlenhancedMoveToHueenhancedHueCommandParameterInfo); + Map mediaPlaybackplayCommandParams = new LinkedHashMap(); + InteractionInfo mediaPlaybackplayInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .play((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackplayCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("play", mediaPlaybackplayInteractionInfo); - CommandParameterInfo colorControlenhancedMoveToHuedirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); - colorControlenhancedMoveToHueCommandParams.put("direction",colorControlenhancedMoveToHuedirectionCommandParameterInfo); + Map mediaPlaybackpauseCommandParams = new LinkedHashMap(); + InteractionInfo mediaPlaybackpauseInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .pause((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackpauseCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("pause", mediaPlaybackpauseInteractionInfo); - CommandParameterInfo colorControlenhancedMoveToHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlenhancedMoveToHueCommandParams.put("transitionTime",colorControlenhancedMoveToHuetransitionTimeCommandParameterInfo); + Map mediaPlaybackstopCommandParams = new LinkedHashMap(); + InteractionInfo mediaPlaybackstopInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .stop((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackstopCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("stop", mediaPlaybackstopInteractionInfo); - CommandParameterInfo colorControlenhancedMoveToHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlenhancedMoveToHueCommandParams.put("optionsMask",colorControlenhancedMoveToHueoptionsMaskCommandParameterInfo); + Map mediaPlaybackstartOverCommandParams = new LinkedHashMap(); + InteractionInfo mediaPlaybackstartOverInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .startOver((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackstartOverCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("startOver", mediaPlaybackstartOverInteractionInfo); - CommandParameterInfo colorControlenhancedMoveToHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlenhancedMoveToHueCommandParams.put("optionsOverride",colorControlenhancedMoveToHueoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlenhancedMoveToHueInteractionInfo = new InteractionInfo( + Map mediaPlaybackpreviousCommandParams = new LinkedHashMap(); + InteractionInfo mediaPlaybackpreviousInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .enhancedMoveToHue((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("enhancedHue") - , (Integer) - commandArguments.get("direction") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - colorControlenhancedMoveToHueCommandParams - ); - colorControlClusterInteractionInfoMap.put("enhancedMoveToHue", colorControlenhancedMoveToHueInteractionInfo); + ((ChipClusters.MediaPlaybackCluster) cluster) + .previous((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackpreviousCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("previous", mediaPlaybackpreviousInteractionInfo); - Map colorControlenhancedMoveHueCommandParams = new LinkedHashMap(); + Map mediaPlaybacknextCommandParams = new LinkedHashMap(); + InteractionInfo mediaPlaybacknextInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .next((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybacknextCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("next", mediaPlaybacknextInteractionInfo); - CommandParameterInfo colorControlenhancedMoveHuemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); - colorControlenhancedMoveHueCommandParams.put("moveMode",colorControlenhancedMoveHuemoveModeCommandParameterInfo); + Map mediaPlaybackrewindCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlenhancedMoveHuerateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); - colorControlenhancedMoveHueCommandParams.put("rate",colorControlenhancedMoveHuerateCommandParameterInfo); + CommandParameterInfo mediaPlaybackrewindaudioAdvanceUnmutedCommandParameterInfo = new CommandParameterInfo("audioAdvanceUnmuted", Optional.class, Boolean.class); + mediaPlaybackrewindCommandParams.put("audioAdvanceUnmuted",mediaPlaybackrewindaudioAdvanceUnmutedCommandParameterInfo); + InteractionInfo mediaPlaybackrewindInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .rewind((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + , (Optional) + commandArguments.get("audioAdvanceUnmuted") - CommandParameterInfo colorControlenhancedMoveHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlenhancedMoveHueCommandParams.put("optionsMask",colorControlenhancedMoveHueoptionsMaskCommandParameterInfo); + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackrewindCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("rewind", mediaPlaybackrewindInteractionInfo); - CommandParameterInfo colorControlenhancedMoveHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlenhancedMoveHueCommandParams.put("optionsOverride",colorControlenhancedMoveHueoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlenhancedMoveHueInteractionInfo = new InteractionInfo( + Map mediaPlaybackfastForwardCommandParams = new LinkedHashMap(); + + CommandParameterInfo mediaPlaybackfastForwardaudioAdvanceUnmutedCommandParameterInfo = new CommandParameterInfo("audioAdvanceUnmuted", Optional.class, Boolean.class); + mediaPlaybackfastForwardCommandParams.put("audioAdvanceUnmuted",mediaPlaybackfastForwardaudioAdvanceUnmutedCommandParameterInfo); + InteractionInfo mediaPlaybackfastForwardInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .enhancedMoveHue((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("moveMode") - , (Integer) - commandArguments.get("rate") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - colorControlenhancedMoveHueCommandParams - ); - colorControlClusterInteractionInfoMap.put("enhancedMoveHue", colorControlenhancedMoveHueInteractionInfo); + ((ChipClusters.MediaPlaybackCluster) cluster) + .fastForward((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + , (Optional) + commandArguments.get("audioAdvanceUnmuted") - Map colorControlenhancedStepHueCommandParams = new LinkedHashMap(); + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackfastForwardCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("fastForward", mediaPlaybackfastForwardInteractionInfo); - CommandParameterInfo colorControlenhancedStepHuestepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); - colorControlenhancedStepHueCommandParams.put("stepMode",colorControlenhancedStepHuestepModeCommandParameterInfo); + Map mediaPlaybackskipForwardCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlenhancedStepHuestepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); - colorControlenhancedStepHueCommandParams.put("stepSize",colorControlenhancedStepHuestepSizeCommandParameterInfo); + CommandParameterInfo mediaPlaybackskipForwarddeltaPositionMillisecondsCommandParameterInfo = new CommandParameterInfo("deltaPositionMilliseconds", Long.class, Long.class); + mediaPlaybackskipForwardCommandParams.put("deltaPositionMilliseconds",mediaPlaybackskipForwarddeltaPositionMillisecondsCommandParameterInfo); + InteractionInfo mediaPlaybackskipForwardInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .skipForward((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + , (Long) + commandArguments.get("deltaPositionMilliseconds") - CommandParameterInfo colorControlenhancedStepHuetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlenhancedStepHueCommandParams.put("transitionTime",colorControlenhancedStepHuetransitionTimeCommandParameterInfo); + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackskipForwardCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("skipForward", mediaPlaybackskipForwardInteractionInfo); - CommandParameterInfo colorControlenhancedStepHueoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlenhancedStepHueCommandParams.put("optionsMask",colorControlenhancedStepHueoptionsMaskCommandParameterInfo); + Map mediaPlaybackskipBackwardCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlenhancedStepHueoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlenhancedStepHueCommandParams.put("optionsOverride",colorControlenhancedStepHueoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlenhancedStepHueInteractionInfo = new InteractionInfo( + CommandParameterInfo mediaPlaybackskipBackwarddeltaPositionMillisecondsCommandParameterInfo = new CommandParameterInfo("deltaPositionMilliseconds", Long.class, Long.class); + mediaPlaybackskipBackwardCommandParams.put("deltaPositionMilliseconds",mediaPlaybackskipBackwarddeltaPositionMillisecondsCommandParameterInfo); + InteractionInfo mediaPlaybackskipBackwardInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .enhancedStepHue((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("stepMode") - , (Integer) - commandArguments.get("stepSize") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") - ); - }, - () -> new DelegatedDefaultClusterCallback(), - colorControlenhancedStepHueCommandParams - ); - colorControlClusterInteractionInfoMap.put("enhancedStepHue", colorControlenhancedStepHueInteractionInfo); + ((ChipClusters.MediaPlaybackCluster) cluster) + .skipBackward((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + , (Long) + commandArguments.get("deltaPositionMilliseconds") + + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackskipBackwardCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("skipBackward", mediaPlaybackskipBackwardInteractionInfo); - Map colorControlenhancedMoveToHueAndSaturationCommandParams = new LinkedHashMap(); + Map mediaPlaybackseekCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlenhancedMoveToHueAndSaturationenhancedHueCommandParameterInfo = new CommandParameterInfo("enhancedHue", Integer.class, Integer.class); - colorControlenhancedMoveToHueAndSaturationCommandParams.put("enhancedHue",colorControlenhancedMoveToHueAndSaturationenhancedHueCommandParameterInfo); + CommandParameterInfo mediaPlaybackseekpositionCommandParameterInfo = new CommandParameterInfo("position", Long.class, Long.class); + mediaPlaybackseekCommandParams.put("position",mediaPlaybackseekpositionCommandParameterInfo); + InteractionInfo mediaPlaybackseekInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaPlaybackCluster) cluster) + .seek((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + , (Long) + commandArguments.get("position") - CommandParameterInfo colorControlenhancedMoveToHueAndSaturationsaturationCommandParameterInfo = new CommandParameterInfo("saturation", Integer.class, Integer.class); - colorControlenhancedMoveToHueAndSaturationCommandParams.put("saturation",colorControlenhancedMoveToHueAndSaturationsaturationCommandParameterInfo); + ); + }, + () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), + mediaPlaybackseekCommandParams + ); + mediaPlaybackClusterInteractionInfoMap.put("seek", mediaPlaybackseekInteractionInfo); - CommandParameterInfo colorControlenhancedMoveToHueAndSaturationtransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlenhancedMoveToHueAndSaturationCommandParams.put("transitionTime",colorControlenhancedMoveToHueAndSaturationtransitionTimeCommandParameterInfo); + Map mediaPlaybackactivateAudioTrackCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlenhancedMoveToHueAndSaturationoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlenhancedMoveToHueAndSaturationCommandParams.put("optionsMask",colorControlenhancedMoveToHueAndSaturationoptionsMaskCommandParameterInfo); + CommandParameterInfo mediaPlaybackactivateAudioTracktrackIDCommandParameterInfo = new CommandParameterInfo("trackID", String.class, String.class); + mediaPlaybackactivateAudioTrackCommandParams.put("trackID",mediaPlaybackactivateAudioTracktrackIDCommandParameterInfo); - CommandParameterInfo colorControlenhancedMoveToHueAndSaturationoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlenhancedMoveToHueAndSaturationCommandParams.put("optionsOverride",colorControlenhancedMoveToHueAndSaturationoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlenhancedMoveToHueAndSaturationInteractionInfo = new InteractionInfo( + CommandParameterInfo mediaPlaybackactivateAudioTrackaudioOutputIndexCommandParameterInfo = new CommandParameterInfo("audioOutputIndex", Integer.class, Integer.class); + mediaPlaybackactivateAudioTrackCommandParams.put("audioOutputIndex",mediaPlaybackactivateAudioTrackaudioOutputIndexCommandParameterInfo); + InteractionInfo mediaPlaybackactivateAudioTrackInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .enhancedMoveToHueAndSaturation((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("enhancedHue") - , (Integer) - commandArguments.get("saturation") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("optionsMask") + ((ChipClusters.MediaPlaybackCluster) cluster) + .activateAudioTrack((DefaultClusterCallback) callback + , (String) + commandArguments.get("trackID") , (Integer) - commandArguments.get("optionsOverride") + commandArguments.get("audioOutputIndex") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlenhancedMoveToHueAndSaturationCommandParams + mediaPlaybackactivateAudioTrackCommandParams ); - colorControlClusterInteractionInfoMap.put("enhancedMoveToHueAndSaturation", colorControlenhancedMoveToHueAndSaturationInteractionInfo); - - Map colorControlcolorLoopSetCommandParams = new LinkedHashMap(); - - CommandParameterInfo colorControlcolorLoopSetupdateFlagsCommandParameterInfo = new CommandParameterInfo("updateFlags", Integer.class, Integer.class); - colorControlcolorLoopSetCommandParams.put("updateFlags",colorControlcolorLoopSetupdateFlagsCommandParameterInfo); - - CommandParameterInfo colorControlcolorLoopSetactionCommandParameterInfo = new CommandParameterInfo("action", Integer.class, Integer.class); - colorControlcolorLoopSetCommandParams.put("action",colorControlcolorLoopSetactionCommandParameterInfo); - - CommandParameterInfo colorControlcolorLoopSetdirectionCommandParameterInfo = new CommandParameterInfo("direction", Integer.class, Integer.class); - colorControlcolorLoopSetCommandParams.put("direction",colorControlcolorLoopSetdirectionCommandParameterInfo); - - CommandParameterInfo colorControlcolorLoopSettimeCommandParameterInfo = new CommandParameterInfo("time", Integer.class, Integer.class); - colorControlcolorLoopSetCommandParams.put("time",colorControlcolorLoopSettimeCommandParameterInfo); - - CommandParameterInfo colorControlcolorLoopSetstartHueCommandParameterInfo = new CommandParameterInfo("startHue", Integer.class, Integer.class); - colorControlcolorLoopSetCommandParams.put("startHue",colorControlcolorLoopSetstartHueCommandParameterInfo); + mediaPlaybackClusterInteractionInfoMap.put("activateAudioTrack", mediaPlaybackactivateAudioTrackInteractionInfo); - CommandParameterInfo colorControlcolorLoopSetoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlcolorLoopSetCommandParams.put("optionsMask",colorControlcolorLoopSetoptionsMaskCommandParameterInfo); + Map mediaPlaybackactivateTextTrackCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlcolorLoopSetoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlcolorLoopSetCommandParams.put("optionsOverride",colorControlcolorLoopSetoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlcolorLoopSetInteractionInfo = new InteractionInfo( + CommandParameterInfo mediaPlaybackactivateTextTracktrackIDCommandParameterInfo = new CommandParameterInfo("trackID", String.class, String.class); + mediaPlaybackactivateTextTrackCommandParams.put("trackID",mediaPlaybackactivateTextTracktrackIDCommandParameterInfo); + InteractionInfo mediaPlaybackactivateTextTrackInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .colorLoopSet((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("updateFlags") - , (Integer) - commandArguments.get("action") - , (Integer) - commandArguments.get("direction") - , (Integer) - commandArguments.get("time") - , (Integer) - commandArguments.get("startHue") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.MediaPlaybackCluster) cluster) + .activateTextTrack((DefaultClusterCallback) callback + , (String) + commandArguments.get("trackID") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlcolorLoopSetCommandParams + mediaPlaybackactivateTextTrackCommandParams ); - colorControlClusterInteractionInfoMap.put("colorLoopSet", colorControlcolorLoopSetInteractionInfo); - - Map colorControlstopMoveStepCommandParams = new LinkedHashMap(); - - CommandParameterInfo colorControlstopMoveStepoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlstopMoveStepCommandParams.put("optionsMask",colorControlstopMoveStepoptionsMaskCommandParameterInfo); + mediaPlaybackClusterInteractionInfoMap.put("activateTextTrack", mediaPlaybackactivateTextTrackInteractionInfo); - CommandParameterInfo colorControlstopMoveStepoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlstopMoveStepCommandParams.put("optionsOverride",colorControlstopMoveStepoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlstopMoveStepInteractionInfo = new InteractionInfo( + Map mediaPlaybackdeactivateTextTrackCommandParams = new LinkedHashMap(); + InteractionInfo mediaPlaybackdeactivateTextTrackInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .stopMoveStep((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.MediaPlaybackCluster) cluster) + .deactivateTextTrack((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlstopMoveStepCommandParams + mediaPlaybackdeactivateTextTrackCommandParams ); - colorControlClusterInteractionInfoMap.put("stopMoveStep", colorControlstopMoveStepInteractionInfo); - - Map colorControlmoveColorTemperatureCommandParams = new LinkedHashMap(); - - CommandParameterInfo colorControlmoveColorTemperaturemoveModeCommandParameterInfo = new CommandParameterInfo("moveMode", Integer.class, Integer.class); - colorControlmoveColorTemperatureCommandParams.put("moveMode",colorControlmoveColorTemperaturemoveModeCommandParameterInfo); - - CommandParameterInfo colorControlmoveColorTemperaturerateCommandParameterInfo = new CommandParameterInfo("rate", Integer.class, Integer.class); - colorControlmoveColorTemperatureCommandParams.put("rate",colorControlmoveColorTemperaturerateCommandParameterInfo); + mediaPlaybackClusterInteractionInfoMap.put("deactivateTextTrack", mediaPlaybackdeactivateTextTrackInteractionInfo); - CommandParameterInfo colorControlmoveColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMinimumMireds", Integer.class, Integer.class); - colorControlmoveColorTemperatureCommandParams.put("colorTemperatureMinimumMireds",colorControlmoveColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo); + commandMap.put("mediaPlayback", mediaPlaybackClusterInteractionInfoMap); - CommandParameterInfo colorControlmoveColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMaximumMireds", Integer.class, Integer.class); - colorControlmoveColorTemperatureCommandParams.put("colorTemperatureMaximumMireds",colorControlmoveColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo); + Map mediaInputClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo colorControlmoveColorTemperatureoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlmoveColorTemperatureCommandParams.put("optionsMask",colorControlmoveColorTemperatureoptionsMaskCommandParameterInfo); + Map mediaInputselectInputCommandParams = new LinkedHashMap(); - CommandParameterInfo colorControlmoveColorTemperatureoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlmoveColorTemperatureCommandParams.put("optionsOverride",colorControlmoveColorTemperatureoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlmoveColorTemperatureInteractionInfo = new InteractionInfo( + CommandParameterInfo mediaInputselectInputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); + mediaInputselectInputCommandParams.put("index",mediaInputselectInputindexCommandParameterInfo); + InteractionInfo mediaInputselectInputInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .moveColorTemperature((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("moveMode") - , (Integer) - commandArguments.get("rate") - , (Integer) - commandArguments.get("colorTemperatureMinimumMireds") - , (Integer) - commandArguments.get("colorTemperatureMaximumMireds") - , (Integer) - commandArguments.get("optionsMask") + ((ChipClusters.MediaInputCluster) cluster) + .selectInput((DefaultClusterCallback) callback , (Integer) - commandArguments.get("optionsOverride") + commandArguments.get("index") ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlmoveColorTemperatureCommandParams + mediaInputselectInputCommandParams ); - colorControlClusterInteractionInfoMap.put("moveColorTemperature", colorControlmoveColorTemperatureInteractionInfo); - - Map colorControlstepColorTemperatureCommandParams = new LinkedHashMap(); - - CommandParameterInfo colorControlstepColorTemperaturestepModeCommandParameterInfo = new CommandParameterInfo("stepMode", Integer.class, Integer.class); - colorControlstepColorTemperatureCommandParams.put("stepMode",colorControlstepColorTemperaturestepModeCommandParameterInfo); - - CommandParameterInfo colorControlstepColorTemperaturestepSizeCommandParameterInfo = new CommandParameterInfo("stepSize", Integer.class, Integer.class); - colorControlstepColorTemperatureCommandParams.put("stepSize",colorControlstepColorTemperaturestepSizeCommandParameterInfo); - - CommandParameterInfo colorControlstepColorTemperaturetransitionTimeCommandParameterInfo = new CommandParameterInfo("transitionTime", Integer.class, Integer.class); - colorControlstepColorTemperatureCommandParams.put("transitionTime",colorControlstepColorTemperaturetransitionTimeCommandParameterInfo); - - CommandParameterInfo colorControlstepColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMinimumMireds", Integer.class, Integer.class); - colorControlstepColorTemperatureCommandParams.put("colorTemperatureMinimumMireds",colorControlstepColorTemperaturecolorTemperatureMinimumMiredsCommandParameterInfo); - - CommandParameterInfo colorControlstepColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo = new CommandParameterInfo("colorTemperatureMaximumMireds", Integer.class, Integer.class); - colorControlstepColorTemperatureCommandParams.put("colorTemperatureMaximumMireds",colorControlstepColorTemperaturecolorTemperatureMaximumMiredsCommandParameterInfo); - - CommandParameterInfo colorControlstepColorTemperatureoptionsMaskCommandParameterInfo = new CommandParameterInfo("optionsMask", Integer.class, Integer.class); - colorControlstepColorTemperatureCommandParams.put("optionsMask",colorControlstepColorTemperatureoptionsMaskCommandParameterInfo); + mediaInputClusterInteractionInfoMap.put("selectInput", mediaInputselectInputInteractionInfo); - CommandParameterInfo colorControlstepColorTemperatureoptionsOverrideCommandParameterInfo = new CommandParameterInfo("optionsOverride", Integer.class, Integer.class); - colorControlstepColorTemperatureCommandParams.put("optionsOverride",colorControlstepColorTemperatureoptionsOverrideCommandParameterInfo); - InteractionInfo colorControlstepColorTemperatureInteractionInfo = new InteractionInfo( + Map mediaInputshowInputStatusCommandParams = new LinkedHashMap(); + InteractionInfo mediaInputshowInputStatusInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ColorControlCluster) cluster) - .stepColorTemperature((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("stepMode") - , (Integer) - commandArguments.get("stepSize") - , (Integer) - commandArguments.get("transitionTime") - , (Integer) - commandArguments.get("colorTemperatureMinimumMireds") - , (Integer) - commandArguments.get("colorTemperatureMaximumMireds") - , (Integer) - commandArguments.get("optionsMask") - , (Integer) - commandArguments.get("optionsOverride") + ((ChipClusters.MediaInputCluster) cluster) + .showInputStatus((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - colorControlstepColorTemperatureCommandParams + mediaInputshowInputStatusCommandParams ); - colorControlClusterInteractionInfoMap.put("stepColorTemperature", colorControlstepColorTemperatureInteractionInfo); - - commandMap.put("colorControl", colorControlClusterInteractionInfoMap); - - Map ballastConfigurationClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("ballastConfiguration", ballastConfigurationClusterInteractionInfoMap); - - Map illuminanceMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("illuminanceMeasurement", illuminanceMeasurementClusterInteractionInfoMap); - - Map temperatureMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("temperatureMeasurement", temperatureMeasurementClusterInteractionInfoMap); - - Map pressureMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("pressureMeasurement", pressureMeasurementClusterInteractionInfoMap); - - Map flowMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - - commandMap.put("flowMeasurement", flowMeasurementClusterInteractionInfoMap); - - Map relativeHumidityMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + mediaInputClusterInteractionInfoMap.put("showInputStatus", mediaInputshowInputStatusInteractionInfo); - commandMap.put("relativeHumidityMeasurement", relativeHumidityMeasurementClusterInteractionInfoMap); + Map mediaInputhideInputStatusCommandParams = new LinkedHashMap(); + InteractionInfo mediaInputhideInputStatusInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaInputCluster) cluster) + .hideInputStatus((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + mediaInputhideInputStatusCommandParams + ); + mediaInputClusterInteractionInfoMap.put("hideInputStatus", mediaInputhideInputStatusInteractionInfo); - Map occupancySensingClusterInteractionInfoMap = new LinkedHashMap<>(); + Map mediaInputrenameInputCommandParams = new LinkedHashMap(); - commandMap.put("occupancySensing", occupancySensingClusterInteractionInfoMap); + CommandParameterInfo mediaInputrenameInputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); + mediaInputrenameInputCommandParams.put("index",mediaInputrenameInputindexCommandParameterInfo); - Map carbonMonoxideConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo mediaInputrenameInputnameCommandParameterInfo = new CommandParameterInfo("name", String.class, String.class); + mediaInputrenameInputCommandParams.put("name",mediaInputrenameInputnameCommandParameterInfo); + InteractionInfo mediaInputrenameInputInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.MediaInputCluster) cluster) + .renameInput((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("index") + , (String) + commandArguments.get("name") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + mediaInputrenameInputCommandParams + ); + mediaInputClusterInteractionInfoMap.put("renameInput", mediaInputrenameInputInteractionInfo); - commandMap.put("carbonMonoxideConcentrationMeasurement", carbonMonoxideConcentrationMeasurementClusterInteractionInfoMap); + commandMap.put("mediaInput", mediaInputClusterInteractionInfoMap); - Map carbonDioxideConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + Map lowPowerClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("carbonDioxideConcentrationMeasurement", carbonDioxideConcentrationMeasurementClusterInteractionInfoMap); + Map lowPowersleepCommandParams = new LinkedHashMap(); + InteractionInfo lowPowersleepInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.LowPowerCluster) cluster) + .sleep((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + lowPowersleepCommandParams + ); + lowPowerClusterInteractionInfoMap.put("sleep", lowPowersleepInteractionInfo); - Map nitrogenDioxideConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + commandMap.put("lowPower", lowPowerClusterInteractionInfoMap); - commandMap.put("nitrogenDioxideConcentrationMeasurement", nitrogenDioxideConcentrationMeasurementClusterInteractionInfoMap); + Map keypadInputClusterInteractionInfoMap = new LinkedHashMap<>(); - Map ozoneConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + Map keypadInputsendKeyCommandParams = new LinkedHashMap(); - commandMap.put("ozoneConcentrationMeasurement", ozoneConcentrationMeasurementClusterInteractionInfoMap); + CommandParameterInfo keypadInputsendKeykeyCodeCommandParameterInfo = new CommandParameterInfo("keyCode", Integer.class, Integer.class); + keypadInputsendKeyCommandParams.put("keyCode",keypadInputsendKeykeyCodeCommandParameterInfo); + InteractionInfo keypadInputsendKeyInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.KeypadInputCluster) cluster) + .sendKey((ChipClusters.KeypadInputCluster.SendKeyResponseCallback) callback + , (Integer) + commandArguments.get("keyCode") - Map pm25ConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + ); + }, + () -> new DelegatedKeypadInputClusterSendKeyResponseCallback(), + keypadInputsendKeyCommandParams + ); + keypadInputClusterInteractionInfoMap.put("sendKey", keypadInputsendKeyInteractionInfo); - commandMap.put("pm25ConcentrationMeasurement", pm25ConcentrationMeasurementClusterInteractionInfoMap); + commandMap.put("keypadInput", keypadInputClusterInteractionInfoMap); - Map formaldehydeConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + Map contentLauncherClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("formaldehydeConcentrationMeasurement", formaldehydeConcentrationMeasurementClusterInteractionInfoMap); + Map contentLauncherlaunchContentCommandParams = new LinkedHashMap(); - Map pm1ConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("pm1ConcentrationMeasurement", pm1ConcentrationMeasurementClusterInteractionInfoMap); + CommandParameterInfo contentLauncherlaunchContentautoPlayCommandParameterInfo = new CommandParameterInfo("autoPlay", Boolean.class, Boolean.class); + contentLauncherlaunchContentCommandParams.put("autoPlay",contentLauncherlaunchContentautoPlayCommandParameterInfo); - Map pm10ConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo contentLauncherlaunchContentdataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, String.class); + contentLauncherlaunchContentCommandParams.put("data",contentLauncherlaunchContentdataCommandParameterInfo); - commandMap.put("pm10ConcentrationMeasurement", pm10ConcentrationMeasurementClusterInteractionInfoMap); - Map totalVolatileOrganicCompoundsConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo contentLauncherlaunchContentuseCurrentContextCommandParameterInfo = new CommandParameterInfo("useCurrentContext", Optional.class, Boolean.class); + contentLauncherlaunchContentCommandParams.put("useCurrentContext",contentLauncherlaunchContentuseCurrentContextCommandParameterInfo); + InteractionInfo contentLauncherlaunchContentInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentLauncherCluster) cluster) + .launchContent((ChipClusters.ContentLauncherCluster.LauncherResponseCallback) callback + , (ChipStructs.ContentLauncherClusterContentSearchStruct) + commandArguments.get("search") - commandMap.put("totalVolatileOrganicCompoundsConcentrationMeasurement", totalVolatileOrganicCompoundsConcentrationMeasurementClusterInteractionInfoMap); + , (Boolean) + commandArguments.get("autoPlay") - Map radonConcentrationMeasurementClusterInteractionInfoMap = new LinkedHashMap<>(); + , (Optional) + commandArguments.get("data") - commandMap.put("radonConcentrationMeasurement", radonConcentrationMeasurementClusterInteractionInfoMap); + , (Optional) + commandArguments.get("playbackPreferences") - Map wiFiNetworkManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + , (Optional) + commandArguments.get("useCurrentContext") - Map wiFiNetworkManagementnetworkPassphraseRequestCommandParams = new LinkedHashMap(); - InteractionInfo wiFiNetworkManagementnetworkPassphraseRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.WiFiNetworkManagementCluster) cluster) - .networkPassphraseRequest((ChipClusters.WiFiNetworkManagementCluster.NetworkPassphraseResponseCallback) callback ); }, - () -> new DelegatedWiFiNetworkManagementClusterNetworkPassphraseResponseCallback(), - wiFiNetworkManagementnetworkPassphraseRequestCommandParams + () -> new DelegatedContentLauncherClusterLauncherResponseCallback(), + contentLauncherlaunchContentCommandParams ); - wiFiNetworkManagementClusterInteractionInfoMap.put("networkPassphraseRequest", wiFiNetworkManagementnetworkPassphraseRequestInteractionInfo); + contentLauncherClusterInteractionInfoMap.put("launchContent", contentLauncherlaunchContentInteractionInfo); - commandMap.put("wiFiNetworkManagement", wiFiNetworkManagementClusterInteractionInfoMap); + Map contentLauncherlaunchURLCommandParams = new LinkedHashMap(); - Map threadBorderRouterManagementClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo contentLauncherlaunchURLcontentURLCommandParameterInfo = new CommandParameterInfo("contentURL", String.class, String.class); + contentLauncherlaunchURLCommandParams.put("contentURL",contentLauncherlaunchURLcontentURLCommandParameterInfo); - Map threadBorderRouterManagementgetActiveDatasetRequestCommandParams = new LinkedHashMap(); - InteractionInfo threadBorderRouterManagementgetActiveDatasetRequestInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) - .getActiveDatasetRequest((ChipClusters.ThreadBorderRouterManagementCluster.DatasetResponseCallback) callback - ); - }, - () -> new DelegatedThreadBorderRouterManagementClusterDatasetResponseCallback(), - threadBorderRouterManagementgetActiveDatasetRequestCommandParams - ); - threadBorderRouterManagementClusterInteractionInfoMap.put("getActiveDatasetRequest", threadBorderRouterManagementgetActiveDatasetRequestInteractionInfo); + CommandParameterInfo contentLauncherlaunchURLdisplayStringCommandParameterInfo = new CommandParameterInfo("displayString", Optional.class, String.class); + contentLauncherlaunchURLCommandParams.put("displayString",contentLauncherlaunchURLdisplayStringCommandParameterInfo); - Map threadBorderRouterManagementgetPendingDatasetRequestCommandParams = new LinkedHashMap(); - InteractionInfo threadBorderRouterManagementgetPendingDatasetRequestInteractionInfo = new InteractionInfo( + InteractionInfo contentLauncherlaunchURLInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) - .getPendingDatasetRequest((ChipClusters.ThreadBorderRouterManagementCluster.DatasetResponseCallback) callback + ((ChipClusters.ContentLauncherCluster) cluster) + .launchURL((ChipClusters.ContentLauncherCluster.LauncherResponseCallback) callback + , (String) + commandArguments.get("contentURL") + + , (Optional) + commandArguments.get("displayString") + + , (Optional) + commandArguments.get("brandingInformation") + ); }, - () -> new DelegatedThreadBorderRouterManagementClusterDatasetResponseCallback(), - threadBorderRouterManagementgetPendingDatasetRequestCommandParams + () -> new DelegatedContentLauncherClusterLauncherResponseCallback(), + contentLauncherlaunchURLCommandParams ); - threadBorderRouterManagementClusterInteractionInfoMap.put("getPendingDatasetRequest", threadBorderRouterManagementgetPendingDatasetRequestInteractionInfo); + contentLauncherClusterInteractionInfoMap.put("launchURL", contentLauncherlaunchURLInteractionInfo); - Map threadBorderRouterManagementsetActiveDatasetRequestCommandParams = new LinkedHashMap(); + commandMap.put("contentLauncher", contentLauncherClusterInteractionInfoMap); - CommandParameterInfo threadBorderRouterManagementsetActiveDatasetRequestactiveDatasetCommandParameterInfo = new CommandParameterInfo("activeDataset", byte[].class, byte[].class); - threadBorderRouterManagementsetActiveDatasetRequestCommandParams.put("activeDataset",threadBorderRouterManagementsetActiveDatasetRequestactiveDatasetCommandParameterInfo); + Map audioOutputClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo threadBorderRouterManagementsetActiveDatasetRequestbreadcrumbCommandParameterInfo = new CommandParameterInfo("breadcrumb", Optional.class, Long.class); - threadBorderRouterManagementsetActiveDatasetRequestCommandParams.put("breadcrumb",threadBorderRouterManagementsetActiveDatasetRequestbreadcrumbCommandParameterInfo); - InteractionInfo threadBorderRouterManagementsetActiveDatasetRequestInteractionInfo = new InteractionInfo( + Map audioOutputselectOutputCommandParams = new LinkedHashMap(); + + CommandParameterInfo audioOutputselectOutputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); + audioOutputselectOutputCommandParams.put("index",audioOutputselectOutputindexCommandParameterInfo); + InteractionInfo audioOutputselectOutputInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) - .setActiveDatasetRequest((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("activeDataset") - , (Optional) - commandArguments.get("breadcrumb") + ((ChipClusters.AudioOutputCluster) cluster) + .selectOutput((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("index") ); }, () -> new DelegatedDefaultClusterCallback(), - threadBorderRouterManagementsetActiveDatasetRequestCommandParams + audioOutputselectOutputCommandParams ); - threadBorderRouterManagementClusterInteractionInfoMap.put("setActiveDatasetRequest", threadBorderRouterManagementsetActiveDatasetRequestInteractionInfo); + audioOutputClusterInteractionInfoMap.put("selectOutput", audioOutputselectOutputInteractionInfo); - Map threadBorderRouterManagementsetPendingDatasetRequestCommandParams = new LinkedHashMap(); + Map audioOutputrenameOutputCommandParams = new LinkedHashMap(); - CommandParameterInfo threadBorderRouterManagementsetPendingDatasetRequestpendingDatasetCommandParameterInfo = new CommandParameterInfo("pendingDataset", byte[].class, byte[].class); - threadBorderRouterManagementsetPendingDatasetRequestCommandParams.put("pendingDataset",threadBorderRouterManagementsetPendingDatasetRequestpendingDatasetCommandParameterInfo); - InteractionInfo threadBorderRouterManagementsetPendingDatasetRequestInteractionInfo = new InteractionInfo( + CommandParameterInfo audioOutputrenameOutputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); + audioOutputrenameOutputCommandParams.put("index",audioOutputrenameOutputindexCommandParameterInfo); + + CommandParameterInfo audioOutputrenameOutputnameCommandParameterInfo = new CommandParameterInfo("name", String.class, String.class); + audioOutputrenameOutputCommandParams.put("name",audioOutputrenameOutputnameCommandParameterInfo); + InteractionInfo audioOutputrenameOutputInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadBorderRouterManagementCluster) cluster) - .setPendingDatasetRequest((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("pendingDataset") + ((ChipClusters.AudioOutputCluster) cluster) + .renameOutput((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("index") + , (String) + commandArguments.get("name") ); }, () -> new DelegatedDefaultClusterCallback(), - threadBorderRouterManagementsetPendingDatasetRequestCommandParams + audioOutputrenameOutputCommandParams ); - threadBorderRouterManagementClusterInteractionInfoMap.put("setPendingDatasetRequest", threadBorderRouterManagementsetPendingDatasetRequestInteractionInfo); + audioOutputClusterInteractionInfoMap.put("renameOutput", audioOutputrenameOutputInteractionInfo); - commandMap.put("threadBorderRouterManagement", threadBorderRouterManagementClusterInteractionInfoMap); + commandMap.put("audioOutput", audioOutputClusterInteractionInfoMap); - Map threadNetworkDirectoryClusterInteractionInfoMap = new LinkedHashMap<>(); + Map applicationLauncherClusterInteractionInfoMap = new LinkedHashMap<>(); - Map threadNetworkDirectoryaddNetworkCommandParams = new LinkedHashMap(); + Map applicationLauncherlaunchAppCommandParams = new LinkedHashMap(); - CommandParameterInfo threadNetworkDirectoryaddNetworkoperationalDatasetCommandParameterInfo = new CommandParameterInfo("operationalDataset", byte[].class, byte[].class); - threadNetworkDirectoryaddNetworkCommandParams.put("operationalDataset",threadNetworkDirectoryaddNetworkoperationalDatasetCommandParameterInfo); - InteractionInfo threadNetworkDirectoryaddNetworkInteractionInfo = new InteractionInfo( + + CommandParameterInfo applicationLauncherlaunchAppdataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, byte[].class); + applicationLauncherlaunchAppCommandParams.put("data",applicationLauncherlaunchAppdataCommandParameterInfo); + InteractionInfo applicationLauncherlaunchAppInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadNetworkDirectoryCluster) cluster) - .addNetwork((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("operationalDataset"), 10000 - ); - }, - () -> new DelegatedDefaultClusterCallback(), - threadNetworkDirectoryaddNetworkCommandParams - ); - threadNetworkDirectoryClusterInteractionInfoMap.put("addNetwork", threadNetworkDirectoryaddNetworkInteractionInfo); + ((ChipClusters.ApplicationLauncherCluster) cluster) + .launchApp((ChipClusters.ApplicationLauncherCluster.LauncherResponseCallback) callback + , (Optional) + commandArguments.get("application") - Map threadNetworkDirectoryremoveNetworkCommandParams = new LinkedHashMap(); + , (Optional) + commandArguments.get("data") - CommandParameterInfo threadNetworkDirectoryremoveNetworkextendedPanIDCommandParameterInfo = new CommandParameterInfo("extendedPanID", byte[].class, byte[].class); - threadNetworkDirectoryremoveNetworkCommandParams.put("extendedPanID",threadNetworkDirectoryremoveNetworkextendedPanIDCommandParameterInfo); - InteractionInfo threadNetworkDirectoryremoveNetworkInteractionInfo = new InteractionInfo( + ); + }, + () -> new DelegatedApplicationLauncherClusterLauncherResponseCallback(), + applicationLauncherlaunchAppCommandParams + ); + applicationLauncherClusterInteractionInfoMap.put("launchApp", applicationLauncherlaunchAppInteractionInfo); + + Map applicationLauncherstopAppCommandParams = new LinkedHashMap(); + + InteractionInfo applicationLauncherstopAppInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadNetworkDirectoryCluster) cluster) - .removeNetwork((DefaultClusterCallback) callback - , (byte[]) - commandArguments.get("extendedPanID"), 10000 - ); - }, - () -> new DelegatedDefaultClusterCallback(), - threadNetworkDirectoryremoveNetworkCommandParams - ); - threadNetworkDirectoryClusterInteractionInfoMap.put("removeNetwork", threadNetworkDirectoryremoveNetworkInteractionInfo); + ((ChipClusters.ApplicationLauncherCluster) cluster) + .stopApp((ChipClusters.ApplicationLauncherCluster.LauncherResponseCallback) callback + , (Optional) + commandArguments.get("application") + + ); + }, + () -> new DelegatedApplicationLauncherClusterLauncherResponseCallback(), + applicationLauncherstopAppCommandParams + ); + applicationLauncherClusterInteractionInfoMap.put("stopApp", applicationLauncherstopAppInteractionInfo); - Map threadNetworkDirectorygetOperationalDatasetCommandParams = new LinkedHashMap(); + Map applicationLauncherhideAppCommandParams = new LinkedHashMap(); - CommandParameterInfo threadNetworkDirectorygetOperationalDatasetextendedPanIDCommandParameterInfo = new CommandParameterInfo("extendedPanID", byte[].class, byte[].class); - threadNetworkDirectorygetOperationalDatasetCommandParams.put("extendedPanID",threadNetworkDirectorygetOperationalDatasetextendedPanIDCommandParameterInfo); - InteractionInfo threadNetworkDirectorygetOperationalDatasetInteractionInfo = new InteractionInfo( + InteractionInfo applicationLauncherhideAppInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ThreadNetworkDirectoryCluster) cluster) - .getOperationalDataset((ChipClusters.ThreadNetworkDirectoryCluster.OperationalDatasetResponseCallback) callback - , (byte[]) - commandArguments.get("extendedPanID") + ((ChipClusters.ApplicationLauncherCluster) cluster) + .hideApp((ChipClusters.ApplicationLauncherCluster.LauncherResponseCallback) callback + , (Optional) + commandArguments.get("application") ); }, - () -> new DelegatedThreadNetworkDirectoryClusterOperationalDatasetResponseCallback(), - threadNetworkDirectorygetOperationalDatasetCommandParams + () -> new DelegatedApplicationLauncherClusterLauncherResponseCallback(), + applicationLauncherhideAppCommandParams ); - threadNetworkDirectoryClusterInteractionInfoMap.put("getOperationalDataset", threadNetworkDirectorygetOperationalDatasetInteractionInfo); + applicationLauncherClusterInteractionInfoMap.put("hideApp", applicationLauncherhideAppInteractionInfo); - commandMap.put("threadNetworkDirectory", threadNetworkDirectoryClusterInteractionInfoMap); + commandMap.put("applicationLauncher", applicationLauncherClusterInteractionInfoMap); - Map wakeOnLanClusterInteractionInfoMap = new LinkedHashMap<>(); + Map applicationBasicClusterInteractionInfoMap = new LinkedHashMap<>(); - commandMap.put("wakeOnLan", wakeOnLanClusterInteractionInfoMap); + commandMap.put("applicationBasic", applicationBasicClusterInteractionInfoMap); - Map channelClusterInteractionInfoMap = new LinkedHashMap<>(); + Map accountLoginClusterInteractionInfoMap = new LinkedHashMap<>(); - Map channelchangeChannelCommandParams = new LinkedHashMap(); + Map accountLogingetSetupPINCommandParams = new LinkedHashMap(); - CommandParameterInfo channelchangeChannelmatchCommandParameterInfo = new CommandParameterInfo("match", String.class, String.class); - channelchangeChannelCommandParams.put("match",channelchangeChannelmatchCommandParameterInfo); - InteractionInfo channelchangeChannelInteractionInfo = new InteractionInfo( + CommandParameterInfo accountLogingetSetupPINtempAccountIdentifierCommandParameterInfo = new CommandParameterInfo("tempAccountIdentifier", String.class, String.class); + accountLogingetSetupPINCommandParams.put("tempAccountIdentifier",accountLogingetSetupPINtempAccountIdentifierCommandParameterInfo); + InteractionInfo accountLogingetSetupPINInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ChannelCluster) cluster) - .changeChannel((ChipClusters.ChannelCluster.ChangeChannelResponseCallback) callback + ((ChipClusters.AccountLoginCluster) cluster) + .getSetupPIN((ChipClusters.AccountLoginCluster.GetSetupPINResponseCallback) callback , (String) - commandArguments.get("match") + commandArguments.get("tempAccountIdentifier") - ); + , 10000); }, - () -> new DelegatedChannelClusterChangeChannelResponseCallback(), - channelchangeChannelCommandParams + () -> new DelegatedAccountLoginClusterGetSetupPINResponseCallback(), + accountLogingetSetupPINCommandParams ); - channelClusterInteractionInfoMap.put("changeChannel", channelchangeChannelInteractionInfo); + accountLoginClusterInteractionInfoMap.put("getSetupPIN", accountLogingetSetupPINInteractionInfo); - Map channelchangeChannelByNumberCommandParams = new LinkedHashMap(); + Map accountLoginloginCommandParams = new LinkedHashMap(); - CommandParameterInfo channelchangeChannelByNumbermajorNumberCommandParameterInfo = new CommandParameterInfo("majorNumber", Integer.class, Integer.class); - channelchangeChannelByNumberCommandParams.put("majorNumber",channelchangeChannelByNumbermajorNumberCommandParameterInfo); + CommandParameterInfo accountLoginlogintempAccountIdentifierCommandParameterInfo = new CommandParameterInfo("tempAccountIdentifier", String.class, String.class); + accountLoginloginCommandParams.put("tempAccountIdentifier",accountLoginlogintempAccountIdentifierCommandParameterInfo); - CommandParameterInfo channelchangeChannelByNumberminorNumberCommandParameterInfo = new CommandParameterInfo("minorNumber", Integer.class, Integer.class); - channelchangeChannelByNumberCommandParams.put("minorNumber",channelchangeChannelByNumberminorNumberCommandParameterInfo); - InteractionInfo channelchangeChannelByNumberInteractionInfo = new InteractionInfo( + CommandParameterInfo accountLoginloginsetupPINCommandParameterInfo = new CommandParameterInfo("setupPIN", String.class, String.class); + accountLoginloginCommandParams.put("setupPIN",accountLoginloginsetupPINCommandParameterInfo); + + CommandParameterInfo accountLoginloginnodeCommandParameterInfo = new CommandParameterInfo("node", Optional.class, Long.class); + accountLoginloginCommandParams.put("node",accountLoginloginnodeCommandParameterInfo); + InteractionInfo accountLoginloginInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ChannelCluster) cluster) - .changeChannelByNumber((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("majorNumber") - , (Integer) - commandArguments.get("minorNumber") + ((ChipClusters.AccountLoginCluster) cluster) + .login((DefaultClusterCallback) callback + , (String) + commandArguments.get("tempAccountIdentifier") + , (String) + commandArguments.get("setupPIN") + , (Optional) + commandArguments.get("node"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - channelchangeChannelByNumberCommandParams + accountLoginloginCommandParams ); - channelClusterInteractionInfoMap.put("changeChannelByNumber", channelchangeChannelByNumberInteractionInfo); + accountLoginClusterInteractionInfoMap.put("login", accountLoginloginInteractionInfo); - Map channelskipChannelCommandParams = new LinkedHashMap(); + Map accountLoginlogoutCommandParams = new LinkedHashMap(); - CommandParameterInfo channelskipChannelcountCommandParameterInfo = new CommandParameterInfo("count", Integer.class, Integer.class); - channelskipChannelCommandParams.put("count",channelskipChannelcountCommandParameterInfo); - InteractionInfo channelskipChannelInteractionInfo = new InteractionInfo( + CommandParameterInfo accountLoginlogoutnodeCommandParameterInfo = new CommandParameterInfo("node", Optional.class, Long.class); + accountLoginlogoutCommandParams.put("node",accountLoginlogoutnodeCommandParameterInfo); + InteractionInfo accountLoginlogoutInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ChannelCluster) cluster) - .skipChannel((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("count") + ((ChipClusters.AccountLoginCluster) cluster) + .logout((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("node"), 10000 ); }, () -> new DelegatedDefaultClusterCallback(), - channelskipChannelCommandParams + accountLoginlogoutCommandParams ); - channelClusterInteractionInfoMap.put("skipChannel", channelskipChannelInteractionInfo); - - Map channelgetProgramGuideCommandParams = new LinkedHashMap(); - - CommandParameterInfo channelgetProgramGuidestartTimeCommandParameterInfo = new CommandParameterInfo("startTime", Optional.class, Long.class); - channelgetProgramGuideCommandParams.put("startTime",channelgetProgramGuidestartTimeCommandParameterInfo); - - CommandParameterInfo channelgetProgramGuideendTimeCommandParameterInfo = new CommandParameterInfo("endTime", Optional.class, Long.class); - channelgetProgramGuideCommandParams.put("endTime",channelgetProgramGuideendTimeCommandParameterInfo); + accountLoginClusterInteractionInfoMap.put("logout", accountLoginlogoutInteractionInfo); + commandMap.put("accountLogin", accountLoginClusterInteractionInfoMap); + Map contentControlClusterInteractionInfoMap = new LinkedHashMap<>(); - CommandParameterInfo channelgetProgramGuiderecordingFlagCommandParameterInfo = new CommandParameterInfo("recordingFlag", Optional.class, Long.class); - channelgetProgramGuideCommandParams.put("recordingFlag",channelgetProgramGuiderecordingFlagCommandParameterInfo); + Map contentControlupdatePINCommandParams = new LinkedHashMap(); + CommandParameterInfo contentControlupdatePINoldPINCommandParameterInfo = new CommandParameterInfo("oldPIN", Optional.class, String.class); + contentControlupdatePINCommandParams.put("oldPIN",contentControlupdatePINoldPINCommandParameterInfo); - CommandParameterInfo channelgetProgramGuidedataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, byte[].class); - channelgetProgramGuideCommandParams.put("data",channelgetProgramGuidedataCommandParameterInfo); - InteractionInfo channelgetProgramGuideInteractionInfo = new InteractionInfo( + CommandParameterInfo contentControlupdatePINnewPINCommandParameterInfo = new CommandParameterInfo("newPIN", String.class, String.class); + contentControlupdatePINCommandParams.put("newPIN",contentControlupdatePINnewPINCommandParameterInfo); + InteractionInfo contentControlupdatePINInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ChannelCluster) cluster) - .getProgramGuide((ChipClusters.ChannelCluster.ProgramGuideResponseCallback) callback - , (Optional) - commandArguments.get("startTime") + ((ChipClusters.ContentControlCluster) cluster) + .updatePIN((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("oldPIN") + , (String) + commandArguments.get("newPIN") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + contentControlupdatePINCommandParams + ); + contentControlClusterInteractionInfoMap.put("updatePIN", contentControlupdatePINInteractionInfo); - , (Optional) - commandArguments.get("endTime") + Map contentControlresetPINCommandParams = new LinkedHashMap(); + InteractionInfo contentControlresetPINInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentControlCluster) cluster) + .resetPIN((ChipClusters.ContentControlCluster.ResetPINResponseCallback) callback + ); + }, + () -> new DelegatedContentControlClusterResetPINResponseCallback(), + contentControlresetPINCommandParams + ); + contentControlClusterInteractionInfoMap.put("resetPIN", contentControlresetPINInteractionInfo); - , (Optional>) - commandArguments.get("channelList") + Map contentControlenableCommandParams = new LinkedHashMap(); + InteractionInfo contentControlenableInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentControlCluster) cluster) + .enable((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + contentControlenableCommandParams + ); + contentControlClusterInteractionInfoMap.put("enable", contentControlenableInteractionInfo); - , (Optional) - commandArguments.get("pageToken") + Map contentControldisableCommandParams = new LinkedHashMap(); + InteractionInfo contentControldisableInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentControlCluster) cluster) + .disable((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + contentControldisableCommandParams + ); + contentControlClusterInteractionInfoMap.put("disable", contentControldisableInteractionInfo); - , (Optional) - commandArguments.get("recordingFlag") + Map contentControladdBonusTimeCommandParams = new LinkedHashMap(); - , (Optional>) - commandArguments.get("externalIDList") + CommandParameterInfo contentControladdBonusTimePINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, String.class); + contentControladdBonusTimeCommandParams.put("PINCode",contentControladdBonusTimePINCodeCommandParameterInfo); - , (Optional) - commandArguments.get("data") + CommandParameterInfo contentControladdBonusTimebonusTimeCommandParameterInfo = new CommandParameterInfo("bonusTime", Optional.class, Long.class); + contentControladdBonusTimeCommandParams.put("bonusTime",contentControladdBonusTimebonusTimeCommandParameterInfo); + InteractionInfo contentControladdBonusTimeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentControlCluster) cluster) + .addBonusTime((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("PINCode") + , (Optional) + commandArguments.get("bonusTime") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + contentControladdBonusTimeCommandParams + ); + contentControlClusterInteractionInfoMap.put("addBonusTime", contentControladdBonusTimeInteractionInfo); - ); - }, - () -> new DelegatedChannelClusterProgramGuideResponseCallback(), - channelgetProgramGuideCommandParams - ); - channelClusterInteractionInfoMap.put("getProgramGuide", channelgetProgramGuideInteractionInfo); + Map contentControlsetScreenDailyTimeCommandParams = new LinkedHashMap(); - Map channelrecordProgramCommandParams = new LinkedHashMap(); + CommandParameterInfo contentControlsetScreenDailyTimescreenTimeCommandParameterInfo = new CommandParameterInfo("screenTime", Long.class, Long.class); + contentControlsetScreenDailyTimeCommandParams.put("screenTime",contentControlsetScreenDailyTimescreenTimeCommandParameterInfo); + InteractionInfo contentControlsetScreenDailyTimeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentControlCluster) cluster) + .setScreenDailyTime((DefaultClusterCallback) callback + , (Long) + commandArguments.get("screenTime") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + contentControlsetScreenDailyTimeCommandParams + ); + contentControlClusterInteractionInfoMap.put("setScreenDailyTime", contentControlsetScreenDailyTimeInteractionInfo); - CommandParameterInfo channelrecordProgramprogramIdentifierCommandParameterInfo = new CommandParameterInfo("programIdentifier", String.class, String.class); - channelrecordProgramCommandParams.put("programIdentifier",channelrecordProgramprogramIdentifierCommandParameterInfo); + Map contentControlblockUnratedContentCommandParams = new LinkedHashMap(); + InteractionInfo contentControlblockUnratedContentInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentControlCluster) cluster) + .blockUnratedContent((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + contentControlblockUnratedContentCommandParams + ); + contentControlClusterInteractionInfoMap.put("blockUnratedContent", contentControlblockUnratedContentInteractionInfo); - CommandParameterInfo channelrecordProgramshouldRecordSeriesCommandParameterInfo = new CommandParameterInfo("shouldRecordSeries", Boolean.class, Boolean.class); - channelrecordProgramCommandParams.put("shouldRecordSeries",channelrecordProgramshouldRecordSeriesCommandParameterInfo); + Map contentControlunblockUnratedContentCommandParams = new LinkedHashMap(); + InteractionInfo contentControlunblockUnratedContentInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ContentControlCluster) cluster) + .unblockUnratedContent((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + contentControlunblockUnratedContentCommandParams + ); + contentControlClusterInteractionInfoMap.put("unblockUnratedContent", contentControlunblockUnratedContentInteractionInfo); + Map contentControlsetOnDemandRatingThresholdCommandParams = new LinkedHashMap(); - CommandParameterInfo channelrecordProgramdataCommandParameterInfo = new CommandParameterInfo("data", byte[].class, byte[].class); - channelrecordProgramCommandParams.put("data",channelrecordProgramdataCommandParameterInfo); - InteractionInfo channelrecordProgramInteractionInfo = new InteractionInfo( + CommandParameterInfo contentControlsetOnDemandRatingThresholdratingCommandParameterInfo = new CommandParameterInfo("rating", String.class, String.class); + contentControlsetOnDemandRatingThresholdCommandParams.put("rating",contentControlsetOnDemandRatingThresholdratingCommandParameterInfo); + InteractionInfo contentControlsetOnDemandRatingThresholdInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ChannelCluster) cluster) - .recordProgram((DefaultClusterCallback) callback + ((ChipClusters.ContentControlCluster) cluster) + .setOnDemandRatingThreshold((DefaultClusterCallback) callback , (String) - commandArguments.get("programIdentifier") - , (Boolean) - commandArguments.get("shouldRecordSeries") - , (ArrayList) - commandArguments.get("externalIDList") - , (byte[]) - commandArguments.get("data") + commandArguments.get("rating") ); }, () -> new DelegatedDefaultClusterCallback(), - channelrecordProgramCommandParams + contentControlsetOnDemandRatingThresholdCommandParams ); - channelClusterInteractionInfoMap.put("recordProgram", channelrecordProgramInteractionInfo); - - Map channelcancelRecordProgramCommandParams = new LinkedHashMap(); - - CommandParameterInfo channelcancelRecordProgramprogramIdentifierCommandParameterInfo = new CommandParameterInfo("programIdentifier", String.class, String.class); - channelcancelRecordProgramCommandParams.put("programIdentifier",channelcancelRecordProgramprogramIdentifierCommandParameterInfo); - - CommandParameterInfo channelcancelRecordProgramshouldRecordSeriesCommandParameterInfo = new CommandParameterInfo("shouldRecordSeries", Boolean.class, Boolean.class); - channelcancelRecordProgramCommandParams.put("shouldRecordSeries",channelcancelRecordProgramshouldRecordSeriesCommandParameterInfo); + contentControlClusterInteractionInfoMap.put("setOnDemandRatingThreshold", contentControlsetOnDemandRatingThresholdInteractionInfo); + Map contentControlsetScheduledContentRatingThresholdCommandParams = new LinkedHashMap(); - CommandParameterInfo channelcancelRecordProgramdataCommandParameterInfo = new CommandParameterInfo("data", byte[].class, byte[].class); - channelcancelRecordProgramCommandParams.put("data",channelcancelRecordProgramdataCommandParameterInfo); - InteractionInfo channelcancelRecordProgramInteractionInfo = new InteractionInfo( + CommandParameterInfo contentControlsetScheduledContentRatingThresholdratingCommandParameterInfo = new CommandParameterInfo("rating", String.class, String.class); + contentControlsetScheduledContentRatingThresholdCommandParams.put("rating",contentControlsetScheduledContentRatingThresholdratingCommandParameterInfo); + InteractionInfo contentControlsetScheduledContentRatingThresholdInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ChannelCluster) cluster) - .cancelRecordProgram((DefaultClusterCallback) callback + ((ChipClusters.ContentControlCluster) cluster) + .setScheduledContentRatingThreshold((DefaultClusterCallback) callback , (String) - commandArguments.get("programIdentifier") - , (Boolean) - commandArguments.get("shouldRecordSeries") - , (ArrayList) - commandArguments.get("externalIDList") - , (byte[]) - commandArguments.get("data") + commandArguments.get("rating") ); }, () -> new DelegatedDefaultClusterCallback(), - channelcancelRecordProgramCommandParams + contentControlsetScheduledContentRatingThresholdCommandParams ); - channelClusterInteractionInfoMap.put("cancelRecordProgram", channelcancelRecordProgramInteractionInfo); + contentControlClusterInteractionInfoMap.put("setScheduledContentRatingThreshold", contentControlsetScheduledContentRatingThresholdInteractionInfo); - commandMap.put("channel", channelClusterInteractionInfoMap); + commandMap.put("contentControl", contentControlClusterInteractionInfoMap); - Map targetNavigatorClusterInteractionInfoMap = new LinkedHashMap<>(); + Map contentAppObserverClusterInteractionInfoMap = new LinkedHashMap<>(); - Map targetNavigatornavigateTargetCommandParams = new LinkedHashMap(); + Map contentAppObservercontentAppMessageCommandParams = new LinkedHashMap(); - CommandParameterInfo targetNavigatornavigateTargettargetCommandParameterInfo = new CommandParameterInfo("target", Integer.class, Integer.class); - targetNavigatornavigateTargetCommandParams.put("target",targetNavigatornavigateTargettargetCommandParameterInfo); + CommandParameterInfo contentAppObservercontentAppMessagedataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, String.class); + contentAppObservercontentAppMessageCommandParams.put("data",contentAppObservercontentAppMessagedataCommandParameterInfo); - CommandParameterInfo targetNavigatornavigateTargetdataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, String.class); - targetNavigatornavigateTargetCommandParams.put("data",targetNavigatornavigateTargetdataCommandParameterInfo); - InteractionInfo targetNavigatornavigateTargetInteractionInfo = new InteractionInfo( + CommandParameterInfo contentAppObservercontentAppMessageencodingHintCommandParameterInfo = new CommandParameterInfo("encodingHint", String.class, String.class); + contentAppObservercontentAppMessageCommandParams.put("encodingHint",contentAppObservercontentAppMessageencodingHintCommandParameterInfo); + InteractionInfo contentAppObservercontentAppMessageInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.TargetNavigatorCluster) cluster) - .navigateTarget((ChipClusters.TargetNavigatorCluster.NavigateTargetResponseCallback) callback - , (Integer) - commandArguments.get("target") - + ((ChipClusters.ContentAppObserverCluster) cluster) + .contentAppMessage((ChipClusters.ContentAppObserverCluster.ContentAppMessageResponseCallback) callback , (Optional) commandArguments.get("data") + , (String) + commandArguments.get("encodingHint") + ); }, - () -> new DelegatedTargetNavigatorClusterNavigateTargetResponseCallback(), - targetNavigatornavigateTargetCommandParams + () -> new DelegatedContentAppObserverClusterContentAppMessageResponseCallback(), + contentAppObservercontentAppMessageCommandParams ); - targetNavigatorClusterInteractionInfoMap.put("navigateTarget", targetNavigatornavigateTargetInteractionInfo); + contentAppObserverClusterInteractionInfoMap.put("contentAppMessage", contentAppObservercontentAppMessageInteractionInfo); - commandMap.put("targetNavigator", targetNavigatorClusterInteractionInfoMap); + commandMap.put("contentAppObserver", contentAppObserverClusterInteractionInfoMap); - Map mediaPlaybackClusterInteractionInfoMap = new LinkedHashMap<>(); + Map cameraAvStreamManagementClusterInteractionInfoMap = new LinkedHashMap<>(); - Map mediaPlaybackplayCommandParams = new LinkedHashMap(); - InteractionInfo mediaPlaybackplayInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .play((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackplayCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("play", mediaPlaybackplayInteractionInfo); + Map cameraAvStreamManagementaudioStreamAllocateCommandParams = new LinkedHashMap(); - Map mediaPlaybackpauseCommandParams = new LinkedHashMap(); - InteractionInfo mediaPlaybackpauseInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .pause((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackpauseCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("pause", mediaPlaybackpauseInteractionInfo); + CommandParameterInfo cameraAvStreamManagementaudioStreamAllocatestreamTypeCommandParameterInfo = new CommandParameterInfo("streamType", Integer.class, Integer.class); + cameraAvStreamManagementaudioStreamAllocateCommandParams.put("streamType",cameraAvStreamManagementaudioStreamAllocatestreamTypeCommandParameterInfo); - Map mediaPlaybackstopCommandParams = new LinkedHashMap(); - InteractionInfo mediaPlaybackstopInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .stop((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackstopCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("stop", mediaPlaybackstopInteractionInfo); + CommandParameterInfo cameraAvStreamManagementaudioStreamAllocateaudioCodecCommandParameterInfo = new CommandParameterInfo("audioCodec", Integer.class, Integer.class); + cameraAvStreamManagementaudioStreamAllocateCommandParams.put("audioCodec",cameraAvStreamManagementaudioStreamAllocateaudioCodecCommandParameterInfo); - Map mediaPlaybackstartOverCommandParams = new LinkedHashMap(); - InteractionInfo mediaPlaybackstartOverInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .startOver((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackstartOverCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("startOver", mediaPlaybackstartOverInteractionInfo); + CommandParameterInfo cameraAvStreamManagementaudioStreamAllocatechannelCountCommandParameterInfo = new CommandParameterInfo("channelCount", Integer.class, Integer.class); + cameraAvStreamManagementaudioStreamAllocateCommandParams.put("channelCount",cameraAvStreamManagementaudioStreamAllocatechannelCountCommandParameterInfo); - Map mediaPlaybackpreviousCommandParams = new LinkedHashMap(); - InteractionInfo mediaPlaybackpreviousInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .previous((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackpreviousCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("previous", mediaPlaybackpreviousInteractionInfo); + CommandParameterInfo cameraAvStreamManagementaudioStreamAllocatesampleRateCommandParameterInfo = new CommandParameterInfo("sampleRate", Long.class, Long.class); + cameraAvStreamManagementaudioStreamAllocateCommandParams.put("sampleRate",cameraAvStreamManagementaudioStreamAllocatesampleRateCommandParameterInfo); - Map mediaPlaybacknextCommandParams = new LinkedHashMap(); - InteractionInfo mediaPlaybacknextInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementaudioStreamAllocatebitRateCommandParameterInfo = new CommandParameterInfo("bitRate", Long.class, Long.class); + cameraAvStreamManagementaudioStreamAllocateCommandParams.put("bitRate",cameraAvStreamManagementaudioStreamAllocatebitRateCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementaudioStreamAllocatebitDepthCommandParameterInfo = new CommandParameterInfo("bitDepth", Integer.class, Integer.class); + cameraAvStreamManagementaudioStreamAllocateCommandParams.put("bitDepth",cameraAvStreamManagementaudioStreamAllocatebitDepthCommandParameterInfo); + InteractionInfo cameraAvStreamManagementaudioStreamAllocateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .next((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybacknextCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("next", mediaPlaybacknextInteractionInfo); + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .audioStreamAllocate((ChipClusters.CameraAvStreamManagementCluster.AudioStreamAllocateResponseCallback) callback + , (Integer) + commandArguments.get("streamType") - Map mediaPlaybackrewindCommandParams = new LinkedHashMap(); + , (Integer) + commandArguments.get("audioCodec") - CommandParameterInfo mediaPlaybackrewindaudioAdvanceUnmutedCommandParameterInfo = new CommandParameterInfo("audioAdvanceUnmuted", Optional.class, Boolean.class); - mediaPlaybackrewindCommandParams.put("audioAdvanceUnmuted",mediaPlaybackrewindaudioAdvanceUnmutedCommandParameterInfo); - InteractionInfo mediaPlaybackrewindInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .rewind((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - , (Optional) - commandArguments.get("audioAdvanceUnmuted") + , (Integer) + commandArguments.get("channelCount") - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackrewindCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("rewind", mediaPlaybackrewindInteractionInfo); + , (Long) + commandArguments.get("sampleRate") - Map mediaPlaybackfastForwardCommandParams = new LinkedHashMap(); + , (Long) + commandArguments.get("bitRate") - CommandParameterInfo mediaPlaybackfastForwardaudioAdvanceUnmutedCommandParameterInfo = new CommandParameterInfo("audioAdvanceUnmuted", Optional.class, Boolean.class); - mediaPlaybackfastForwardCommandParams.put("audioAdvanceUnmuted",mediaPlaybackfastForwardaudioAdvanceUnmutedCommandParameterInfo); - InteractionInfo mediaPlaybackfastForwardInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .fastForward((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - , (Optional) - commandArguments.get("audioAdvanceUnmuted") + , (Integer) + commandArguments.get("bitDepth") ); }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackfastForwardCommandParams + () -> new DelegatedCameraAvStreamManagementClusterAudioStreamAllocateResponseCallback(), + cameraAvStreamManagementaudioStreamAllocateCommandParams ); - mediaPlaybackClusterInteractionInfoMap.put("fastForward", mediaPlaybackfastForwardInteractionInfo); + cameraAvStreamManagementClusterInteractionInfoMap.put("audioStreamAllocate", cameraAvStreamManagementaudioStreamAllocateInteractionInfo); - Map mediaPlaybackskipForwardCommandParams = new LinkedHashMap(); + Map cameraAvStreamManagementaudioStreamDeallocateCommandParams = new LinkedHashMap(); - CommandParameterInfo mediaPlaybackskipForwarddeltaPositionMillisecondsCommandParameterInfo = new CommandParameterInfo("deltaPositionMilliseconds", Long.class, Long.class); - mediaPlaybackskipForwardCommandParams.put("deltaPositionMilliseconds",mediaPlaybackskipForwarddeltaPositionMillisecondsCommandParameterInfo); - InteractionInfo mediaPlaybackskipForwardInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementaudioStreamDeallocateaudioStreamIDCommandParameterInfo = new CommandParameterInfo("audioStreamID", Integer.class, Integer.class); + cameraAvStreamManagementaudioStreamDeallocateCommandParams.put("audioStreamID",cameraAvStreamManagementaudioStreamDeallocateaudioStreamIDCommandParameterInfo); + InteractionInfo cameraAvStreamManagementaudioStreamDeallocateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .skipForward((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - , (Long) - commandArguments.get("deltaPositionMilliseconds") + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .audioStreamDeallocate((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("audioStreamID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + cameraAvStreamManagementaudioStreamDeallocateCommandParams + ); + cameraAvStreamManagementClusterInteractionInfoMap.put("audioStreamDeallocate", cameraAvStreamManagementaudioStreamDeallocateInteractionInfo); - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackskipForwardCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("skipForward", mediaPlaybackskipForwardInteractionInfo); + Map cameraAvStreamManagementvideoStreamAllocateCommandParams = new LinkedHashMap(); - Map mediaPlaybackskipBackwardCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocatestreamTypeCommandParameterInfo = new CommandParameterInfo("streamType", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("streamType",cameraAvStreamManagementvideoStreamAllocatestreamTypeCommandParameterInfo); - CommandParameterInfo mediaPlaybackskipBackwarddeltaPositionMillisecondsCommandParameterInfo = new CommandParameterInfo("deltaPositionMilliseconds", Long.class, Long.class); - mediaPlaybackskipBackwardCommandParams.put("deltaPositionMilliseconds",mediaPlaybackskipBackwarddeltaPositionMillisecondsCommandParameterInfo); - InteractionInfo mediaPlaybackskipBackwardInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .skipBackward((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback - , (Long) - commandArguments.get("deltaPositionMilliseconds") + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocatevideoCodecCommandParameterInfo = new CommandParameterInfo("videoCodec", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("videoCodec",cameraAvStreamManagementvideoStreamAllocatevideoCodecCommandParameterInfo); - ); - }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackskipBackwardCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("skipBackward", mediaPlaybackskipBackwardInteractionInfo); + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocateminFrameRateCommandParameterInfo = new CommandParameterInfo("minFrameRate", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("minFrameRate",cameraAvStreamManagementvideoStreamAllocateminFrameRateCommandParameterInfo); - Map mediaPlaybackseekCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocatemaxFrameRateCommandParameterInfo = new CommandParameterInfo("maxFrameRate", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("maxFrameRate",cameraAvStreamManagementvideoStreamAllocatemaxFrameRateCommandParameterInfo); - CommandParameterInfo mediaPlaybackseekpositionCommandParameterInfo = new CommandParameterInfo("position", Long.class, Long.class); - mediaPlaybackseekCommandParams.put("position",mediaPlaybackseekpositionCommandParameterInfo); - InteractionInfo mediaPlaybackseekInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocateminResolutionCommandParameterInfo = new CommandParameterInfo("minResolution", Object.class, Object.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("minResolution",cameraAvStreamManagementvideoStreamAllocateminResolutionCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocatemaxResolutionCommandParameterInfo = new CommandParameterInfo("maxResolution", Object.class, Object.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("maxResolution",cameraAvStreamManagementvideoStreamAllocatemaxResolutionCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocateminBitRateCommandParameterInfo = new CommandParameterInfo("minBitRate", Long.class, Long.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("minBitRate",cameraAvStreamManagementvideoStreamAllocateminBitRateCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocatemaxBitRateCommandParameterInfo = new CommandParameterInfo("maxBitRate", Long.class, Long.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("maxBitRate",cameraAvStreamManagementvideoStreamAllocatemaxBitRateCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocateminFragmentLenCommandParameterInfo = new CommandParameterInfo("minFragmentLen", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("minFragmentLen",cameraAvStreamManagementvideoStreamAllocateminFragmentLenCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementvideoStreamAllocatemaxFragmentLenCommandParameterInfo = new CommandParameterInfo("maxFragmentLen", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamAllocateCommandParams.put("maxFragmentLen",cameraAvStreamManagementvideoStreamAllocatemaxFragmentLenCommandParameterInfo); + InteractionInfo cameraAvStreamManagementvideoStreamAllocateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .seek((ChipClusters.MediaPlaybackCluster.PlaybackResponseCallback) callback + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .videoStreamAllocate((ChipClusters.CameraAvStreamManagementCluster.VideoStreamAllocateResponseCallback) callback + , (Integer) + commandArguments.get("streamType") + + , (Integer) + commandArguments.get("videoCodec") + + , (Integer) + commandArguments.get("minFrameRate") + + , (Integer) + commandArguments.get("maxFrameRate") + + , (Object) + commandArguments.get("minResolution") + + , (Object) + commandArguments.get("maxResolution") + , (Long) - commandArguments.get("position") + commandArguments.get("minBitRate") + + , (Long) + commandArguments.get("maxBitRate") + + , (Integer) + commandArguments.get("minFragmentLen") + + , (Integer) + commandArguments.get("maxFragmentLen") ); }, - () -> new DelegatedMediaPlaybackClusterPlaybackResponseCallback(), - mediaPlaybackseekCommandParams + () -> new DelegatedCameraAvStreamManagementClusterVideoStreamAllocateResponseCallback(), + cameraAvStreamManagementvideoStreamAllocateCommandParams ); - mediaPlaybackClusterInteractionInfoMap.put("seek", mediaPlaybackseekInteractionInfo); + cameraAvStreamManagementClusterInteractionInfoMap.put("videoStreamAllocate", cameraAvStreamManagementvideoStreamAllocateInteractionInfo); - Map mediaPlaybackactivateAudioTrackCommandParams = new LinkedHashMap(); + Map cameraAvStreamManagementvideoStreamModifyCommandParams = new LinkedHashMap(); - CommandParameterInfo mediaPlaybackactivateAudioTracktrackIDCommandParameterInfo = new CommandParameterInfo("trackID", String.class, String.class); - mediaPlaybackactivateAudioTrackCommandParams.put("trackID",mediaPlaybackactivateAudioTracktrackIDCommandParameterInfo); + CommandParameterInfo cameraAvStreamManagementvideoStreamModifyvideoStreamIDCommandParameterInfo = new CommandParameterInfo("videoStreamID", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamModifyCommandParams.put("videoStreamID",cameraAvStreamManagementvideoStreamModifyvideoStreamIDCommandParameterInfo); - CommandParameterInfo mediaPlaybackactivateAudioTrackaudioOutputIndexCommandParameterInfo = new CommandParameterInfo("audioOutputIndex", Integer.class, Integer.class); - mediaPlaybackactivateAudioTrackCommandParams.put("audioOutputIndex",mediaPlaybackactivateAudioTrackaudioOutputIndexCommandParameterInfo); - InteractionInfo mediaPlaybackactivateAudioTrackInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementvideoStreamModifyresolutionCommandParameterInfo = new CommandParameterInfo("resolution", Object.class, Object.class); + cameraAvStreamManagementvideoStreamModifyCommandParams.put("resolution",cameraAvStreamManagementvideoStreamModifyresolutionCommandParameterInfo); + InteractionInfo cameraAvStreamManagementvideoStreamModifyInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .activateAudioTrack((DefaultClusterCallback) callback - , (String) - commandArguments.get("trackID") + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .videoStreamModify((DefaultClusterCallback) callback , (Integer) - commandArguments.get("audioOutputIndex") + commandArguments.get("videoStreamID") + , (Object) + commandArguments.get("resolution") ); }, () -> new DelegatedDefaultClusterCallback(), - mediaPlaybackactivateAudioTrackCommandParams + cameraAvStreamManagementvideoStreamModifyCommandParams ); - mediaPlaybackClusterInteractionInfoMap.put("activateAudioTrack", mediaPlaybackactivateAudioTrackInteractionInfo); + cameraAvStreamManagementClusterInteractionInfoMap.put("videoStreamModify", cameraAvStreamManagementvideoStreamModifyInteractionInfo); - Map mediaPlaybackactivateTextTrackCommandParams = new LinkedHashMap(); + Map cameraAvStreamManagementvideoStreamDeallocateCommandParams = new LinkedHashMap(); - CommandParameterInfo mediaPlaybackactivateTextTracktrackIDCommandParameterInfo = new CommandParameterInfo("trackID", String.class, String.class); - mediaPlaybackactivateTextTrackCommandParams.put("trackID",mediaPlaybackactivateTextTracktrackIDCommandParameterInfo); - InteractionInfo mediaPlaybackactivateTextTrackInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementvideoStreamDeallocatevideoStreamIDCommandParameterInfo = new CommandParameterInfo("videoStreamID", Integer.class, Integer.class); + cameraAvStreamManagementvideoStreamDeallocateCommandParams.put("videoStreamID",cameraAvStreamManagementvideoStreamDeallocatevideoStreamIDCommandParameterInfo); + InteractionInfo cameraAvStreamManagementvideoStreamDeallocateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .activateTextTrack((DefaultClusterCallback) callback - , (String) - commandArguments.get("trackID") + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .videoStreamDeallocate((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("videoStreamID") ); }, () -> new DelegatedDefaultClusterCallback(), - mediaPlaybackactivateTextTrackCommandParams + cameraAvStreamManagementvideoStreamDeallocateCommandParams ); - mediaPlaybackClusterInteractionInfoMap.put("activateTextTrack", mediaPlaybackactivateTextTrackInteractionInfo); + cameraAvStreamManagementClusterInteractionInfoMap.put("videoStreamDeallocate", cameraAvStreamManagementvideoStreamDeallocateInteractionInfo); - Map mediaPlaybackdeactivateTextTrackCommandParams = new LinkedHashMap(); - InteractionInfo mediaPlaybackdeactivateTextTrackInteractionInfo = new InteractionInfo( + Map cameraAvStreamManagementsnapshotStreamAllocateCommandParams = new LinkedHashMap(); + + CommandParameterInfo cameraAvStreamManagementsnapshotStreamAllocateimageCodecCommandParameterInfo = new CommandParameterInfo("imageCodec", Integer.class, Integer.class); + cameraAvStreamManagementsnapshotStreamAllocateCommandParams.put("imageCodec",cameraAvStreamManagementsnapshotStreamAllocateimageCodecCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementsnapshotStreamAllocateframeRateCommandParameterInfo = new CommandParameterInfo("frameRate", Integer.class, Integer.class); + cameraAvStreamManagementsnapshotStreamAllocateCommandParams.put("frameRate",cameraAvStreamManagementsnapshotStreamAllocateframeRateCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementsnapshotStreamAllocatebitRateCommandParameterInfo = new CommandParameterInfo("bitRate", Long.class, Long.class); + cameraAvStreamManagementsnapshotStreamAllocateCommandParams.put("bitRate",cameraAvStreamManagementsnapshotStreamAllocatebitRateCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementsnapshotStreamAllocateminResolutionCommandParameterInfo = new CommandParameterInfo("minResolution", Object.class, Object.class); + cameraAvStreamManagementsnapshotStreamAllocateCommandParams.put("minResolution",cameraAvStreamManagementsnapshotStreamAllocateminResolutionCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementsnapshotStreamAllocatemaxResolutionCommandParameterInfo = new CommandParameterInfo("maxResolution", Object.class, Object.class); + cameraAvStreamManagementsnapshotStreamAllocateCommandParams.put("maxResolution",cameraAvStreamManagementsnapshotStreamAllocatemaxResolutionCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementsnapshotStreamAllocatequalityCommandParameterInfo = new CommandParameterInfo("quality", Integer.class, Integer.class); + cameraAvStreamManagementsnapshotStreamAllocateCommandParams.put("quality",cameraAvStreamManagementsnapshotStreamAllocatequalityCommandParameterInfo); + InteractionInfo cameraAvStreamManagementsnapshotStreamAllocateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaPlaybackCluster) cluster) - .deactivateTextTrack((DefaultClusterCallback) callback - ); - }, - () -> new DelegatedDefaultClusterCallback(), - mediaPlaybackdeactivateTextTrackCommandParams - ); - mediaPlaybackClusterInteractionInfoMap.put("deactivateTextTrack", mediaPlaybackdeactivateTextTrackInteractionInfo); + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .snapshotStreamAllocate((ChipClusters.CameraAvStreamManagementCluster.SnapshotStreamAllocateResponseCallback) callback + , (Integer) + commandArguments.get("imageCodec") - commandMap.put("mediaPlayback", mediaPlaybackClusterInteractionInfoMap); + , (Integer) + commandArguments.get("frameRate") - Map mediaInputClusterInteractionInfoMap = new LinkedHashMap<>(); + , (Long) + commandArguments.get("bitRate") - Map mediaInputselectInputCommandParams = new LinkedHashMap(); + , (Object) + commandArguments.get("minResolution") - CommandParameterInfo mediaInputselectInputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); - mediaInputselectInputCommandParams.put("index",mediaInputselectInputindexCommandParameterInfo); - InteractionInfo mediaInputselectInputInteractionInfo = new InteractionInfo( + , (Object) + commandArguments.get("maxResolution") + + , (Integer) + commandArguments.get("quality") + + ); + }, + () -> new DelegatedCameraAvStreamManagementClusterSnapshotStreamAllocateResponseCallback(), + cameraAvStreamManagementsnapshotStreamAllocateCommandParams + ); + cameraAvStreamManagementClusterInteractionInfoMap.put("snapshotStreamAllocate", cameraAvStreamManagementsnapshotStreamAllocateInteractionInfo); + + Map cameraAvStreamManagementsnapshotStreamDeallocateCommandParams = new LinkedHashMap(); + + CommandParameterInfo cameraAvStreamManagementsnapshotStreamDeallocatesnapshotStreamIDCommandParameterInfo = new CommandParameterInfo("snapshotStreamID", Integer.class, Integer.class); + cameraAvStreamManagementsnapshotStreamDeallocateCommandParams.put("snapshotStreamID",cameraAvStreamManagementsnapshotStreamDeallocatesnapshotStreamIDCommandParameterInfo); + InteractionInfo cameraAvStreamManagementsnapshotStreamDeallocateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaInputCluster) cluster) - .selectInput((DefaultClusterCallback) callback + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .snapshotStreamDeallocate((DefaultClusterCallback) callback , (Integer) - commandArguments.get("index") + commandArguments.get("snapshotStreamID") ); }, () -> new DelegatedDefaultClusterCallback(), - mediaInputselectInputCommandParams + cameraAvStreamManagementsnapshotStreamDeallocateCommandParams ); - mediaInputClusterInteractionInfoMap.put("selectInput", mediaInputselectInputInteractionInfo); + cameraAvStreamManagementClusterInteractionInfoMap.put("snapshotStreamDeallocate", cameraAvStreamManagementsnapshotStreamDeallocateInteractionInfo); - Map mediaInputshowInputStatusCommandParams = new LinkedHashMap(); - InteractionInfo mediaInputshowInputStatusInteractionInfo = new InteractionInfo( + Map cameraAvStreamManagementsetStreamPriorityCommandParams = new LinkedHashMap(); + InteractionInfo cameraAvStreamManagementsetStreamPriorityInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaInputCluster) cluster) - .showInputStatus((DefaultClusterCallback) callback + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .setStreamPriority((DefaultClusterCallback) callback ); }, () -> new DelegatedDefaultClusterCallback(), - mediaInputshowInputStatusCommandParams + cameraAvStreamManagementsetStreamPriorityCommandParams ); - mediaInputClusterInteractionInfoMap.put("showInputStatus", mediaInputshowInputStatusInteractionInfo); + cameraAvStreamManagementClusterInteractionInfoMap.put("setStreamPriority", cameraAvStreamManagementsetStreamPriorityInteractionInfo); - Map mediaInputhideInputStatusCommandParams = new LinkedHashMap(); - InteractionInfo mediaInputhideInputStatusInteractionInfo = new InteractionInfo( + Map cameraAvStreamManagementcaptureSnapshotCommandParams = new LinkedHashMap(); + + CommandParameterInfo cameraAvStreamManagementcaptureSnapshotsnapshotStreamIDCommandParameterInfo = new CommandParameterInfo("snapshotStreamID", Integer.class, Integer.class); + cameraAvStreamManagementcaptureSnapshotCommandParams.put("snapshotStreamID",cameraAvStreamManagementcaptureSnapshotsnapshotStreamIDCommandParameterInfo); + + CommandParameterInfo cameraAvStreamManagementcaptureSnapshotrequestedResolutionCommandParameterInfo = new CommandParameterInfo("requestedResolution", Object.class, Object.class); + cameraAvStreamManagementcaptureSnapshotCommandParams.put("requestedResolution",cameraAvStreamManagementcaptureSnapshotrequestedResolutionCommandParameterInfo); + InteractionInfo cameraAvStreamManagementcaptureSnapshotInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaInputCluster) cluster) - .hideInputStatus((DefaultClusterCallback) callback + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .captureSnapshot((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("snapshotStreamID") + , (Object) + commandArguments.get("requestedResolution") ); }, () -> new DelegatedDefaultClusterCallback(), - mediaInputhideInputStatusCommandParams + cameraAvStreamManagementcaptureSnapshotCommandParams ); - mediaInputClusterInteractionInfoMap.put("hideInputStatus", mediaInputhideInputStatusInteractionInfo); - - Map mediaInputrenameInputCommandParams = new LinkedHashMap(); + cameraAvStreamManagementClusterInteractionInfoMap.put("captureSnapshot", cameraAvStreamManagementcaptureSnapshotInteractionInfo); - CommandParameterInfo mediaInputrenameInputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); - mediaInputrenameInputCommandParams.put("index",mediaInputrenameInputindexCommandParameterInfo); + Map cameraAvStreamManagementsetViewportCommandParams = new LinkedHashMap(); - CommandParameterInfo mediaInputrenameInputnameCommandParameterInfo = new CommandParameterInfo("name", String.class, String.class); - mediaInputrenameInputCommandParams.put("name",mediaInputrenameInputnameCommandParameterInfo); - InteractionInfo mediaInputrenameInputInteractionInfo = new InteractionInfo( + InteractionInfo cameraAvStreamManagementsetViewportInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.MediaInputCluster) cluster) - .renameInput((DefaultClusterCallback) callback - , (Integer) - commandArguments.get("index") - , (String) - commandArguments.get("name") + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .setViewport((DefaultClusterCallback) callback + , (ChipStructs.CameraAvStreamManagementClusterViewportStruct) + commandArguments.get("viewport") ); }, () -> new DelegatedDefaultClusterCallback(), - mediaInputrenameInputCommandParams + cameraAvStreamManagementsetViewportCommandParams ); - mediaInputClusterInteractionInfoMap.put("renameInput", mediaInputrenameInputInteractionInfo); - - commandMap.put("mediaInput", mediaInputClusterInteractionInfoMap); + cameraAvStreamManagementClusterInteractionInfoMap.put("setViewport", cameraAvStreamManagementsetViewportInteractionInfo); - Map lowPowerClusterInteractionInfoMap = new LinkedHashMap<>(); + Map cameraAvStreamManagementsetImageRotationCommandParams = new LinkedHashMap(); - Map lowPowersleepCommandParams = new LinkedHashMap(); - InteractionInfo lowPowersleepInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementsetImageRotationangleCommandParameterInfo = new CommandParameterInfo("angle", Integer.class, Integer.class); + cameraAvStreamManagementsetImageRotationCommandParams.put("angle",cameraAvStreamManagementsetImageRotationangleCommandParameterInfo); + InteractionInfo cameraAvStreamManagementsetImageRotationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.LowPowerCluster) cluster) - .sleep((DefaultClusterCallback) callback + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .setImageRotation((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("angle") ); }, () -> new DelegatedDefaultClusterCallback(), - lowPowersleepCommandParams + cameraAvStreamManagementsetImageRotationCommandParams ); - lowPowerClusterInteractionInfoMap.put("sleep", lowPowersleepInteractionInfo); - - commandMap.put("lowPower", lowPowerClusterInteractionInfoMap); - - Map keypadInputClusterInteractionInfoMap = new LinkedHashMap<>(); + cameraAvStreamManagementClusterInteractionInfoMap.put("setImageRotation", cameraAvStreamManagementsetImageRotationInteractionInfo); - Map keypadInputsendKeyCommandParams = new LinkedHashMap(); + Map cameraAvStreamManagementsetImageFlipHorizontalCommandParams = new LinkedHashMap(); - CommandParameterInfo keypadInputsendKeykeyCodeCommandParameterInfo = new CommandParameterInfo("keyCode", Integer.class, Integer.class); - keypadInputsendKeyCommandParams.put("keyCode",keypadInputsendKeykeyCodeCommandParameterInfo); - InteractionInfo keypadInputsendKeyInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementsetImageFlipHorizontalonOffCommandParameterInfo = new CommandParameterInfo("onOff", Boolean.class, Boolean.class); + cameraAvStreamManagementsetImageFlipHorizontalCommandParams.put("onOff",cameraAvStreamManagementsetImageFlipHorizontalonOffCommandParameterInfo); + InteractionInfo cameraAvStreamManagementsetImageFlipHorizontalInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.KeypadInputCluster) cluster) - .sendKey((ChipClusters.KeypadInputCluster.SendKeyResponseCallback) callback - , (Integer) - commandArguments.get("keyCode") - - ); - }, - () -> new DelegatedKeypadInputClusterSendKeyResponseCallback(), - keypadInputsendKeyCommandParams - ); - keypadInputClusterInteractionInfoMap.put("sendKey", keypadInputsendKeyInteractionInfo); - - commandMap.put("keypadInput", keypadInputClusterInteractionInfoMap); - - Map contentLauncherClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map contentLauncherlaunchContentCommandParams = new LinkedHashMap(); - - - CommandParameterInfo contentLauncherlaunchContentautoPlayCommandParameterInfo = new CommandParameterInfo("autoPlay", Boolean.class, Boolean.class); - contentLauncherlaunchContentCommandParams.put("autoPlay",contentLauncherlaunchContentautoPlayCommandParameterInfo); - - CommandParameterInfo contentLauncherlaunchContentdataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, String.class); - contentLauncherlaunchContentCommandParams.put("data",contentLauncherlaunchContentdataCommandParameterInfo); + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .setImageFlipHorizontal((DefaultClusterCallback) callback + , (Boolean) + commandArguments.get("onOff") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + cameraAvStreamManagementsetImageFlipHorizontalCommandParams + ); + cameraAvStreamManagementClusterInteractionInfoMap.put("setImageFlipHorizontal", cameraAvStreamManagementsetImageFlipHorizontalInteractionInfo); + Map cameraAvStreamManagementsetImageFlipVerticalCommandParams = new LinkedHashMap(); - CommandParameterInfo contentLauncherlaunchContentuseCurrentContextCommandParameterInfo = new CommandParameterInfo("useCurrentContext", Optional.class, Boolean.class); - contentLauncherlaunchContentCommandParams.put("useCurrentContext",contentLauncherlaunchContentuseCurrentContextCommandParameterInfo); - InteractionInfo contentLauncherlaunchContentInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvStreamManagementsetImageFlipVerticalonOffCommandParameterInfo = new CommandParameterInfo("onOff", Boolean.class, Boolean.class); + cameraAvStreamManagementsetImageFlipVerticalCommandParams.put("onOff",cameraAvStreamManagementsetImageFlipVerticalonOffCommandParameterInfo); + InteractionInfo cameraAvStreamManagementsetImageFlipVerticalInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentLauncherCluster) cluster) - .launchContent((ChipClusters.ContentLauncherCluster.LauncherResponseCallback) callback - , (ChipStructs.ContentLauncherClusterContentSearchStruct) - commandArguments.get("search") + ((ChipClusters.CameraAvStreamManagementCluster) cluster) + .setImageFlipVertical((DefaultClusterCallback) callback + , (Boolean) + commandArguments.get("onOff") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + cameraAvStreamManagementsetImageFlipVerticalCommandParams + ); + cameraAvStreamManagementClusterInteractionInfoMap.put("setImageFlipVertical", cameraAvStreamManagementsetImageFlipVerticalInteractionInfo); - , (Boolean) - commandArguments.get("autoPlay") + commandMap.put("cameraAvStreamManagement", cameraAvStreamManagementClusterInteractionInfoMap); - , (Optional) - commandArguments.get("data") + Map cameraAvSettingsUserLevelManagementClusterInteractionInfoMap = new LinkedHashMap<>(); - , (Optional) - commandArguments.get("playbackPreferences") + Map cameraAvSettingsUserLevelManagementmptzSetCommandParams = new LinkedHashMap(); - , (Optional) - commandArguments.get("useCurrentContext") - ); - }, - () -> new DelegatedContentLauncherClusterLauncherResponseCallback(), - contentLauncherlaunchContentCommandParams - ); - contentLauncherClusterInteractionInfoMap.put("launchContent", contentLauncherlaunchContentInteractionInfo); + CommandParameterInfo cameraAvSettingsUserLevelManagementmptzSetpresetIDCommandParameterInfo = new CommandParameterInfo("presetID", Optional.class, Integer.class); + cameraAvSettingsUserLevelManagementmptzSetCommandParams.put("presetID",cameraAvSettingsUserLevelManagementmptzSetpresetIDCommandParameterInfo); + InteractionInfo cameraAvSettingsUserLevelManagementmptzSetInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster) + .mptzSet((DefaultClusterCallback) callback + , (Optional) + commandArguments.get("newPTZ") + , (Optional) + commandArguments.get("presetID") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + cameraAvSettingsUserLevelManagementmptzSetCommandParams + ); + cameraAvSettingsUserLevelManagementClusterInteractionInfoMap.put("mptzSet", cameraAvSettingsUserLevelManagementmptzSetInteractionInfo); - Map contentLauncherlaunchURLCommandParams = new LinkedHashMap(); + Map cameraAvSettingsUserLevelManagementmptzRelativeMoveCommandParams = new LinkedHashMap(); - CommandParameterInfo contentLauncherlaunchURLcontentURLCommandParameterInfo = new CommandParameterInfo("contentURL", String.class, String.class); - contentLauncherlaunchURLCommandParams.put("contentURL",contentLauncherlaunchURLcontentURLCommandParameterInfo); + CommandParameterInfo cameraAvSettingsUserLevelManagementmptzRelativeMovepanCommandParameterInfo = new CommandParameterInfo("pan", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementmptzRelativeMoveCommandParams.put("pan",cameraAvSettingsUserLevelManagementmptzRelativeMovepanCommandParameterInfo); - CommandParameterInfo contentLauncherlaunchURLdisplayStringCommandParameterInfo = new CommandParameterInfo("displayString", Optional.class, String.class); - contentLauncherlaunchURLCommandParams.put("displayString",contentLauncherlaunchURLdisplayStringCommandParameterInfo); + CommandParameterInfo cameraAvSettingsUserLevelManagementmptzRelativeMovetiltCommandParameterInfo = new CommandParameterInfo("tilt", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementmptzRelativeMoveCommandParams.put("tilt",cameraAvSettingsUserLevelManagementmptzRelativeMovetiltCommandParameterInfo); - InteractionInfo contentLauncherlaunchURLInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvSettingsUserLevelManagementmptzRelativeMovezoomCommandParameterInfo = new CommandParameterInfo("zoom", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementmptzRelativeMoveCommandParams.put("zoom",cameraAvSettingsUserLevelManagementmptzRelativeMovezoomCommandParameterInfo); + InteractionInfo cameraAvSettingsUserLevelManagementmptzRelativeMoveInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentLauncherCluster) cluster) - .launchURL((ChipClusters.ContentLauncherCluster.LauncherResponseCallback) callback - , (String) - commandArguments.get("contentURL") - - , (Optional) - commandArguments.get("displayString") - - , (Optional) - commandArguments.get("brandingInformation") - - ); - }, - () -> new DelegatedContentLauncherClusterLauncherResponseCallback(), - contentLauncherlaunchURLCommandParams - ); - contentLauncherClusterInteractionInfoMap.put("launchURL", contentLauncherlaunchURLInteractionInfo); + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster) + .mptzRelativeMove((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("pan") + , (Integer) + commandArguments.get("tilt") + , (Integer) + commandArguments.get("zoom") + ); + }, + () -> new DelegatedDefaultClusterCallback(), + cameraAvSettingsUserLevelManagementmptzRelativeMoveCommandParams + ); + cameraAvSettingsUserLevelManagementClusterInteractionInfoMap.put("mptzRelativeMove", cameraAvSettingsUserLevelManagementmptzRelativeMoveInteractionInfo); - commandMap.put("contentLauncher", contentLauncherClusterInteractionInfoMap); + Map cameraAvSettingsUserLevelManagementsetAsPresetCommandParams = new LinkedHashMap(); + InteractionInfo cameraAvSettingsUserLevelManagementsetAsPresetInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster) + .setAsPreset((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + cameraAvSettingsUserLevelManagementsetAsPresetCommandParams + ); + cameraAvSettingsUserLevelManagementClusterInteractionInfoMap.put("setAsPreset", cameraAvSettingsUserLevelManagementsetAsPresetInteractionInfo); - Map audioOutputClusterInteractionInfoMap = new LinkedHashMap<>(); + Map cameraAvSettingsUserLevelManagementdptzSetViewportCommandParams = new LinkedHashMap(); - Map audioOutputselectOutputCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvSettingsUserLevelManagementdptzSetViewportvideoStreamIDCommandParameterInfo = new CommandParameterInfo("videoStreamID", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementdptzSetViewportCommandParams.put("videoStreamID",cameraAvSettingsUserLevelManagementdptzSetViewportvideoStreamIDCommandParameterInfo); - CommandParameterInfo audioOutputselectOutputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); - audioOutputselectOutputCommandParams.put("index",audioOutputselectOutputindexCommandParameterInfo); - InteractionInfo audioOutputselectOutputInteractionInfo = new InteractionInfo( + InteractionInfo cameraAvSettingsUserLevelManagementdptzSetViewportInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AudioOutputCluster) cluster) - .selectOutput((DefaultClusterCallback) callback + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster) + .dptzSetViewport((DefaultClusterCallback) callback , (Integer) - commandArguments.get("index") + commandArguments.get("videoStreamID") + , (ChipStructs.CameraAvSettingsUserLevelManagementClusterViewportStruct) + commandArguments.get("viewport") ); }, () -> new DelegatedDefaultClusterCallback(), - audioOutputselectOutputCommandParams + cameraAvSettingsUserLevelManagementdptzSetViewportCommandParams ); - audioOutputClusterInteractionInfoMap.put("selectOutput", audioOutputselectOutputInteractionInfo); + cameraAvSettingsUserLevelManagementClusterInteractionInfoMap.put("dptzSetViewport", cameraAvSettingsUserLevelManagementdptzSetViewportInteractionInfo); - Map audioOutputrenameOutputCommandParams = new LinkedHashMap(); + Map cameraAvSettingsUserLevelManagementdptzRelativeMoveCommandParams = new LinkedHashMap(); - CommandParameterInfo audioOutputrenameOutputindexCommandParameterInfo = new CommandParameterInfo("index", Integer.class, Integer.class); - audioOutputrenameOutputCommandParams.put("index",audioOutputrenameOutputindexCommandParameterInfo); + CommandParameterInfo cameraAvSettingsUserLevelManagementdptzRelativeMovevideoStreamIDCommandParameterInfo = new CommandParameterInfo("videoStreamID", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementdptzRelativeMoveCommandParams.put("videoStreamID",cameraAvSettingsUserLevelManagementdptzRelativeMovevideoStreamIDCommandParameterInfo); - CommandParameterInfo audioOutputrenameOutputnameCommandParameterInfo = new CommandParameterInfo("name", String.class, String.class); - audioOutputrenameOutputCommandParams.put("name",audioOutputrenameOutputnameCommandParameterInfo); - InteractionInfo audioOutputrenameOutputInteractionInfo = new InteractionInfo( + CommandParameterInfo cameraAvSettingsUserLevelManagementdptzRelativeMovepanCommandParameterInfo = new CommandParameterInfo("pan", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementdptzRelativeMoveCommandParams.put("pan",cameraAvSettingsUserLevelManagementdptzRelativeMovepanCommandParameterInfo); + + CommandParameterInfo cameraAvSettingsUserLevelManagementdptzRelativeMovetiltCommandParameterInfo = new CommandParameterInfo("tilt", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementdptzRelativeMoveCommandParams.put("tilt",cameraAvSettingsUserLevelManagementdptzRelativeMovetiltCommandParameterInfo); + + CommandParameterInfo cameraAvSettingsUserLevelManagementdptzRelativeMovezoomCommandParameterInfo = new CommandParameterInfo("zoom", Integer.class, Integer.class); + cameraAvSettingsUserLevelManagementdptzRelativeMoveCommandParams.put("zoom",cameraAvSettingsUserLevelManagementdptzRelativeMovezoomCommandParameterInfo); + InteractionInfo cameraAvSettingsUserLevelManagementdptzRelativeMoveInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AudioOutputCluster) cluster) - .renameOutput((DefaultClusterCallback) callback + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster) + .dptzRelativeMove((DefaultClusterCallback) callback , (Integer) - commandArguments.get("index") - , (String) - commandArguments.get("name") + commandArguments.get("videoStreamID") + , (Integer) + commandArguments.get("pan") + , (Integer) + commandArguments.get("tilt") + , (Integer) + commandArguments.get("zoom") ); }, () -> new DelegatedDefaultClusterCallback(), - audioOutputrenameOutputCommandParams + cameraAvSettingsUserLevelManagementdptzRelativeMoveCommandParams ); - audioOutputClusterInteractionInfoMap.put("renameOutput", audioOutputrenameOutputInteractionInfo); + cameraAvSettingsUserLevelManagementClusterInteractionInfoMap.put("dptzRelativeMove", cameraAvSettingsUserLevelManagementdptzRelativeMoveInteractionInfo); - commandMap.put("audioOutput", audioOutputClusterInteractionInfoMap); + commandMap.put("cameraAvSettingsUserLevelManagement", cameraAvSettingsUserLevelManagementClusterInteractionInfoMap); - Map applicationLauncherClusterInteractionInfoMap = new LinkedHashMap<>(); + Map webRTCTransportProviderClusterInteractionInfoMap = new LinkedHashMap<>(); - Map applicationLauncherlaunchAppCommandParams = new LinkedHashMap(); + Map webRTCTransportProviderwebRTCSolicitOfferCommandParams = new LinkedHashMap(); + CommandParameterInfo webRTCTransportProviderwebRTCSolicitOfferstreamTypeCommandParameterInfo = new CommandParameterInfo("streamType", Integer.class, Integer.class); + webRTCTransportProviderwebRTCSolicitOfferCommandParams.put("streamType",webRTCTransportProviderwebRTCSolicitOfferstreamTypeCommandParameterInfo); - CommandParameterInfo applicationLauncherlaunchAppdataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, byte[].class); - applicationLauncherlaunchAppCommandParams.put("data",applicationLauncherlaunchAppdataCommandParameterInfo); - InteractionInfo applicationLauncherlaunchAppInteractionInfo = new InteractionInfo( + CommandParameterInfo webRTCTransportProviderwebRTCSolicitOffervideoStreamIDCommandParameterInfo = new CommandParameterInfo("videoStreamID", Optional.class, Integer.class); + webRTCTransportProviderwebRTCSolicitOfferCommandParams.put("videoStreamID",webRTCTransportProviderwebRTCSolicitOffervideoStreamIDCommandParameterInfo); + + CommandParameterInfo webRTCTransportProviderwebRTCSolicitOfferaudioStreamIDCommandParameterInfo = new CommandParameterInfo("audioStreamID", Optional.class, Integer.class); + webRTCTransportProviderwebRTCSolicitOfferCommandParams.put("audioStreamID",webRTCTransportProviderwebRTCSolicitOfferaudioStreamIDCommandParameterInfo); + + + CommandParameterInfo webRTCTransportProviderwebRTCSolicitOfferICETransportPolicyCommandParameterInfo = new CommandParameterInfo("ICETransportPolicy", Optional.class, String.class); + webRTCTransportProviderwebRTCSolicitOfferCommandParams.put("ICETransportPolicy",webRTCTransportProviderwebRTCSolicitOfferICETransportPolicyCommandParameterInfo); + + CommandParameterInfo webRTCTransportProviderwebRTCSolicitOffermetadataOptionsCommandParameterInfo = new CommandParameterInfo("metadataOptions", Optional.class, Integer.class); + webRTCTransportProviderwebRTCSolicitOfferCommandParams.put("metadataOptions",webRTCTransportProviderwebRTCSolicitOffermetadataOptionsCommandParameterInfo); + InteractionInfo webRTCTransportProviderwebRTCSolicitOfferInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ApplicationLauncherCluster) cluster) - .launchApp((ChipClusters.ApplicationLauncherCluster.LauncherResponseCallback) callback - , (Optional) - commandArguments.get("application") + ((ChipClusters.WebRTCTransportProviderCluster) cluster) + .webRTCSolicitOffer((ChipClusters.WebRTCTransportProviderCluster.WebRTCSolicitOfferResponseCallback) callback + , (Integer) + commandArguments.get("streamType") - , (Optional) - commandArguments.get("data") + , (Optional) + commandArguments.get("videoStreamID") - ); - }, - () -> new DelegatedApplicationLauncherClusterLauncherResponseCallback(), - applicationLauncherlaunchAppCommandParams - ); - applicationLauncherClusterInteractionInfoMap.put("launchApp", applicationLauncherlaunchAppInteractionInfo); + , (Optional) + commandArguments.get("audioStreamID") - Map applicationLauncherstopAppCommandParams = new LinkedHashMap(); + , (Optional>) + commandArguments.get("ICEServers") - InteractionInfo applicationLauncherstopAppInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ApplicationLauncherCluster) cluster) - .stopApp((ChipClusters.ApplicationLauncherCluster.LauncherResponseCallback) callback - , (Optional) - commandArguments.get("application") + , (Optional) + commandArguments.get("ICETransportPolicy") + + , (Optional) + commandArguments.get("metadataOptions") ); }, - () -> new DelegatedApplicationLauncherClusterLauncherResponseCallback(), - applicationLauncherstopAppCommandParams + () -> new DelegatedWebRTCTransportProviderClusterWebRTCSolicitOfferResponseCallback(), + webRTCTransportProviderwebRTCSolicitOfferCommandParams ); - applicationLauncherClusterInteractionInfoMap.put("stopApp", applicationLauncherstopAppInteractionInfo); + webRTCTransportProviderClusterInteractionInfoMap.put("webRTCSolicitOffer", webRTCTransportProviderwebRTCSolicitOfferInteractionInfo); - Map applicationLauncherhideAppCommandParams = new LinkedHashMap(); + Map webRTCTransportProviderwebRTCProvideOfferCommandParams = new LinkedHashMap(); - InteractionInfo applicationLauncherhideAppInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ApplicationLauncherCluster) cluster) - .hideApp((ChipClusters.ApplicationLauncherCluster.LauncherResponseCallback) callback - , (Optional) - commandArguments.get("application") + CommandParameterInfo webRTCTransportProviderwebRTCProvideOfferwebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportProviderwebRTCProvideOfferCommandParams.put("webRTCSessionID",webRTCTransportProviderwebRTCProvideOfferwebRTCSessionIDCommandParameterInfo); - ); - }, - () -> new DelegatedApplicationLauncherClusterLauncherResponseCallback(), - applicationLauncherhideAppCommandParams - ); - applicationLauncherClusterInteractionInfoMap.put("hideApp", applicationLauncherhideAppInteractionInfo); + CommandParameterInfo webRTCTransportProviderwebRTCProvideOffersdpCommandParameterInfo = new CommandParameterInfo("sdp", String.class, String.class); + webRTCTransportProviderwebRTCProvideOfferCommandParams.put("sdp",webRTCTransportProviderwebRTCProvideOffersdpCommandParameterInfo); - commandMap.put("applicationLauncher", applicationLauncherClusterInteractionInfoMap); + CommandParameterInfo webRTCTransportProviderwebRTCProvideOfferstreamTypeCommandParameterInfo = new CommandParameterInfo("streamType", Integer.class, Integer.class); + webRTCTransportProviderwebRTCProvideOfferCommandParams.put("streamType",webRTCTransportProviderwebRTCProvideOfferstreamTypeCommandParameterInfo); - Map applicationBasicClusterInteractionInfoMap = new LinkedHashMap<>(); + CommandParameterInfo webRTCTransportProviderwebRTCProvideOffervideoStreamIDCommandParameterInfo = new CommandParameterInfo("videoStreamID", Optional.class, Integer.class); + webRTCTransportProviderwebRTCProvideOfferCommandParams.put("videoStreamID",webRTCTransportProviderwebRTCProvideOffervideoStreamIDCommandParameterInfo); - commandMap.put("applicationBasic", applicationBasicClusterInteractionInfoMap); + CommandParameterInfo webRTCTransportProviderwebRTCProvideOfferaudioStreamIDCommandParameterInfo = new CommandParameterInfo("audioStreamID", Optional.class, Integer.class); + webRTCTransportProviderwebRTCProvideOfferCommandParams.put("audioStreamID",webRTCTransportProviderwebRTCProvideOfferaudioStreamIDCommandParameterInfo); - Map accountLoginClusterInteractionInfoMap = new LinkedHashMap<>(); - Map accountLogingetSetupPINCommandParams = new LinkedHashMap(); + CommandParameterInfo webRTCTransportProviderwebRTCProvideOfferICETransportPolicyCommandParameterInfo = new CommandParameterInfo("ICETransportPolicy", Optional.class, String.class); + webRTCTransportProviderwebRTCProvideOfferCommandParams.put("ICETransportPolicy",webRTCTransportProviderwebRTCProvideOfferICETransportPolicyCommandParameterInfo); - CommandParameterInfo accountLogingetSetupPINtempAccountIdentifierCommandParameterInfo = new CommandParameterInfo("tempAccountIdentifier", String.class, String.class); - accountLogingetSetupPINCommandParams.put("tempAccountIdentifier",accountLogingetSetupPINtempAccountIdentifierCommandParameterInfo); - InteractionInfo accountLogingetSetupPINInteractionInfo = new InteractionInfo( + CommandParameterInfo webRTCTransportProviderwebRTCProvideOffermetadataOptionsCommandParameterInfo = new CommandParameterInfo("metadataOptions", Optional.class, Integer.class); + webRTCTransportProviderwebRTCProvideOfferCommandParams.put("metadataOptions",webRTCTransportProviderwebRTCProvideOffermetadataOptionsCommandParameterInfo); + InteractionInfo webRTCTransportProviderwebRTCProvideOfferInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AccountLoginCluster) cluster) - .getSetupPIN((ChipClusters.AccountLoginCluster.GetSetupPINResponseCallback) callback + ((ChipClusters.WebRTCTransportProviderCluster) cluster) + .webRTCProvideOffer((ChipClusters.WebRTCTransportProviderCluster.WebRTCProvideOfferResponseCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") + , (String) - commandArguments.get("tempAccountIdentifier") + commandArguments.get("sdp") - , 10000); + , (Integer) + commandArguments.get("streamType") + + , (Optional) + commandArguments.get("videoStreamID") + + , (Optional) + commandArguments.get("audioStreamID") + + , (Optional>) + commandArguments.get("ICEServers") + + , (Optional) + commandArguments.get("ICETransportPolicy") + + , (Optional) + commandArguments.get("metadataOptions") + + ); }, - () -> new DelegatedAccountLoginClusterGetSetupPINResponseCallback(), - accountLogingetSetupPINCommandParams + () -> new DelegatedWebRTCTransportProviderClusterWebRTCProvideOfferResponseCallback(), + webRTCTransportProviderwebRTCProvideOfferCommandParams ); - accountLoginClusterInteractionInfoMap.put("getSetupPIN", accountLogingetSetupPINInteractionInfo); + webRTCTransportProviderClusterInteractionInfoMap.put("webRTCProvideOffer", webRTCTransportProviderwebRTCProvideOfferInteractionInfo); - Map accountLoginloginCommandParams = new LinkedHashMap(); - - CommandParameterInfo accountLoginlogintempAccountIdentifierCommandParameterInfo = new CommandParameterInfo("tempAccountIdentifier", String.class, String.class); - accountLoginloginCommandParams.put("tempAccountIdentifier",accountLoginlogintempAccountIdentifierCommandParameterInfo); + Map webRTCTransportProviderwebRTCProvideAnswerCommandParams = new LinkedHashMap(); - CommandParameterInfo accountLoginloginsetupPINCommandParameterInfo = new CommandParameterInfo("setupPIN", String.class, String.class); - accountLoginloginCommandParams.put("setupPIN",accountLoginloginsetupPINCommandParameterInfo); + CommandParameterInfo webRTCTransportProviderwebRTCProvideAnswerwebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportProviderwebRTCProvideAnswerCommandParams.put("webRTCSessionID",webRTCTransportProviderwebRTCProvideAnswerwebRTCSessionIDCommandParameterInfo); - CommandParameterInfo accountLoginloginnodeCommandParameterInfo = new CommandParameterInfo("node", Optional.class, Long.class); - accountLoginloginCommandParams.put("node",accountLoginloginnodeCommandParameterInfo); - InteractionInfo accountLoginloginInteractionInfo = new InteractionInfo( + CommandParameterInfo webRTCTransportProviderwebRTCProvideAnswersdpCommandParameterInfo = new CommandParameterInfo("sdp", String.class, String.class); + webRTCTransportProviderwebRTCProvideAnswerCommandParams.put("sdp",webRTCTransportProviderwebRTCProvideAnswersdpCommandParameterInfo); + InteractionInfo webRTCTransportProviderwebRTCProvideAnswerInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AccountLoginCluster) cluster) - .login((DefaultClusterCallback) callback - , (String) - commandArguments.get("tempAccountIdentifier") + ((ChipClusters.WebRTCTransportProviderCluster) cluster) + .webRTCProvideAnswer((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") , (String) - commandArguments.get("setupPIN") - , (Optional) - commandArguments.get("node"), 10000 + commandArguments.get("sdp") ); }, () -> new DelegatedDefaultClusterCallback(), - accountLoginloginCommandParams + webRTCTransportProviderwebRTCProvideAnswerCommandParams ); - accountLoginClusterInteractionInfoMap.put("login", accountLoginloginInteractionInfo); + webRTCTransportProviderClusterInteractionInfoMap.put("webRTCProvideAnswer", webRTCTransportProviderwebRTCProvideAnswerInteractionInfo); - Map accountLoginlogoutCommandParams = new LinkedHashMap(); + Map webRTCTransportProviderwebRTCProvideICECandidateCommandParams = new LinkedHashMap(); - CommandParameterInfo accountLoginlogoutnodeCommandParameterInfo = new CommandParameterInfo("node", Optional.class, Long.class); - accountLoginlogoutCommandParams.put("node",accountLoginlogoutnodeCommandParameterInfo); - InteractionInfo accountLoginlogoutInteractionInfo = new InteractionInfo( + CommandParameterInfo webRTCTransportProviderwebRTCProvideICECandidatewebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportProviderwebRTCProvideICECandidateCommandParams.put("webRTCSessionID",webRTCTransportProviderwebRTCProvideICECandidatewebRTCSessionIDCommandParameterInfo); + + CommandParameterInfo webRTCTransportProviderwebRTCProvideICECandidateICECandidateCommandParameterInfo = new CommandParameterInfo("ICECandidate", String.class, String.class); + webRTCTransportProviderwebRTCProvideICECandidateCommandParams.put("ICECandidate",webRTCTransportProviderwebRTCProvideICECandidateICECandidateCommandParameterInfo); + InteractionInfo webRTCTransportProviderwebRTCProvideICECandidateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.AccountLoginCluster) cluster) - .logout((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("node"), 10000 + ((ChipClusters.WebRTCTransportProviderCluster) cluster) + .webRTCProvideICECandidate((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") + , (String) + commandArguments.get("ICECandidate") ); }, () -> new DelegatedDefaultClusterCallback(), - accountLoginlogoutCommandParams + webRTCTransportProviderwebRTCProvideICECandidateCommandParams ); - accountLoginClusterInteractionInfoMap.put("logout", accountLoginlogoutInteractionInfo); + webRTCTransportProviderClusterInteractionInfoMap.put("webRTCProvideICECandidate", webRTCTransportProviderwebRTCProvideICECandidateInteractionInfo); - commandMap.put("accountLogin", accountLoginClusterInteractionInfoMap); - - Map contentControlClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map contentControlupdatePINCommandParams = new LinkedHashMap(); + Map webRTCTransportProviderwebRTCEndSessionCommandParams = new LinkedHashMap(); - CommandParameterInfo contentControlupdatePINoldPINCommandParameterInfo = new CommandParameterInfo("oldPIN", Optional.class, String.class); - contentControlupdatePINCommandParams.put("oldPIN",contentControlupdatePINoldPINCommandParameterInfo); + CommandParameterInfo webRTCTransportProviderwebRTCEndSessionwebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportProviderwebRTCEndSessionCommandParams.put("webRTCSessionID",webRTCTransportProviderwebRTCEndSessionwebRTCSessionIDCommandParameterInfo); - CommandParameterInfo contentControlupdatePINnewPINCommandParameterInfo = new CommandParameterInfo("newPIN", String.class, String.class); - contentControlupdatePINCommandParams.put("newPIN",contentControlupdatePINnewPINCommandParameterInfo); - InteractionInfo contentControlupdatePINInteractionInfo = new InteractionInfo( + CommandParameterInfo webRTCTransportProviderwebRTCEndSessionreasonCommandParameterInfo = new CommandParameterInfo("reason", Integer.class, Integer.class); + webRTCTransportProviderwebRTCEndSessionCommandParams.put("reason",webRTCTransportProviderwebRTCEndSessionreasonCommandParameterInfo); + InteractionInfo webRTCTransportProviderwebRTCEndSessionInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .updatePIN((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("oldPIN") - , (String) - commandArguments.get("newPIN") + ((ChipClusters.WebRTCTransportProviderCluster) cluster) + .webRTCEndSession((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") + , (Integer) + commandArguments.get("reason") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControlupdatePINCommandParams + webRTCTransportProviderwebRTCEndSessionCommandParams ); - contentControlClusterInteractionInfoMap.put("updatePIN", contentControlupdatePINInteractionInfo); + webRTCTransportProviderClusterInteractionInfoMap.put("webRTCEndSession", webRTCTransportProviderwebRTCEndSessionInteractionInfo); - Map contentControlresetPINCommandParams = new LinkedHashMap(); - InteractionInfo contentControlresetPINInteractionInfo = new InteractionInfo( - (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .resetPIN((ChipClusters.ContentControlCluster.ResetPINResponseCallback) callback - ); - }, - () -> new DelegatedContentControlClusterResetPINResponseCallback(), - contentControlresetPINCommandParams - ); - contentControlClusterInteractionInfoMap.put("resetPIN", contentControlresetPINInteractionInfo); + commandMap.put("webRTCTransportProvider", webRTCTransportProviderClusterInteractionInfoMap); - Map contentControlenableCommandParams = new LinkedHashMap(); - InteractionInfo contentControlenableInteractionInfo = new InteractionInfo( + Map webRTCTransportRequestorClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map webRTCTransportRequestorwebRTCOfferCommandParams = new LinkedHashMap(); + + CommandParameterInfo webRTCTransportRequestorwebRTCOfferwebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportRequestorwebRTCOfferCommandParams.put("webRTCSessionID",webRTCTransportRequestorwebRTCOfferwebRTCSessionIDCommandParameterInfo); + + CommandParameterInfo webRTCTransportRequestorwebRTCOffersdpCommandParameterInfo = new CommandParameterInfo("sdp", String.class, String.class); + webRTCTransportRequestorwebRTCOfferCommandParams.put("sdp",webRTCTransportRequestorwebRTCOffersdpCommandParameterInfo); + + + CommandParameterInfo webRTCTransportRequestorwebRTCOfferICETransportPolicyCommandParameterInfo = new CommandParameterInfo("ICETransportPolicy", Optional.class, String.class); + webRTCTransportRequestorwebRTCOfferCommandParams.put("ICETransportPolicy",webRTCTransportRequestorwebRTCOfferICETransportPolicyCommandParameterInfo); + InteractionInfo webRTCTransportRequestorwebRTCOfferInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .enable((DefaultClusterCallback) callback + ((ChipClusters.WebRTCTransportRequestorCluster) cluster) + .webRTCOffer((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") + , (String) + commandArguments.get("sdp") + , (Optional>) + commandArguments.get("ICEServers") + , (Optional) + commandArguments.get("ICETransportPolicy") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControlenableCommandParams + webRTCTransportRequestorwebRTCOfferCommandParams ); - contentControlClusterInteractionInfoMap.put("enable", contentControlenableInteractionInfo); + webRTCTransportRequestorClusterInteractionInfoMap.put("webRTCOffer", webRTCTransportRequestorwebRTCOfferInteractionInfo); - Map contentControldisableCommandParams = new LinkedHashMap(); - InteractionInfo contentControldisableInteractionInfo = new InteractionInfo( + Map webRTCTransportRequestorwebRTCAnswerCommandParams = new LinkedHashMap(); + + CommandParameterInfo webRTCTransportRequestorwebRTCAnswerwebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportRequestorwebRTCAnswerCommandParams.put("webRTCSessionID",webRTCTransportRequestorwebRTCAnswerwebRTCSessionIDCommandParameterInfo); + + CommandParameterInfo webRTCTransportRequestorwebRTCAnswersdpCommandParameterInfo = new CommandParameterInfo("sdp", String.class, String.class); + webRTCTransportRequestorwebRTCAnswerCommandParams.put("sdp",webRTCTransportRequestorwebRTCAnswersdpCommandParameterInfo); + InteractionInfo webRTCTransportRequestorwebRTCAnswerInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .disable((DefaultClusterCallback) callback + ((ChipClusters.WebRTCTransportRequestorCluster) cluster) + .webRTCAnswer((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") + , (String) + commandArguments.get("sdp") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControldisableCommandParams + webRTCTransportRequestorwebRTCAnswerCommandParams ); - contentControlClusterInteractionInfoMap.put("disable", contentControldisableInteractionInfo); + webRTCTransportRequestorClusterInteractionInfoMap.put("webRTCAnswer", webRTCTransportRequestorwebRTCAnswerInteractionInfo); - Map contentControladdBonusTimeCommandParams = new LinkedHashMap(); + Map webRTCTransportRequestorwebRTCICECandidateCommandParams = new LinkedHashMap(); - CommandParameterInfo contentControladdBonusTimePINCodeCommandParameterInfo = new CommandParameterInfo("PINCode", Optional.class, String.class); - contentControladdBonusTimeCommandParams.put("PINCode",contentControladdBonusTimePINCodeCommandParameterInfo); + CommandParameterInfo webRTCTransportRequestorwebRTCICECandidatewebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportRequestorwebRTCICECandidateCommandParams.put("webRTCSessionID",webRTCTransportRequestorwebRTCICECandidatewebRTCSessionIDCommandParameterInfo); - CommandParameterInfo contentControladdBonusTimebonusTimeCommandParameterInfo = new CommandParameterInfo("bonusTime", Optional.class, Long.class); - contentControladdBonusTimeCommandParams.put("bonusTime",contentControladdBonusTimebonusTimeCommandParameterInfo); - InteractionInfo contentControladdBonusTimeInteractionInfo = new InteractionInfo( + CommandParameterInfo webRTCTransportRequestorwebRTCICECandidateICECandidateCommandParameterInfo = new CommandParameterInfo("ICECandidate", String.class, String.class); + webRTCTransportRequestorwebRTCICECandidateCommandParams.put("ICECandidate",webRTCTransportRequestorwebRTCICECandidateICECandidateCommandParameterInfo); + InteractionInfo webRTCTransportRequestorwebRTCICECandidateInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .addBonusTime((DefaultClusterCallback) callback - , (Optional) - commandArguments.get("PINCode") - , (Optional) - commandArguments.get("bonusTime") + ((ChipClusters.WebRTCTransportRequestorCluster) cluster) + .webRTCICECandidate((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") + , (String) + commandArguments.get("ICECandidate") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControladdBonusTimeCommandParams + webRTCTransportRequestorwebRTCICECandidateCommandParams ); - contentControlClusterInteractionInfoMap.put("addBonusTime", contentControladdBonusTimeInteractionInfo); + webRTCTransportRequestorClusterInteractionInfoMap.put("webRTCICECandidate", webRTCTransportRequestorwebRTCICECandidateInteractionInfo); - Map contentControlsetScreenDailyTimeCommandParams = new LinkedHashMap(); + Map webRTCTransportRequestorwebRTCEndCommandParams = new LinkedHashMap(); - CommandParameterInfo contentControlsetScreenDailyTimescreenTimeCommandParameterInfo = new CommandParameterInfo("screenTime", Long.class, Long.class); - contentControlsetScreenDailyTimeCommandParams.put("screenTime",contentControlsetScreenDailyTimescreenTimeCommandParameterInfo); - InteractionInfo contentControlsetScreenDailyTimeInteractionInfo = new InteractionInfo( + CommandParameterInfo webRTCTransportRequestorwebRTCEndwebRTCSessionIDCommandParameterInfo = new CommandParameterInfo("webRTCSessionID", Integer.class, Integer.class); + webRTCTransportRequestorwebRTCEndCommandParams.put("webRTCSessionID",webRTCTransportRequestorwebRTCEndwebRTCSessionIDCommandParameterInfo); + + CommandParameterInfo webRTCTransportRequestorwebRTCEndreasonCommandParameterInfo = new CommandParameterInfo("reason", Integer.class, Integer.class); + webRTCTransportRequestorwebRTCEndCommandParams.put("reason",webRTCTransportRequestorwebRTCEndreasonCommandParameterInfo); + InteractionInfo webRTCTransportRequestorwebRTCEndInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .setScreenDailyTime((DefaultClusterCallback) callback - , (Long) - commandArguments.get("screenTime") + ((ChipClusters.WebRTCTransportRequestorCluster) cluster) + .webRTCEnd((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("webRTCSessionID") + , (Integer) + commandArguments.get("reason") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControlsetScreenDailyTimeCommandParams + webRTCTransportRequestorwebRTCEndCommandParams ); - contentControlClusterInteractionInfoMap.put("setScreenDailyTime", contentControlsetScreenDailyTimeInteractionInfo); + webRTCTransportRequestorClusterInteractionInfoMap.put("webRTCEnd", webRTCTransportRequestorwebRTCEndInteractionInfo); - Map contentControlblockUnratedContentCommandParams = new LinkedHashMap(); - InteractionInfo contentControlblockUnratedContentInteractionInfo = new InteractionInfo( + commandMap.put("webRTCTransportRequestor", webRTCTransportRequestorClusterInteractionInfoMap); + + Map pushAvStreamTransportClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map pushAvStreamTransportallocatePushTransportCommandParams = new LinkedHashMap(); + + InteractionInfo pushAvStreamTransportallocatePushTransportInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .blockUnratedContent((DefaultClusterCallback) callback + ((ChipClusters.PushAvStreamTransportCluster) cluster) + .allocatePushTransport((ChipClusters.PushAvStreamTransportCluster.AllocatePushTransportResponseCallback) callback + , (ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct) + commandArguments.get("streamTransportOptions") + + ); + }, + () -> new DelegatedPushAvStreamTransportClusterAllocatePushTransportResponseCallback(), + pushAvStreamTransportallocatePushTransportCommandParams + ); + pushAvStreamTransportClusterInteractionInfoMap.put("allocatePushTransport", pushAvStreamTransportallocatePushTransportInteractionInfo); + + Map pushAvStreamTransportdeallocatePushTransportCommandParams = new LinkedHashMap(); + + CommandParameterInfo pushAvStreamTransportdeallocatePushTransportconnectionIDCommandParameterInfo = new CommandParameterInfo("connectionID", Integer.class, Integer.class); + pushAvStreamTransportdeallocatePushTransportCommandParams.put("connectionID",pushAvStreamTransportdeallocatePushTransportconnectionIDCommandParameterInfo); + InteractionInfo pushAvStreamTransportdeallocatePushTransportInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster) + .deallocatePushTransport((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("connectionID") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControlblockUnratedContentCommandParams + pushAvStreamTransportdeallocatePushTransportCommandParams ); - contentControlClusterInteractionInfoMap.put("blockUnratedContent", contentControlblockUnratedContentInteractionInfo); + pushAvStreamTransportClusterInteractionInfoMap.put("deallocatePushTransport", pushAvStreamTransportdeallocatePushTransportInteractionInfo); - Map contentControlunblockUnratedContentCommandParams = new LinkedHashMap(); - InteractionInfo contentControlunblockUnratedContentInteractionInfo = new InteractionInfo( + Map pushAvStreamTransportmodifyPushTransportCommandParams = new LinkedHashMap(); + + CommandParameterInfo pushAvStreamTransportmodifyPushTransportconnectionIDCommandParameterInfo = new CommandParameterInfo("connectionID", Integer.class, Integer.class); + pushAvStreamTransportmodifyPushTransportCommandParams.put("connectionID",pushAvStreamTransportmodifyPushTransportconnectionIDCommandParameterInfo); + + InteractionInfo pushAvStreamTransportmodifyPushTransportInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .unblockUnratedContent((DefaultClusterCallback) callback + ((ChipClusters.PushAvStreamTransportCluster) cluster) + .modifyPushTransport((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("connectionID") + , (ChipStructs.PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct) + commandArguments.get("streamTransportOptions") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControlunblockUnratedContentCommandParams + pushAvStreamTransportmodifyPushTransportCommandParams ); - contentControlClusterInteractionInfoMap.put("unblockUnratedContent", contentControlunblockUnratedContentInteractionInfo); + pushAvStreamTransportClusterInteractionInfoMap.put("modifyPushTransport", pushAvStreamTransportmodifyPushTransportInteractionInfo); - Map contentControlsetOnDemandRatingThresholdCommandParams = new LinkedHashMap(); + Map pushAvStreamTransportsetTransportStatusCommandParams = new LinkedHashMap(); - CommandParameterInfo contentControlsetOnDemandRatingThresholdratingCommandParameterInfo = new CommandParameterInfo("rating", String.class, String.class); - contentControlsetOnDemandRatingThresholdCommandParams.put("rating",contentControlsetOnDemandRatingThresholdratingCommandParameterInfo); - InteractionInfo contentControlsetOnDemandRatingThresholdInteractionInfo = new InteractionInfo( + CommandParameterInfo pushAvStreamTransportsetTransportStatusconnectionIDCommandParameterInfo = new CommandParameterInfo("connectionID", Integer.class, Integer.class); + pushAvStreamTransportsetTransportStatusCommandParams.put("connectionID",pushAvStreamTransportsetTransportStatusconnectionIDCommandParameterInfo); + + CommandParameterInfo pushAvStreamTransportsetTransportStatusstreamTransportStatusCommandParameterInfo = new CommandParameterInfo("streamTransportStatus", Integer.class, Integer.class); + pushAvStreamTransportsetTransportStatusCommandParams.put("streamTransportStatus",pushAvStreamTransportsetTransportStatusstreamTransportStatusCommandParameterInfo); + InteractionInfo pushAvStreamTransportsetTransportStatusInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .setOnDemandRatingThreshold((DefaultClusterCallback) callback - , (String) - commandArguments.get("rating") + ((ChipClusters.PushAvStreamTransportCluster) cluster) + .setTransportStatus((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("connectionID") + , (Integer) + commandArguments.get("streamTransportStatus") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControlsetOnDemandRatingThresholdCommandParams + pushAvStreamTransportsetTransportStatusCommandParams ); - contentControlClusterInteractionInfoMap.put("setOnDemandRatingThreshold", contentControlsetOnDemandRatingThresholdInteractionInfo); + pushAvStreamTransportClusterInteractionInfoMap.put("setTransportStatus", pushAvStreamTransportsetTransportStatusInteractionInfo); - Map contentControlsetScheduledContentRatingThresholdCommandParams = new LinkedHashMap(); + Map pushAvStreamTransportmanuallyTriggerTransportCommandParams = new LinkedHashMap(); - CommandParameterInfo contentControlsetScheduledContentRatingThresholdratingCommandParameterInfo = new CommandParameterInfo("rating", String.class, String.class); - contentControlsetScheduledContentRatingThresholdCommandParams.put("rating",contentControlsetScheduledContentRatingThresholdratingCommandParameterInfo); - InteractionInfo contentControlsetScheduledContentRatingThresholdInteractionInfo = new InteractionInfo( + CommandParameterInfo pushAvStreamTransportmanuallyTriggerTransportconnectionIDCommandParameterInfo = new CommandParameterInfo("connectionID", Integer.class, Integer.class); + pushAvStreamTransportmanuallyTriggerTransportCommandParams.put("connectionID",pushAvStreamTransportmanuallyTriggerTransportconnectionIDCommandParameterInfo); + + CommandParameterInfo pushAvStreamTransportmanuallyTriggerTransportactivationReasonCommandParameterInfo = new CommandParameterInfo("activationReason", Integer.class, Integer.class); + pushAvStreamTransportmanuallyTriggerTransportCommandParams.put("activationReason",pushAvStreamTransportmanuallyTriggerTransportactivationReasonCommandParameterInfo); + + InteractionInfo pushAvStreamTransportmanuallyTriggerTransportInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentControlCluster) cluster) - .setScheduledContentRatingThreshold((DefaultClusterCallback) callback - , (String) - commandArguments.get("rating") + ((ChipClusters.PushAvStreamTransportCluster) cluster) + .manuallyTriggerTransport((DefaultClusterCallback) callback + , (Integer) + commandArguments.get("connectionID") + , (Integer) + commandArguments.get("activationReason") + , (Optional) + commandArguments.get("timeControl") ); }, () -> new DelegatedDefaultClusterCallback(), - contentControlsetScheduledContentRatingThresholdCommandParams + pushAvStreamTransportmanuallyTriggerTransportCommandParams ); - contentControlClusterInteractionInfoMap.put("setScheduledContentRatingThreshold", contentControlsetScheduledContentRatingThresholdInteractionInfo); - - commandMap.put("contentControl", contentControlClusterInteractionInfoMap); - - Map contentAppObserverClusterInteractionInfoMap = new LinkedHashMap<>(); - - Map contentAppObservercontentAppMessageCommandParams = new LinkedHashMap(); + pushAvStreamTransportClusterInteractionInfoMap.put("manuallyTriggerTransport", pushAvStreamTransportmanuallyTriggerTransportInteractionInfo); - CommandParameterInfo contentAppObservercontentAppMessagedataCommandParameterInfo = new CommandParameterInfo("data", Optional.class, String.class); - contentAppObservercontentAppMessageCommandParams.put("data",contentAppObservercontentAppMessagedataCommandParameterInfo); + Map pushAvStreamTransportfindStreamConfigurationCommandParams = new LinkedHashMap(); - CommandParameterInfo contentAppObservercontentAppMessageencodingHintCommandParameterInfo = new CommandParameterInfo("encodingHint", String.class, String.class); - contentAppObservercontentAppMessageCommandParams.put("encodingHint",contentAppObservercontentAppMessageencodingHintCommandParameterInfo); - InteractionInfo contentAppObservercontentAppMessageInteractionInfo = new InteractionInfo( + CommandParameterInfo pushAvStreamTransportfindStreamConfigurationconnectionIDCommandParameterInfo = new CommandParameterInfo("connectionID", Optional.class, Integer.class); + pushAvStreamTransportfindStreamConfigurationCommandParams.put("connectionID",pushAvStreamTransportfindStreamConfigurationconnectionIDCommandParameterInfo); + InteractionInfo pushAvStreamTransportfindStreamConfigurationInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { - ((ChipClusters.ContentAppObserverCluster) cluster) - .contentAppMessage((ChipClusters.ContentAppObserverCluster.ContentAppMessageResponseCallback) callback - , (Optional) - commandArguments.get("data") - - , (String) - commandArguments.get("encodingHint") + ((ChipClusters.PushAvStreamTransportCluster) cluster) + .findStreamConfiguration((ChipClusters.PushAvStreamTransportCluster.FindStreamConfigurationResponseCallback) callback + , (Optional) + commandArguments.get("connectionID") ); }, - () -> new DelegatedContentAppObserverClusterContentAppMessageResponseCallback(), - contentAppObservercontentAppMessageCommandParams + () -> new DelegatedPushAvStreamTransportClusterFindStreamConfigurationResponseCallback(), + pushAvStreamTransportfindStreamConfigurationCommandParams ); - contentAppObserverClusterInteractionInfoMap.put("contentAppMessage", contentAppObservercontentAppMessageInteractionInfo); + pushAvStreamTransportClusterInteractionInfoMap.put("findStreamConfiguration", pushAvStreamTransportfindStreamConfigurationInteractionInfo); - commandMap.put("contentAppObserver", contentAppObserverClusterInteractionInfoMap); + commandMap.put("pushAvStreamTransport", pushAvStreamTransportClusterInteractionInfoMap); + + Map chimeClusterInteractionInfoMap = new LinkedHashMap<>(); + + Map chimeplayChimeSoundCommandParams = new LinkedHashMap(); + InteractionInfo chimeplayChimeSoundInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster) + .playChimeSound((DefaultClusterCallback) callback + ); + }, + () -> new DelegatedDefaultClusterCallback(), + chimeplayChimeSoundCommandParams + ); + chimeClusterInteractionInfoMap.put("playChimeSound", chimeplayChimeSoundInteractionInfo); + + commandMap.put("chime", chimeClusterInteractionInfoMap); Map ecosystemInformationClusterInteractionInfoMap = new LinkedHashMap<>(); diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java index b09c89302d33b6..efb24412e13669 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java @@ -18677,6 +18677,1042 @@ private static Map readContentAppObserverInteractionInf return result; } + private static Map readCameraAvStreamManagementInteractionInfo() { + Map result = new LinkedHashMap<>();Map readCameraAvStreamManagementMaxConcurrentVideoEncodersCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMaxConcurrentVideoEncodersAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMaxConcurrentVideoEncodersAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementMaxConcurrentVideoEncodersCommandParams + ); + result.put("readMaxConcurrentVideoEncodersAttribute", readCameraAvStreamManagementMaxConcurrentVideoEncodersAttributeInteractionInfo); + Map readCameraAvStreamManagementMaxEncodedPixelRateCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMaxEncodedPixelRateAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMaxEncodedPixelRateAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readCameraAvStreamManagementMaxEncodedPixelRateCommandParams + ); + result.put("readMaxEncodedPixelRateAttribute", readCameraAvStreamManagementMaxEncodedPixelRateAttributeInteractionInfo); + Map readCameraAvStreamManagementNightVisionCapableCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementNightVisionCapableAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readNightVisionCapableAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementNightVisionCapableCommandParams + ); + result.put("readNightVisionCapableAttribute", readCameraAvStreamManagementNightVisionCapableAttributeInteractionInfo); + Map readCameraAvStreamManagementRateDistortionTradeOffPointsCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementRateDistortionTradeOffPointsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readRateDistortionTradeOffPointsAttribute( + (ChipClusters.CameraAvStreamManagementCluster.RateDistortionTradeOffPointsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterRateDistortionTradeOffPointsAttributeCallback(), + readCameraAvStreamManagementRateDistortionTradeOffPointsCommandParams + ); + result.put("readRateDistortionTradeOffPointsAttribute", readCameraAvStreamManagementRateDistortionTradeOffPointsAttributeInteractionInfo); + Map readCameraAvStreamManagementMaxPreRollBufferSizeCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMaxPreRollBufferSizeAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMaxPreRollBufferSizeAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readCameraAvStreamManagementMaxPreRollBufferSizeCommandParams + ); + result.put("readMaxPreRollBufferSizeAttribute", readCameraAvStreamManagementMaxPreRollBufferSizeAttributeInteractionInfo); + Map readCameraAvStreamManagementTwoWayTalkSupportCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementTwoWayTalkSupportAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readTwoWayTalkSupportAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementTwoWayTalkSupportCommandParams + ); + result.put("readTwoWayTalkSupportAttribute", readCameraAvStreamManagementTwoWayTalkSupportAttributeInteractionInfo); + Map readCameraAvStreamManagementSupportedSnapshotParamsCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementSupportedSnapshotParamsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readSupportedSnapshotParamsAttribute( + (ChipClusters.CameraAvStreamManagementCluster.SupportedSnapshotParamsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterSupportedSnapshotParamsAttributeCallback(), + readCameraAvStreamManagementSupportedSnapshotParamsCommandParams + ); + result.put("readSupportedSnapshotParamsAttribute", readCameraAvStreamManagementSupportedSnapshotParamsAttributeInteractionInfo); + Map readCameraAvStreamManagementHDRCapableCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementHDRCapableAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readHDRCapableAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementHDRCapableCommandParams + ); + result.put("readHDRCapableAttribute", readCameraAvStreamManagementHDRCapableAttributeInteractionInfo); + Map readCameraAvStreamManagementMaxNetworkBandwidthCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMaxNetworkBandwidthAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMaxNetworkBandwidthAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readCameraAvStreamManagementMaxNetworkBandwidthCommandParams + ); + result.put("readMaxNetworkBandwidthAttribute", readCameraAvStreamManagementMaxNetworkBandwidthAttributeInteractionInfo); + Map readCameraAvStreamManagementCurrentFrameRateCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementCurrentFrameRateAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readCurrentFrameRateAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementCurrentFrameRateCommandParams + ); + result.put("readCurrentFrameRateAttribute", readCameraAvStreamManagementCurrentFrameRateAttributeInteractionInfo); + Map readCameraAvStreamManagementHDRModeCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementHDRModeAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readHDRModeAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementHDRModeCommandParams + ); + result.put("readHDRModeAttribute", readCameraAvStreamManagementHDRModeAttributeInteractionInfo); + Map readCameraAvStreamManagementCurrentVideoCodecsCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementCurrentVideoCodecsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readCurrentVideoCodecsAttribute( + (ChipClusters.CameraAvStreamManagementCluster.CurrentVideoCodecsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterCurrentVideoCodecsAttributeCallback(), + readCameraAvStreamManagementCurrentVideoCodecsCommandParams + ); + result.put("readCurrentVideoCodecsAttribute", readCameraAvStreamManagementCurrentVideoCodecsAttributeInteractionInfo); + Map readCameraAvStreamManagementFabricsUsingCameraCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementFabricsUsingCameraAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readFabricsUsingCameraAttribute( + (ChipClusters.CameraAvStreamManagementCluster.FabricsUsingCameraAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterFabricsUsingCameraAttributeCallback(), + readCameraAvStreamManagementFabricsUsingCameraCommandParams + ); + result.put("readFabricsUsingCameraAttribute", readCameraAvStreamManagementFabricsUsingCameraAttributeInteractionInfo); + Map readCameraAvStreamManagementAllocatedVideoStreamsCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementAllocatedVideoStreamsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readAllocatedVideoStreamsAttribute( + (ChipClusters.CameraAvStreamManagementCluster.AllocatedVideoStreamsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterAllocatedVideoStreamsAttributeCallback(), + readCameraAvStreamManagementAllocatedVideoStreamsCommandParams + ); + result.put("readAllocatedVideoStreamsAttribute", readCameraAvStreamManagementAllocatedVideoStreamsAttributeInteractionInfo); + Map readCameraAvStreamManagementAllocatedAudioStreamsCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementAllocatedAudioStreamsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readAllocatedAudioStreamsAttribute( + (ChipClusters.CameraAvStreamManagementCluster.AllocatedAudioStreamsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterAllocatedAudioStreamsAttributeCallback(), + readCameraAvStreamManagementAllocatedAudioStreamsCommandParams + ); + result.put("readAllocatedAudioStreamsAttribute", readCameraAvStreamManagementAllocatedAudioStreamsAttributeInteractionInfo); + Map readCameraAvStreamManagementAllocatedSnapshotStreamsCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementAllocatedSnapshotStreamsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readAllocatedSnapshotStreamsAttribute( + (ChipClusters.CameraAvStreamManagementCluster.AllocatedSnapshotStreamsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterAllocatedSnapshotStreamsAttributeCallback(), + readCameraAvStreamManagementAllocatedSnapshotStreamsCommandParams + ); + result.put("readAllocatedSnapshotStreamsAttribute", readCameraAvStreamManagementAllocatedSnapshotStreamsAttributeInteractionInfo); + Map readCameraAvStreamManagementRankedVideoStreamPrioritiesListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementRankedVideoStreamPrioritiesListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readRankedVideoStreamPrioritiesListAttribute( + (ChipClusters.CameraAvStreamManagementCluster.RankedVideoStreamPrioritiesListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterRankedVideoStreamPrioritiesListAttributeCallback(), + readCameraAvStreamManagementRankedVideoStreamPrioritiesListCommandParams + ); + result.put("readRankedVideoStreamPrioritiesListAttribute", readCameraAvStreamManagementRankedVideoStreamPrioritiesListAttributeInteractionInfo); + Map readCameraAvStreamManagementSoftRecordingPrivacyModeSettingCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementSoftRecordingPrivacyModeSettingAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readSoftRecordingPrivacyModeSettingAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementSoftRecordingPrivacyModeSettingCommandParams + ); + result.put("readSoftRecordingPrivacyModeSettingAttribute", readCameraAvStreamManagementSoftRecordingPrivacyModeSettingAttributeInteractionInfo); + Map readCameraAvStreamManagementSoftLivestreamPrivacyModeSettingCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementSoftLivestreamPrivacyModeSettingAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readSoftLivestreamPrivacyModeSettingAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementSoftLivestreamPrivacyModeSettingCommandParams + ); + result.put("readSoftLivestreamPrivacyModeSettingAttribute", readCameraAvStreamManagementSoftLivestreamPrivacyModeSettingAttributeInteractionInfo); + Map readCameraAvStreamManagementHardPrivacyModeCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementHardPrivacyModeAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readHardPrivacyModeAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementHardPrivacyModeCommandParams + ); + result.put("readHardPrivacyModeAttribute", readCameraAvStreamManagementHardPrivacyModeAttributeInteractionInfo); + Map readCameraAvStreamManagementNightVisionCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementNightVisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readNightVisionAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementNightVisionCommandParams + ); + result.put("readNightVisionAttribute", readCameraAvStreamManagementNightVisionAttributeInteractionInfo); + Map readCameraAvStreamManagementNightVisionIllumCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementNightVisionIllumAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readNightVisionIllumAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementNightVisionIllumCommandParams + ); + result.put("readNightVisionIllumAttribute", readCameraAvStreamManagementNightVisionIllumAttributeInteractionInfo); + Map readCameraAvStreamManagementAwbCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementAwbAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readAwbAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementAwbCommandParams + ); + result.put("readAwbAttribute", readCameraAvStreamManagementAwbAttributeInteractionInfo); + Map readCameraAvStreamManagementShutterSpeedCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementShutterSpeedAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readShutterSpeedAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementShutterSpeedCommandParams + ); + result.put("readShutterSpeedAttribute", readCameraAvStreamManagementShutterSpeedAttributeInteractionInfo); + Map readCameraAvStreamManagementIsoCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementIsoAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readIsoAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementIsoCommandParams + ); + result.put("readIsoAttribute", readCameraAvStreamManagementIsoAttributeInteractionInfo); + Map readCameraAvStreamManagementSpkrOnOffCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementSpkrOnOffAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readSpkrOnOffAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementSpkrOnOffCommandParams + ); + result.put("readSpkrOnOffAttribute", readCameraAvStreamManagementSpkrOnOffAttributeInteractionInfo); + Map readCameraAvStreamManagementSpkrVolumeLevelCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementSpkrVolumeLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readSpkrVolumeLevelAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementSpkrVolumeLevelCommandParams + ); + result.put("readSpkrVolumeLevelAttribute", readCameraAvStreamManagementSpkrVolumeLevelAttributeInteractionInfo); + Map readCameraAvStreamManagementSpkrMaxLevelCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementSpkrMaxLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readSpkrMaxLevelAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementSpkrMaxLevelCommandParams + ); + result.put("readSpkrMaxLevelAttribute", readCameraAvStreamManagementSpkrMaxLevelAttributeInteractionInfo); + Map readCameraAvStreamManagementSpkrMinLevelCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementSpkrMinLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readSpkrMinLevelAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementSpkrMinLevelCommandParams + ); + result.put("readSpkrMinLevelAttribute", readCameraAvStreamManagementSpkrMinLevelAttributeInteractionInfo); + Map readCameraAvStreamManagementMicOnOffCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMicOnOffAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMicOnOffAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementMicOnOffCommandParams + ); + result.put("readMicOnOffAttribute", readCameraAvStreamManagementMicOnOffAttributeInteractionInfo); + Map readCameraAvStreamManagementMicCurrentLevelCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMicCurrentLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMicCurrentLevelAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementMicCurrentLevelCommandParams + ); + result.put("readMicCurrentLevelAttribute", readCameraAvStreamManagementMicCurrentLevelAttributeInteractionInfo); + Map readCameraAvStreamManagementMicMaxLevelCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMicMaxLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMicMaxLevelAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementMicMaxLevelCommandParams + ); + result.put("readMicMaxLevelAttribute", readCameraAvStreamManagementMicMaxLevelAttributeInteractionInfo); + Map readCameraAvStreamManagementMicMinLevelCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMicMinLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMicMinLevelAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementMicMinLevelCommandParams + ); + result.put("readMicMinLevelAttribute", readCameraAvStreamManagementMicMinLevelAttributeInteractionInfo); + Map readCameraAvStreamManagementMicAGCCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementMicAGCAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readMicAGCAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementMicAGCCommandParams + ); + result.put("readMicAGCAttribute", readCameraAvStreamManagementMicAGCAttributeInteractionInfo); + Map readCameraAvStreamManagementImageRotationCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementImageRotationAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readImageRotationAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementImageRotationCommandParams + ); + result.put("readImageRotationAttribute", readCameraAvStreamManagementImageRotationAttributeInteractionInfo); + Map readCameraAvStreamManagementImageFlipHorizontalCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementImageFlipHorizontalAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readImageFlipHorizontalAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementImageFlipHorizontalCommandParams + ); + result.put("readImageFlipHorizontalAttribute", readCameraAvStreamManagementImageFlipHorizontalAttributeInteractionInfo); + Map readCameraAvStreamManagementImageFlipVerticalCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementImageFlipVerticalAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readImageFlipVerticalAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementImageFlipVerticalCommandParams + ); + result.put("readImageFlipVerticalAttribute", readCameraAvStreamManagementImageFlipVerticalAttributeInteractionInfo); + Map readCameraAvStreamManagementLocalVideoRecordingEnabledCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementLocalVideoRecordingEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readLocalVideoRecordingEnabledAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementLocalVideoRecordingEnabledCommandParams + ); + result.put("readLocalVideoRecordingEnabledAttribute", readCameraAvStreamManagementLocalVideoRecordingEnabledAttributeInteractionInfo); + Map readCameraAvStreamManagementLocalSnapshotRecordingEnabledCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementLocalSnapshotRecordingEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readLocalSnapshotRecordingEnabledAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementLocalSnapshotRecordingEnabledCommandParams + ); + result.put("readLocalSnapshotRecordingEnabledAttribute", readCameraAvStreamManagementLocalSnapshotRecordingEnabledAttributeInteractionInfo); + Map readCameraAvStreamManagementStatusLightCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementStatusLightAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readStatusLightAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvStreamManagementStatusLightCommandParams + ); + result.put("readStatusLightAttribute", readCameraAvStreamManagementStatusLightAttributeInteractionInfo); + Map readCameraAvStreamManagementStatusLightBrightnessCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementStatusLightBrightnessAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readStatusLightBrightnessAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementStatusLightBrightnessCommandParams + ); + result.put("readStatusLightBrightnessAttribute", readCameraAvStreamManagementStatusLightBrightnessAttributeInteractionInfo); + Map readCameraAvStreamManagementDepthSensorStatusCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementDepthSensorStatusAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readDepthSensorStatusAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementDepthSensorStatusCommandParams + ); + result.put("readDepthSensorStatusAttribute", readCameraAvStreamManagementDepthSensorStatusAttributeInteractionInfo); + Map readCameraAvStreamManagementWatermarkEnabledCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementWatermarkEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readWatermarkEnabledAttribute( + (ChipClusters.CameraAvStreamManagementCluster.WatermarkEnabledAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterWatermarkEnabledAttributeCallback(), + readCameraAvStreamManagementWatermarkEnabledCommandParams + ); + result.put("readWatermarkEnabledAttribute", readCameraAvStreamManagementWatermarkEnabledAttributeInteractionInfo); + Map readCameraAvStreamManagementOSDEnabledCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementOSDEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readOSDEnabledAttribute( + (ChipClusters.CameraAvStreamManagementCluster.OSDEnabledAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterOSDEnabledAttributeCallback(), + readCameraAvStreamManagementOSDEnabledCommandParams + ); + result.put("readOSDEnabledAttribute", readCameraAvStreamManagementOSDEnabledAttributeInteractionInfo); + Map readCameraAvStreamManagementGeneratedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readGeneratedCommandListAttribute( + (ChipClusters.CameraAvStreamManagementCluster.GeneratedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterGeneratedCommandListAttributeCallback(), + readCameraAvStreamManagementGeneratedCommandListCommandParams + ); + result.put("readGeneratedCommandListAttribute", readCameraAvStreamManagementGeneratedCommandListAttributeInteractionInfo); + Map readCameraAvStreamManagementAcceptedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementAcceptedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readAcceptedCommandListAttribute( + (ChipClusters.CameraAvStreamManagementCluster.AcceptedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterAcceptedCommandListAttributeCallback(), + readCameraAvStreamManagementAcceptedCommandListCommandParams + ); + result.put("readAcceptedCommandListAttribute", readCameraAvStreamManagementAcceptedCommandListAttributeInteractionInfo); + Map readCameraAvStreamManagementEventListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementEventListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readEventListAttribute( + (ChipClusters.CameraAvStreamManagementCluster.EventListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterEventListAttributeCallback(), + readCameraAvStreamManagementEventListCommandParams + ); + result.put("readEventListAttribute", readCameraAvStreamManagementEventListAttributeInteractionInfo); + Map readCameraAvStreamManagementAttributeListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementAttributeListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readAttributeListAttribute( + (ChipClusters.CameraAvStreamManagementCluster.AttributeListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvStreamManagementClusterAttributeListAttributeCallback(), + readCameraAvStreamManagementAttributeListCommandParams + ); + result.put("readAttributeListAttribute", readCameraAvStreamManagementAttributeListAttributeInteractionInfo); + Map readCameraAvStreamManagementFeatureMapCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementFeatureMapAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readFeatureMapAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readCameraAvStreamManagementFeatureMapCommandParams + ); + result.put("readFeatureMapAttribute", readCameraAvStreamManagementFeatureMapAttributeInteractionInfo); + Map readCameraAvStreamManagementClusterRevisionCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvStreamManagementClusterRevisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).readClusterRevisionAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvStreamManagementClusterRevisionCommandParams + ); + result.put("readClusterRevisionAttribute", readCameraAvStreamManagementClusterRevisionAttributeInteractionInfo); + + return result; + } + private static Map readCameraAvSettingsUserLevelManagementInteractionInfo() { + Map result = new LinkedHashMap<>();Map readCameraAvSettingsUserLevelManagementMaxPresetsCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementMaxPresetsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readMaxPresetsAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvSettingsUserLevelManagementMaxPresetsCommandParams + ); + result.put("readMaxPresetsAttribute", readCameraAvSettingsUserLevelManagementMaxPresetsAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementPresetMptzTableCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementPresetMptzTableAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readPresetMptzTableAttribute( + (ChipClusters.CameraAvSettingsUserLevelManagementCluster.PresetMptzTableAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvSettingsUserLevelManagementClusterPresetMptzTableAttributeCallback(), + readCameraAvSettingsUserLevelManagementPresetMptzTableCommandParams + ); + result.put("readPresetMptzTableAttribute", readCameraAvSettingsUserLevelManagementPresetMptzTableAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementMptzRelativeMoveCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementMptzRelativeMoveAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readMptzRelativeMoveAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readCameraAvSettingsUserLevelManagementMptzRelativeMoveCommandParams + ); + result.put("readMptzRelativeMoveAttribute", readCameraAvSettingsUserLevelManagementMptzRelativeMoveAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementDptzRelativeMoveCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementDptzRelativeMoveAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readDptzRelativeMoveAttribute( + (ChipClusters.CameraAvSettingsUserLevelManagementCluster.DptzRelativeMoveAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvSettingsUserLevelManagementClusterDptzRelativeMoveAttributeCallback(), + readCameraAvSettingsUserLevelManagementDptzRelativeMoveCommandParams + ); + result.put("readDptzRelativeMoveAttribute", readCameraAvSettingsUserLevelManagementDptzRelativeMoveAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementGeneratedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readGeneratedCommandListAttribute( + (ChipClusters.CameraAvSettingsUserLevelManagementCluster.GeneratedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvSettingsUserLevelManagementClusterGeneratedCommandListAttributeCallback(), + readCameraAvSettingsUserLevelManagementGeneratedCommandListCommandParams + ); + result.put("readGeneratedCommandListAttribute", readCameraAvSettingsUserLevelManagementGeneratedCommandListAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementAcceptedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementAcceptedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readAcceptedCommandListAttribute( + (ChipClusters.CameraAvSettingsUserLevelManagementCluster.AcceptedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvSettingsUserLevelManagementClusterAcceptedCommandListAttributeCallback(), + readCameraAvSettingsUserLevelManagementAcceptedCommandListCommandParams + ); + result.put("readAcceptedCommandListAttribute", readCameraAvSettingsUserLevelManagementAcceptedCommandListAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementEventListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementEventListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readEventListAttribute( + (ChipClusters.CameraAvSettingsUserLevelManagementCluster.EventListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvSettingsUserLevelManagementClusterEventListAttributeCallback(), + readCameraAvSettingsUserLevelManagementEventListCommandParams + ); + result.put("readEventListAttribute", readCameraAvSettingsUserLevelManagementEventListAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementAttributeListCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementAttributeListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readAttributeListAttribute( + (ChipClusters.CameraAvSettingsUserLevelManagementCluster.AttributeListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCameraAvSettingsUserLevelManagementClusterAttributeListAttributeCallback(), + readCameraAvSettingsUserLevelManagementAttributeListCommandParams + ); + result.put("readAttributeListAttribute", readCameraAvSettingsUserLevelManagementAttributeListAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementFeatureMapCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementFeatureMapAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readFeatureMapAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readCameraAvSettingsUserLevelManagementFeatureMapCommandParams + ); + result.put("readFeatureMapAttribute", readCameraAvSettingsUserLevelManagementFeatureMapAttributeInteractionInfo); + Map readCameraAvSettingsUserLevelManagementClusterRevisionCommandParams = new LinkedHashMap(); + InteractionInfo readCameraAvSettingsUserLevelManagementClusterRevisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvSettingsUserLevelManagementCluster) cluster).readClusterRevisionAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readCameraAvSettingsUserLevelManagementClusterRevisionCommandParams + ); + result.put("readClusterRevisionAttribute", readCameraAvSettingsUserLevelManagementClusterRevisionAttributeInteractionInfo); + + return result; + } + private static Map readWebRTCTransportProviderInteractionInfo() { + Map result = new LinkedHashMap<>();Map readWebRTCTransportProviderCurrentSessionsCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportProviderCurrentSessionsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportProviderCluster) cluster).readCurrentSessionsAttribute( + (ChipClusters.WebRTCTransportProviderCluster.CurrentSessionsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportProviderClusterCurrentSessionsAttributeCallback(), + readWebRTCTransportProviderCurrentSessionsCommandParams + ); + result.put("readCurrentSessionsAttribute", readWebRTCTransportProviderCurrentSessionsAttributeInteractionInfo); + Map readWebRTCTransportProviderGeneratedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportProviderGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportProviderCluster) cluster).readGeneratedCommandListAttribute( + (ChipClusters.WebRTCTransportProviderCluster.GeneratedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportProviderClusterGeneratedCommandListAttributeCallback(), + readWebRTCTransportProviderGeneratedCommandListCommandParams + ); + result.put("readGeneratedCommandListAttribute", readWebRTCTransportProviderGeneratedCommandListAttributeInteractionInfo); + Map readWebRTCTransportProviderAcceptedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportProviderAcceptedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportProviderCluster) cluster).readAcceptedCommandListAttribute( + (ChipClusters.WebRTCTransportProviderCluster.AcceptedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportProviderClusterAcceptedCommandListAttributeCallback(), + readWebRTCTransportProviderAcceptedCommandListCommandParams + ); + result.put("readAcceptedCommandListAttribute", readWebRTCTransportProviderAcceptedCommandListAttributeInteractionInfo); + Map readWebRTCTransportProviderEventListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportProviderEventListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportProviderCluster) cluster).readEventListAttribute( + (ChipClusters.WebRTCTransportProviderCluster.EventListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportProviderClusterEventListAttributeCallback(), + readWebRTCTransportProviderEventListCommandParams + ); + result.put("readEventListAttribute", readWebRTCTransportProviderEventListAttributeInteractionInfo); + Map readWebRTCTransportProviderAttributeListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportProviderAttributeListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportProviderCluster) cluster).readAttributeListAttribute( + (ChipClusters.WebRTCTransportProviderCluster.AttributeListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportProviderClusterAttributeListAttributeCallback(), + readWebRTCTransportProviderAttributeListCommandParams + ); + result.put("readAttributeListAttribute", readWebRTCTransportProviderAttributeListAttributeInteractionInfo); + Map readWebRTCTransportProviderFeatureMapCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportProviderFeatureMapAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportProviderCluster) cluster).readFeatureMapAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readWebRTCTransportProviderFeatureMapCommandParams + ); + result.put("readFeatureMapAttribute", readWebRTCTransportProviderFeatureMapAttributeInteractionInfo); + Map readWebRTCTransportProviderClusterRevisionCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportProviderClusterRevisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportProviderCluster) cluster).readClusterRevisionAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readWebRTCTransportProviderClusterRevisionCommandParams + ); + result.put("readClusterRevisionAttribute", readWebRTCTransportProviderClusterRevisionAttributeInteractionInfo); + + return result; + } + private static Map readWebRTCTransportRequestorInteractionInfo() { + Map result = new LinkedHashMap<>();Map readWebRTCTransportRequestorCurrentSessionsCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportRequestorCurrentSessionsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportRequestorCluster) cluster).readCurrentSessionsAttribute( + (ChipClusters.WebRTCTransportRequestorCluster.CurrentSessionsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportRequestorClusterCurrentSessionsAttributeCallback(), + readWebRTCTransportRequestorCurrentSessionsCommandParams + ); + result.put("readCurrentSessionsAttribute", readWebRTCTransportRequestorCurrentSessionsAttributeInteractionInfo); + Map readWebRTCTransportRequestorGeneratedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportRequestorGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportRequestorCluster) cluster).readGeneratedCommandListAttribute( + (ChipClusters.WebRTCTransportRequestorCluster.GeneratedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportRequestorClusterGeneratedCommandListAttributeCallback(), + readWebRTCTransportRequestorGeneratedCommandListCommandParams + ); + result.put("readGeneratedCommandListAttribute", readWebRTCTransportRequestorGeneratedCommandListAttributeInteractionInfo); + Map readWebRTCTransportRequestorAcceptedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportRequestorAcceptedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportRequestorCluster) cluster).readAcceptedCommandListAttribute( + (ChipClusters.WebRTCTransportRequestorCluster.AcceptedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportRequestorClusterAcceptedCommandListAttributeCallback(), + readWebRTCTransportRequestorAcceptedCommandListCommandParams + ); + result.put("readAcceptedCommandListAttribute", readWebRTCTransportRequestorAcceptedCommandListAttributeInteractionInfo); + Map readWebRTCTransportRequestorEventListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportRequestorEventListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportRequestorCluster) cluster).readEventListAttribute( + (ChipClusters.WebRTCTransportRequestorCluster.EventListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportRequestorClusterEventListAttributeCallback(), + readWebRTCTransportRequestorEventListCommandParams + ); + result.put("readEventListAttribute", readWebRTCTransportRequestorEventListAttributeInteractionInfo); + Map readWebRTCTransportRequestorAttributeListCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportRequestorAttributeListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportRequestorCluster) cluster).readAttributeListAttribute( + (ChipClusters.WebRTCTransportRequestorCluster.AttributeListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWebRTCTransportRequestorClusterAttributeListAttributeCallback(), + readWebRTCTransportRequestorAttributeListCommandParams + ); + result.put("readAttributeListAttribute", readWebRTCTransportRequestorAttributeListAttributeInteractionInfo); + Map readWebRTCTransportRequestorFeatureMapCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportRequestorFeatureMapAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportRequestorCluster) cluster).readFeatureMapAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readWebRTCTransportRequestorFeatureMapCommandParams + ); + result.put("readFeatureMapAttribute", readWebRTCTransportRequestorFeatureMapAttributeInteractionInfo); + Map readWebRTCTransportRequestorClusterRevisionCommandParams = new LinkedHashMap(); + InteractionInfo readWebRTCTransportRequestorClusterRevisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WebRTCTransportRequestorCluster) cluster).readClusterRevisionAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readWebRTCTransportRequestorClusterRevisionCommandParams + ); + result.put("readClusterRevisionAttribute", readWebRTCTransportRequestorClusterRevisionAttributeInteractionInfo); + + return result; + } + private static Map readPushAvStreamTransportInteractionInfo() { + Map result = new LinkedHashMap<>();Map readPushAvStreamTransportSupportedContainerFormatsCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportSupportedContainerFormatsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readSupportedContainerFormatsAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readPushAvStreamTransportSupportedContainerFormatsCommandParams + ); + result.put("readSupportedContainerFormatsAttribute", readPushAvStreamTransportSupportedContainerFormatsAttributeInteractionInfo); + Map readPushAvStreamTransportSupportedIngestMethodsCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportSupportedIngestMethodsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readSupportedIngestMethodsAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readPushAvStreamTransportSupportedIngestMethodsCommandParams + ); + result.put("readSupportedIngestMethodsAttribute", readPushAvStreamTransportSupportedIngestMethodsAttributeInteractionInfo); + Map readPushAvStreamTransportCurrentConnectionsCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportCurrentConnectionsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readCurrentConnectionsAttribute( + (ChipClusters.PushAvStreamTransportCluster.CurrentConnectionsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedPushAvStreamTransportClusterCurrentConnectionsAttributeCallback(), + readPushAvStreamTransportCurrentConnectionsCommandParams + ); + result.put("readCurrentConnectionsAttribute", readPushAvStreamTransportCurrentConnectionsAttributeInteractionInfo); + Map readPushAvStreamTransportGeneratedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readGeneratedCommandListAttribute( + (ChipClusters.PushAvStreamTransportCluster.GeneratedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedPushAvStreamTransportClusterGeneratedCommandListAttributeCallback(), + readPushAvStreamTransportGeneratedCommandListCommandParams + ); + result.put("readGeneratedCommandListAttribute", readPushAvStreamTransportGeneratedCommandListAttributeInteractionInfo); + Map readPushAvStreamTransportAcceptedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportAcceptedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readAcceptedCommandListAttribute( + (ChipClusters.PushAvStreamTransportCluster.AcceptedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedPushAvStreamTransportClusterAcceptedCommandListAttributeCallback(), + readPushAvStreamTransportAcceptedCommandListCommandParams + ); + result.put("readAcceptedCommandListAttribute", readPushAvStreamTransportAcceptedCommandListAttributeInteractionInfo); + Map readPushAvStreamTransportEventListCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportEventListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readEventListAttribute( + (ChipClusters.PushAvStreamTransportCluster.EventListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedPushAvStreamTransportClusterEventListAttributeCallback(), + readPushAvStreamTransportEventListCommandParams + ); + result.put("readEventListAttribute", readPushAvStreamTransportEventListAttributeInteractionInfo); + Map readPushAvStreamTransportAttributeListCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportAttributeListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readAttributeListAttribute( + (ChipClusters.PushAvStreamTransportCluster.AttributeListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedPushAvStreamTransportClusterAttributeListAttributeCallback(), + readPushAvStreamTransportAttributeListCommandParams + ); + result.put("readAttributeListAttribute", readPushAvStreamTransportAttributeListAttributeInteractionInfo); + Map readPushAvStreamTransportFeatureMapCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportFeatureMapAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readFeatureMapAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readPushAvStreamTransportFeatureMapCommandParams + ); + result.put("readFeatureMapAttribute", readPushAvStreamTransportFeatureMapAttributeInteractionInfo); + Map readPushAvStreamTransportClusterRevisionCommandParams = new LinkedHashMap(); + InteractionInfo readPushAvStreamTransportClusterRevisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.PushAvStreamTransportCluster) cluster).readClusterRevisionAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readPushAvStreamTransportClusterRevisionCommandParams + ); + result.put("readClusterRevisionAttribute", readPushAvStreamTransportClusterRevisionAttributeInteractionInfo); + + return result; + } + private static Map readChimeInteractionInfo() { + Map result = new LinkedHashMap<>();Map readChimeInstalledChimeSoundsCommandParams = new LinkedHashMap(); + InteractionInfo readChimeInstalledChimeSoundsAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readInstalledChimeSoundsAttribute( + (ChipClusters.ChimeCluster.InstalledChimeSoundsAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedChimeClusterInstalledChimeSoundsAttributeCallback(), + readChimeInstalledChimeSoundsCommandParams + ); + result.put("readInstalledChimeSoundsAttribute", readChimeInstalledChimeSoundsAttributeInteractionInfo); + Map readChimeActiveChimeSoundIdCommandParams = new LinkedHashMap(); + InteractionInfo readChimeActiveChimeSoundIdAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readActiveChimeSoundIdAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readChimeActiveChimeSoundIdCommandParams + ); + result.put("readActiveChimeSoundIdAttribute", readChimeActiveChimeSoundIdAttributeInteractionInfo); + Map readChimeEnabledCommandParams = new LinkedHashMap(); + InteractionInfo readChimeEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readEnabledAttribute( + (ChipClusters.BooleanAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedBooleanAttributeCallback(), + readChimeEnabledCommandParams + ); + result.put("readEnabledAttribute", readChimeEnabledAttributeInteractionInfo); + Map readChimeGeneratedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readChimeGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readGeneratedCommandListAttribute( + (ChipClusters.ChimeCluster.GeneratedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedChimeClusterGeneratedCommandListAttributeCallback(), + readChimeGeneratedCommandListCommandParams + ); + result.put("readGeneratedCommandListAttribute", readChimeGeneratedCommandListAttributeInteractionInfo); + Map readChimeAcceptedCommandListCommandParams = new LinkedHashMap(); + InteractionInfo readChimeAcceptedCommandListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readAcceptedCommandListAttribute( + (ChipClusters.ChimeCluster.AcceptedCommandListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedChimeClusterAcceptedCommandListAttributeCallback(), + readChimeAcceptedCommandListCommandParams + ); + result.put("readAcceptedCommandListAttribute", readChimeAcceptedCommandListAttributeInteractionInfo); + Map readChimeEventListCommandParams = new LinkedHashMap(); + InteractionInfo readChimeEventListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readEventListAttribute( + (ChipClusters.ChimeCluster.EventListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedChimeClusterEventListAttributeCallback(), + readChimeEventListCommandParams + ); + result.put("readEventListAttribute", readChimeEventListAttributeInteractionInfo); + Map readChimeAttributeListCommandParams = new LinkedHashMap(); + InteractionInfo readChimeAttributeListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readAttributeListAttribute( + (ChipClusters.ChimeCluster.AttributeListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedChimeClusterAttributeListAttributeCallback(), + readChimeAttributeListCommandParams + ); + result.put("readAttributeListAttribute", readChimeAttributeListAttributeInteractionInfo); + Map readChimeFeatureMapCommandParams = new LinkedHashMap(); + InteractionInfo readChimeFeatureMapAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readFeatureMapAttribute( + (ChipClusters.LongAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedLongAttributeCallback(), + readChimeFeatureMapCommandParams + ); + result.put("readFeatureMapAttribute", readChimeFeatureMapAttributeInteractionInfo); + Map readChimeClusterRevisionCommandParams = new LinkedHashMap(); + InteractionInfo readChimeClusterRevisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).readClusterRevisionAttribute( + (ChipClusters.IntegerAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), + readChimeClusterRevisionCommandParams + ); + result.put("readClusterRevisionAttribute", readChimeClusterRevisionAttributeInteractionInfo); + + return result; + } private static Map readEcosystemInformationInteractionInfo() { Map result = new LinkedHashMap<>();Map readEcosystemInformationDeviceDirectoryCommandParams = new LinkedHashMap(); InteractionInfo readEcosystemInformationDeviceDirectoryAttributeInteractionInfo = new InteractionInfo( @@ -21608,6 +22644,12 @@ public Map> getReadAttributeMap() { put("accountLogin", readAccountLoginInteractionInfo()); put("contentControl", readContentControlInteractionInfo()); put("contentAppObserver", readContentAppObserverInteractionInfo()); + put("cameraAvStreamManagement", readCameraAvStreamManagementInteractionInfo()); + put("cameraAvSettingsUserLevelManagement", readCameraAvSettingsUserLevelManagementInteractionInfo()); + put("webRTCTransportProvider", readWebRTCTransportProviderInteractionInfo()); + put("webRTCTransportRequestor", readWebRTCTransportRequestorInteractionInfo()); + put("pushAvStreamTransport", readPushAvStreamTransportInteractionInfo()); + put("chime", readChimeInteractionInfo()); put("ecosystemInformation", readEcosystemInformationInteractionInfo()); put("commissionerControl", readCommissionerControlInteractionInfo()); put("electricalMeasurement", readElectricalMeasurementInteractionInfo()); diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java index 0a59b42a9ffe34..6f86f625d589bf 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java @@ -3764,6 +3764,546 @@ public Map> getWriteAttributeMap() { writeAttributeMap.put("contentControl", writeContentControlInteractionInfo); Map writeContentAppObserverInteractionInfo = new LinkedHashMap<>(); writeAttributeMap.put("contentAppObserver", writeContentAppObserverInteractionInfo); + Map writeCameraAvStreamManagementInteractionInfo = new LinkedHashMap<>(); + Map writeCameraAvStreamManagementHDRModeCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementHDRModeCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementHDRModeCommandParams.put( + "value", + cameraAvStreamManagementHDRModeCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementHDRModeAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeHDRModeAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementHDRModeCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeHDRModeAttribute", writeCameraAvStreamManagementHDRModeAttributeInteractionInfo); + Map writeCameraAvStreamManagementSoftRecordingPrivacyModeSettingCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementsoftRecordingPrivacyModeSettingCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementSoftRecordingPrivacyModeSettingCommandParams.put( + "value", + cameraAvStreamManagementsoftRecordingPrivacyModeSettingCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementSoftRecordingPrivacyModeSettingAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeSoftRecordingPrivacyModeSettingAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementSoftRecordingPrivacyModeSettingCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeSoftRecordingPrivacyModeSettingAttribute", writeCameraAvStreamManagementSoftRecordingPrivacyModeSettingAttributeInteractionInfo); + Map writeCameraAvStreamManagementSoftLivestreamPrivacyModeSettingCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementsoftLivestreamPrivacyModeSettingCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementSoftLivestreamPrivacyModeSettingCommandParams.put( + "value", + cameraAvStreamManagementsoftLivestreamPrivacyModeSettingCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementSoftLivestreamPrivacyModeSettingAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeSoftLivestreamPrivacyModeSettingAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementSoftLivestreamPrivacyModeSettingCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeSoftLivestreamPrivacyModeSettingAttribute", writeCameraAvStreamManagementSoftLivestreamPrivacyModeSettingAttributeInteractionInfo); + Map writeCameraAvStreamManagementNightVisionCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementnightVisionCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementNightVisionCommandParams.put( + "value", + cameraAvStreamManagementnightVisionCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementNightVisionAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeNightVisionAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementNightVisionCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeNightVisionAttribute", writeCameraAvStreamManagementNightVisionAttributeInteractionInfo); + Map writeCameraAvStreamManagementNightVisionIllumCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementnightVisionIllumCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementNightVisionIllumCommandParams.put( + "value", + cameraAvStreamManagementnightVisionIllumCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementNightVisionIllumAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeNightVisionIllumAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementNightVisionIllumCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeNightVisionIllumAttribute", writeCameraAvStreamManagementNightVisionIllumAttributeInteractionInfo); + Map writeCameraAvStreamManagementAwbCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementawbCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementAwbCommandParams.put( + "value", + cameraAvStreamManagementawbCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementAwbAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeAwbAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementAwbCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeAwbAttribute", writeCameraAvStreamManagementAwbAttributeInteractionInfo); + Map writeCameraAvStreamManagementShutterSpeedCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementshutterSpeedCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementShutterSpeedCommandParams.put( + "value", + cameraAvStreamManagementshutterSpeedCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementShutterSpeedAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeShutterSpeedAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementShutterSpeedCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeShutterSpeedAttribute", writeCameraAvStreamManagementShutterSpeedAttributeInteractionInfo); + Map writeCameraAvStreamManagementIsoCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementisoCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementIsoCommandParams.put( + "value", + cameraAvStreamManagementisoCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementIsoAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeIsoAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementIsoCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeIsoAttribute", writeCameraAvStreamManagementIsoAttributeInteractionInfo); + Map writeCameraAvStreamManagementSpkrOnOffCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementspkrOnOffCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementSpkrOnOffCommandParams.put( + "value", + cameraAvStreamManagementspkrOnOffCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementSpkrOnOffAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeSpkrOnOffAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementSpkrOnOffCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeSpkrOnOffAttribute", writeCameraAvStreamManagementSpkrOnOffAttributeInteractionInfo); + Map writeCameraAvStreamManagementSpkrVolumeLevelCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementspkrVolumeLevelCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementSpkrVolumeLevelCommandParams.put( + "value", + cameraAvStreamManagementspkrVolumeLevelCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementSpkrVolumeLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeSpkrVolumeLevelAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementSpkrVolumeLevelCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeSpkrVolumeLevelAttribute", writeCameraAvStreamManagementSpkrVolumeLevelAttributeInteractionInfo); + Map writeCameraAvStreamManagementSpkrMaxLevelCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementspkrMaxLevelCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementSpkrMaxLevelCommandParams.put( + "value", + cameraAvStreamManagementspkrMaxLevelCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementSpkrMaxLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeSpkrMaxLevelAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementSpkrMaxLevelCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeSpkrMaxLevelAttribute", writeCameraAvStreamManagementSpkrMaxLevelAttributeInteractionInfo); + Map writeCameraAvStreamManagementSpkrMinLevelCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementspkrMinLevelCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementSpkrMinLevelCommandParams.put( + "value", + cameraAvStreamManagementspkrMinLevelCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementSpkrMinLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeSpkrMinLevelAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementSpkrMinLevelCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeSpkrMinLevelAttribute", writeCameraAvStreamManagementSpkrMinLevelAttributeInteractionInfo); + Map writeCameraAvStreamManagementMicOnOffCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementmicOnOffCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementMicOnOffCommandParams.put( + "value", + cameraAvStreamManagementmicOnOffCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementMicOnOffAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeMicOnOffAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementMicOnOffCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeMicOnOffAttribute", writeCameraAvStreamManagementMicOnOffAttributeInteractionInfo); + Map writeCameraAvStreamManagementMicCurrentLevelCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementmicCurrentLevelCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementMicCurrentLevelCommandParams.put( + "value", + cameraAvStreamManagementmicCurrentLevelCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementMicCurrentLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeMicCurrentLevelAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementMicCurrentLevelCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeMicCurrentLevelAttribute", writeCameraAvStreamManagementMicCurrentLevelAttributeInteractionInfo); + Map writeCameraAvStreamManagementMicMaxLevelCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementmicMaxLevelCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementMicMaxLevelCommandParams.put( + "value", + cameraAvStreamManagementmicMaxLevelCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementMicMaxLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeMicMaxLevelAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementMicMaxLevelCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeMicMaxLevelAttribute", writeCameraAvStreamManagementMicMaxLevelAttributeInteractionInfo); + Map writeCameraAvStreamManagementMicMinLevelCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementmicMinLevelCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementMicMinLevelCommandParams.put( + "value", + cameraAvStreamManagementmicMinLevelCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementMicMinLevelAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeMicMinLevelAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementMicMinLevelCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeMicMinLevelAttribute", writeCameraAvStreamManagementMicMinLevelAttributeInteractionInfo); + Map writeCameraAvStreamManagementMicAGCCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementmicAGCCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementMicAGCCommandParams.put( + "value", + cameraAvStreamManagementmicAGCCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementMicAGCAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeMicAGCAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementMicAGCCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeMicAGCAttribute", writeCameraAvStreamManagementMicAGCAttributeInteractionInfo); + Map writeCameraAvStreamManagementLocalVideoRecordingEnabledCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementlocalVideoRecordingEnabledCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementLocalVideoRecordingEnabledCommandParams.put( + "value", + cameraAvStreamManagementlocalVideoRecordingEnabledCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementLocalVideoRecordingEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeLocalVideoRecordingEnabledAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementLocalVideoRecordingEnabledCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeLocalVideoRecordingEnabledAttribute", writeCameraAvStreamManagementLocalVideoRecordingEnabledAttributeInteractionInfo); + Map writeCameraAvStreamManagementLocalSnapshotRecordingEnabledCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementlocalSnapshotRecordingEnabledCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementLocalSnapshotRecordingEnabledCommandParams.put( + "value", + cameraAvStreamManagementlocalSnapshotRecordingEnabledCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementLocalSnapshotRecordingEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeLocalSnapshotRecordingEnabledAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementLocalSnapshotRecordingEnabledCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeLocalSnapshotRecordingEnabledAttribute", writeCameraAvStreamManagementLocalSnapshotRecordingEnabledAttributeInteractionInfo); + Map writeCameraAvStreamManagementStatusLightCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementstatusLightCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeCameraAvStreamManagementStatusLightCommandParams.put( + "value", + cameraAvStreamManagementstatusLightCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementStatusLightAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeStatusLightAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementStatusLightCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeStatusLightAttribute", writeCameraAvStreamManagementStatusLightAttributeInteractionInfo); + Map writeCameraAvStreamManagementStatusLightBrightnessCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementstatusLightBrightnessCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementStatusLightBrightnessCommandParams.put( + "value", + cameraAvStreamManagementstatusLightBrightnessCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementStatusLightBrightnessAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeStatusLightBrightnessAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementStatusLightBrightnessCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeStatusLightBrightnessAttribute", writeCameraAvStreamManagementStatusLightBrightnessAttributeInteractionInfo); + Map writeCameraAvStreamManagementDepthSensorStatusCommandParams = new LinkedHashMap(); + CommandParameterInfo cameraAvStreamManagementdepthSensorStatusCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeCameraAvStreamManagementDepthSensorStatusCommandParams.put( + "value", + cameraAvStreamManagementdepthSensorStatusCommandParameterInfo + ); + InteractionInfo writeCameraAvStreamManagementDepthSensorStatusAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CameraAvStreamManagementCluster) cluster).writeDepthSensorStatusAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeCameraAvStreamManagementDepthSensorStatusCommandParams + ); + writeCameraAvStreamManagementInteractionInfo.put("writeDepthSensorStatusAttribute", writeCameraAvStreamManagementDepthSensorStatusAttributeInteractionInfo); + writeAttributeMap.put("cameraAvStreamManagement", writeCameraAvStreamManagementInteractionInfo); + Map writeCameraAvSettingsUserLevelManagementInteractionInfo = new LinkedHashMap<>(); + writeAttributeMap.put("cameraAvSettingsUserLevelManagement", writeCameraAvSettingsUserLevelManagementInteractionInfo); + Map writeWebRTCTransportProviderInteractionInfo = new LinkedHashMap<>(); + writeAttributeMap.put("webRTCTransportProvider", writeWebRTCTransportProviderInteractionInfo); + Map writeWebRTCTransportRequestorInteractionInfo = new LinkedHashMap<>(); + writeAttributeMap.put("webRTCTransportRequestor", writeWebRTCTransportRequestorInteractionInfo); + Map writePushAvStreamTransportInteractionInfo = new LinkedHashMap<>(); + writeAttributeMap.put("pushAvStreamTransport", writePushAvStreamTransportInteractionInfo); + Map writeChimeInteractionInfo = new LinkedHashMap<>(); + Map writeChimeActiveChimeSoundIdCommandParams = new LinkedHashMap(); + CommandParameterInfo chimeactiveChimeSoundIdCommandParameterInfo = + new CommandParameterInfo( + "value", + Integer.class, + Integer.class + ); + writeChimeActiveChimeSoundIdCommandParams.put( + "value", + chimeactiveChimeSoundIdCommandParameterInfo + ); + InteractionInfo writeChimeActiveChimeSoundIdAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).writeActiveChimeSoundIdAttribute( + (DefaultClusterCallback) callback, + (Integer) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeChimeActiveChimeSoundIdCommandParams + ); + writeChimeInteractionInfo.put("writeActiveChimeSoundIdAttribute", writeChimeActiveChimeSoundIdAttributeInteractionInfo); + Map writeChimeEnabledCommandParams = new LinkedHashMap(); + CommandParameterInfo chimeenabledCommandParameterInfo = + new CommandParameterInfo( + "value", + Boolean.class, + Boolean.class + ); + writeChimeEnabledCommandParams.put( + "value", + chimeenabledCommandParameterInfo + ); + InteractionInfo writeChimeEnabledAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ChimeCluster) cluster).writeEnabledAttribute( + (DefaultClusterCallback) callback, + (Boolean) commandArguments.get("value") + ); + }, + () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(), + writeChimeEnabledCommandParams + ); + writeChimeInteractionInfo.put("writeEnabledAttribute", writeChimeEnabledAttributeInteractionInfo); + writeAttributeMap.put("chime", writeChimeInteractionInfo); Map writeEcosystemInformationInteractionInfo = new LinkedHashMap<>(); writeAttributeMap.put("ecosystemInformation", writeEcosystemInformationInteractionInfo); Map writeCommissionerControlInteractionInfo = new LinkedHashMap<>(); diff --git a/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni b/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni index bbaa6112dd9dea..d0fcba9b9a2eba 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni +++ b/src/controller/java/generated/java/chip/devicecontroller/cluster/files.gni @@ -19,6 +19,18 @@ structs_sources = [ "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/BasicInformationClusterProductAppearanceStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/BindingClusterTargetStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/BridgedDeviceBasicInformationClusterProductAppearanceStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvSettingsUserLevelManagementClusterMPTZStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvSettingsUserLevelManagementClusterPerStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvSettingsUserLevelManagementClusterViewportStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterAudioCapabilitiesStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterAudioStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterPerStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterSnapshotParamsStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterSnapshotStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterVideoSensorParamsStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterVideoStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/CameraAvStreamManagementClusterViewportStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ChannelClusterAdditionalInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ChannelClusterChannelInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ChannelClusterChannelPagingStruct.kt", @@ -28,6 +40,7 @@ structs_sources = [ "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ChannelClusterProgramCategoryStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ChannelClusterProgramStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ChannelClusterSeriesInfoStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ChimeClusterChimeSoundStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ContentControlClusterRatingNameStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ContentLauncherClusterAdditionalInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ContentLauncherClusterBrandingInformationStruct.kt", @@ -112,6 +125,13 @@ structs_sources = [ "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PowerSourceClusterBatChargeFaultChangeType.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PowerSourceClusterBatFaultChangeType.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PowerSourceClusterWiredFaultChangeType.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PushAvStreamTransportClusterPushAVStreamConfigurationStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/RefrigeratorAndTemperatureControlledCabinetModeClusterModeOptionStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/RefrigeratorAndTemperatureControlledCabinetModeClusterModeTagStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/RvcCleanModeClusterModeOptionStruct.kt", @@ -159,6 +179,10 @@ structs_sources = [ "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/WaterHeaterManagementClusterWaterHeaterBoostInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/WaterHeaterModeClusterModeOptionStruct.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/WaterHeaterModeClusterModeTagStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/WebRTCTransportProviderClusterICEServerStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/WebRTCTransportProviderClusterWebRTCSessionStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/WebRTCTransportRequestorClusterICEServerStruct.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/WebRTCTransportRequestorClusterWebRTCSessionStruct.kt", ] eventstructs_sources = [ @@ -177,6 +201,9 @@ eventstructs_sources = [ "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/BridgedDeviceBasicInformationClusterActiveChangedEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/BridgedDeviceBasicInformationClusterReachableChangedEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/BridgedDeviceBasicInformationClusterStartUpEvent.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/CameraAvStreamManagementClusterAudioStreamChangedEvent.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/CameraAvStreamManagementClusterSnapshotStreamChangedEvent.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/CameraAvStreamManagementClusterVideoStreamChangedEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/CommissionerControlClusterCommissioningRequestResultEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/DemandResponseLoadControlClusterLoadControlEventStatusChangeEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/DeviceEnergyManagementClusterPowerAdjustEndEvent.kt", @@ -215,6 +242,7 @@ eventstructs_sources = [ "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/PowerSourceClusterBatChargeFaultChangeEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/PowerSourceClusterBatFaultChangeEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/PowerSourceClusterWiredFaultChangeEvent.kt", + "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/PushAvStreamTransportClusterPushTransportEndEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/RefrigeratorAlarmClusterNotifyEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/RvcOperationalStateClusterOperationalErrorEvent.kt", "${chip_root}/src/controller/java/generated/java/chip/devicecontroller/cluster/eventstructs/RvcOperationalStateClusterOperationCompletionEvent.kt", diff --git a/src/controller/java/generated/java/matter/controller/cluster/files.gni b/src/controller/java/generated/java/matter/controller/cluster/files.gni index 1f287a13ae0ff2..d9ac782c2e4c5c 100644 --- a/src/controller/java/generated/java/matter/controller/cluster/files.gni +++ b/src/controller/java/generated/java/matter/controller/cluster/files.gni @@ -19,6 +19,18 @@ matter_structs_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/BasicInformationClusterProductAppearanceStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/BindingClusterTargetStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/BridgedDeviceBasicInformationClusterProductAppearanceStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvSettingsUserLevelManagementClusterMPTZStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvSettingsUserLevelManagementClusterPerStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvSettingsUserLevelManagementClusterViewportStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterAudioCapabilitiesStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterAudioStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterPerStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterSnapshotParamsStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterSnapshotStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterVideoSensorParamsStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterVideoStreamStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/CameraAvStreamManagementClusterViewportStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ChannelClusterAdditionalInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ChannelClusterChannelInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ChannelClusterChannelPagingStruct.kt", @@ -28,6 +40,7 @@ matter_structs_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ChannelClusterProgramCategoryStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ChannelClusterProgramStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ChannelClusterSeriesInfoStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ChimeClusterChimeSoundStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ContentControlClusterRatingNameStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ContentLauncherClusterAdditionalInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/ContentLauncherClusterBrandingInformationStruct.kt", @@ -112,6 +125,13 @@ matter_structs_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PowerSourceClusterBatChargeFaultChangeType.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PowerSourceClusterBatFaultChangeType.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PowerSourceClusterWiredFaultChangeType.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PushAvStreamTransportClusterPushAVStreamConfigurationStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportContainerOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportOptionsStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/RefrigeratorAndTemperatureControlledCabinetModeClusterModeOptionStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/RefrigeratorAndTemperatureControlledCabinetModeClusterModeTagStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/RvcCleanModeClusterModeOptionStruct.kt", @@ -159,6 +179,10 @@ matter_structs_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/WaterHeaterManagementClusterWaterHeaterBoostInfoStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/WaterHeaterModeClusterModeOptionStruct.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/WaterHeaterModeClusterModeTagStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/WebRTCTransportProviderClusterICEServerStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/WebRTCTransportProviderClusterWebRTCSessionStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/WebRTCTransportRequestorClusterICEServerStruct.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/structs/WebRTCTransportRequestorClusterWebRTCSessionStruct.kt", ] matter_eventstructs_sources = [ @@ -177,6 +201,9 @@ matter_eventstructs_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/BridgedDeviceBasicInformationClusterActiveChangedEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/BridgedDeviceBasicInformationClusterReachableChangedEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/BridgedDeviceBasicInformationClusterStartUpEvent.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/CameraAvStreamManagementClusterAudioStreamChangedEvent.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/CameraAvStreamManagementClusterSnapshotStreamChangedEvent.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/CameraAvStreamManagementClusterVideoStreamChangedEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/CommissionerControlClusterCommissioningRequestResultEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/DemandResponseLoadControlClusterLoadControlEventStatusChangeEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/DeviceEnergyManagementClusterPowerAdjustEndEvent.kt", @@ -215,6 +242,7 @@ matter_eventstructs_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/PowerSourceClusterBatChargeFaultChangeEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/PowerSourceClusterBatFaultChangeEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/PowerSourceClusterWiredFaultChangeEvent.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/PushAvStreamTransportClusterPushTransportEndEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/RefrigeratorAlarmClusterNotifyEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/RvcOperationalStateClusterOperationalErrorEvent.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/eventstructs/RvcOperationalStateClusterOperationCompletionEvent.kt", @@ -266,9 +294,12 @@ matter_clusters_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/BooleanStateCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/BooleanStateConfigurationCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/CameraAvSettingsUserLevelManagementCluster.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/CameraAvStreamManagementCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/CarbonDioxideConcentrationMeasurementCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/CarbonMonoxideConcentrationMeasurementCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/ChannelCluster.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/ChimeCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/ColorControlCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/CommissionerControlCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/ContentAppObserverCluster.kt", @@ -340,6 +371,7 @@ matter_clusters_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/ProxyValidCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/PulseWidthModulationCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/PumpConfigurationAndControlCluster.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/PushAvStreamTransportCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/RadonConcentrationMeasurementCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/RefrigeratorAlarmCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/RefrigeratorAndTemperatureControlledCabinetModeCluster.kt", @@ -372,6 +404,8 @@ matter_clusters_sources = [ "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WakeOnLanCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WaterHeaterManagementCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WaterHeaterModeCluster.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WebRTCTransportProviderCluster.kt", + "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WebRTCTransportRequestorCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WiFiNetworkDiagnosticsCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WiFiNetworkManagementCluster.kt", "${chip_root}/src/controller/java/generated/java/matter/controller/cluster/clusters/WindowCoveringCluster.kt", diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp index 771d026771d39d..192a614b008b68 100644 --- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp +++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp @@ -42970,6 +42970,3256 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } break; } + case app::Clusters::CameraAvStreamManagement::Id: { + using namespace app::Clusters::CameraAvStreamManagement; + switch (aPath.mAttributeId) + { + case Attributes::MaxConcurrentVideoEncoders::Id: { + using TypeInfo = Attributes::MaxConcurrentVideoEncoders::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::MaxEncodedPixelRate::Id: { + using TypeInfo = Attributes::MaxEncodedPixelRate::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::VideoSensorParams::Id: { + using TypeInfo = Attributes::VideoSensorParams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + jobject value_sensorWidth; + std::string value_sensorWidthClassName = "java/lang/Integer"; + std::string value_sensorWidthCtorSignature = "(I)V"; + jint jnivalue_sensorWidth = static_cast(cppValue.sensorWidth); + chip::JniReferences::GetInstance().CreateBoxedObject(value_sensorWidthClassName.c_str(), + value_sensorWidthCtorSignature.c_str(), jnivalue_sensorWidth, + value_sensorWidth); + jobject value_sensorHeight; + std::string value_sensorHeightClassName = "java/lang/Integer"; + std::string value_sensorHeightCtorSignature = "(I)V"; + jint jnivalue_sensorHeight = static_cast(cppValue.sensorHeight); + chip::JniReferences::GetInstance().CreateBoxedObject(value_sensorHeightClassName.c_str(), + value_sensorHeightCtorSignature.c_str(), + jnivalue_sensorHeight, value_sensorHeight); + jobject value_HDRCapable; + std::string value_HDRCapableClassName = "java/lang/Boolean"; + std::string value_HDRCapableCtorSignature = "(Z)V"; + jboolean jnivalue_HDRCapable = static_cast(cppValue.HDRCapable); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_HDRCapableClassName.c_str(), value_HDRCapableCtorSignature.c_str(), jnivalue_HDRCapable, value_HDRCapable); + jobject value_maxFPS; + std::string value_maxFPSClassName = "java/lang/Integer"; + std::string value_maxFPSCtorSignature = "(I)V"; + jint jnivalue_maxFPS = static_cast(cppValue.maxFPS); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_maxFPSClassName.c_str(), value_maxFPSCtorSignature.c_str(), jnivalue_maxFPS, value_maxFPS); + jobject value_maxHDRFPS; + std::string value_maxHDRFPSClassName = "java/lang/Integer"; + std::string value_maxHDRFPSCtorSignature = "(I)V"; + jint jnivalue_maxHDRFPS = static_cast(cppValue.maxHDRFPS); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_maxHDRFPSClassName.c_str(), value_maxHDRFPSCtorSignature.c_str(), jnivalue_maxHDRFPS, value_maxHDRFPS); + + jclass videoSensorParamsStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterVideoSensorParamsStruct", + videoSensorParamsStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterVideoSensorParamsStruct"); + return nullptr; + } + + jmethodID videoSensorParamsStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod( + env, videoSensorParamsStructStructClass_0, "", + "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;)V", + &videoSensorParamsStructStructCtor_0); + if (err != CHIP_NO_ERROR || videoSensorParamsStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterVideoSensorParamsStruct constructor"); + return nullptr; + } + + value = env->NewObject(videoSensorParamsStructStructClass_0, videoSensorParamsStructStructCtor_0, value_sensorWidth, + value_sensorHeight, value_HDRCapable, value_maxFPS, value_maxHDRFPS); + return value; + } + case Attributes::NightVisionCapable::Id: { + using TypeInfo = Attributes::NightVisionCapable::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::MinViewPortWidth::Id: { + using TypeInfo = Attributes::MinViewPortWidth::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + + jclass dimensionStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_0, "", "()V", + &dimensionStructStructCtor_0); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + value = env->NewObject(dimensionStructStructClass_0, dimensionStructStructCtor_0); + return value; + } + case Attributes::MinViewPortHeight::Id: { + using TypeInfo = Attributes::MinViewPortHeight::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + + jclass dimensionStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_0, "", "()V", + &dimensionStructStructCtor_0); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + value = env->NewObject(dimensionStructStructClass_0, dimensionStructStructCtor_0); + return value; + } + case Attributes::RateDistortionTradeOffPoints::Id: { + using TypeInfo = Attributes::RateDistortionTradeOffPoints::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_codec; + std::string newElement_0_codecClassName = "java/lang/Integer"; + std::string newElement_0_codecCtorSignature = "(I)V"; + jint jninewElement_0_codec = static_cast(entry_0.codec); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_codecClassName.c_str(), + newElement_0_codecCtorSignature.c_str(), + jninewElement_0_codec, newElement_0_codec); + jobject newElement_0_resolution; + + jclass dimensionStructStructClass_2; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_2); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_2; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_2, "", "()V", + &dimensionStructStructCtor_2); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_2 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + newElement_0_resolution = env->NewObject(dimensionStructStructClass_2, dimensionStructStructCtor_2); + jobject newElement_0_minBitRate; + std::string newElement_0_minBitRateClassName = "java/lang/Long"; + std::string newElement_0_minBitRateCtorSignature = "(J)V"; + jlong jninewElement_0_minBitRate = static_cast(entry_0.minBitRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_minBitRateClassName.c_str(), + newElement_0_minBitRateCtorSignature.c_str(), + jninewElement_0_minBitRate, newElement_0_minBitRate); + + jclass rateDistortionTradeOffPointsStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct", + rateDistortionTradeOffPointsStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError( + Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct"); + return nullptr; + } + + jmethodID rateDistortionTradeOffPointsStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, rateDistortionTradeOffPointsStructStructClass_1, "", + "(Ljava/lang/Integer;Lchip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct;Ljava/" + "lang/Long;)V", + &rateDistortionTradeOffPointsStructStructCtor_1); + if (err != CHIP_NO_ERROR || rateDistortionTradeOffPointsStructStructCtor_1 == nullptr) + { + ChipLogError( + Zcl, + "Could not find ChipStructs$CameraAvStreamManagementClusterRateDistortionTradeOffPointsStruct constructor"); + return nullptr; + } + + newElement_0 = + env->NewObject(rateDistortionTradeOffPointsStructStructClass_1, rateDistortionTradeOffPointsStructStructCtor_1, + newElement_0_codec, newElement_0_resolution, newElement_0_minBitRate); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::MaxPreRollBufferSize::Id: { + using TypeInfo = Attributes::MaxPreRollBufferSize::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::MicrophoneCapabilities::Id: { + using TypeInfo = Attributes::MicrophoneCapabilities::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + jobject value_maxNumberOfChannels; + std::string value_maxNumberOfChannelsClassName = "java/lang/Integer"; + std::string value_maxNumberOfChannelsCtorSignature = "(I)V"; + jint jnivalue_maxNumberOfChannels = static_cast(cppValue.maxNumberOfChannels); + chip::JniReferences::GetInstance().CreateBoxedObject(value_maxNumberOfChannelsClassName.c_str(), + value_maxNumberOfChannelsCtorSignature.c_str(), + jnivalue_maxNumberOfChannels, value_maxNumberOfChannels); + jobject value_supportedCodecs; + chip::JniReferences::GetInstance().CreateArrayList(value_supportedCodecs); + + auto iter_value_supportedCodecs_1 = cppValue.supportedCodecs.begin(); + while (iter_value_supportedCodecs_1.Next()) + { + auto & entry_1 = iter_value_supportedCodecs_1.GetValue(); + jobject newElement_1; + std::string newElement_1ClassName = "java/lang/Integer"; + std::string newElement_1CtorSignature = "(I)V"; + jint jninewElement_1 = static_cast(entry_1); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_1ClassName.c_str(), newElement_1CtorSignature.c_str(), jninewElement_1, newElement_1); + chip::JniReferences::GetInstance().AddToList(value_supportedCodecs, newElement_1); + } + jobject value_supportedSampleRates; + chip::JniReferences::GetInstance().CreateArrayList(value_supportedSampleRates); + + auto iter_value_supportedSampleRates_1 = cppValue.supportedSampleRates.begin(); + while (iter_value_supportedSampleRates_1.Next()) + { + auto & entry_1 = iter_value_supportedSampleRates_1.GetValue(); + jobject newElement_1; + std::string newElement_1ClassName = "java/lang/Long"; + std::string newElement_1CtorSignature = "(J)V"; + jlong jninewElement_1 = static_cast(entry_1); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_1ClassName.c_str(), newElement_1CtorSignature.c_str(), jninewElement_1, newElement_1); + chip::JniReferences::GetInstance().AddToList(value_supportedSampleRates, newElement_1); + } + jobject value_supportedBitDepths; + chip::JniReferences::GetInstance().CreateArrayList(value_supportedBitDepths); + + auto iter_value_supportedBitDepths_1 = cppValue.supportedBitDepths.begin(); + while (iter_value_supportedBitDepths_1.Next()) + { + auto & entry_1 = iter_value_supportedBitDepths_1.GetValue(); + jobject newElement_1; + std::string newElement_1ClassName = "java/lang/Long"; + std::string newElement_1CtorSignature = "(J)V"; + jlong jninewElement_1 = static_cast(entry_1); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_1ClassName.c_str(), newElement_1CtorSignature.c_str(), jninewElement_1, newElement_1); + chip::JniReferences::GetInstance().AddToList(value_supportedBitDepths, newElement_1); + } + + jclass audioCapabilitiesStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterAudioCapabilitiesStruct", + audioCapabilitiesStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterAudioCapabilitiesStruct"); + return nullptr; + } + + jmethodID audioCapabilitiesStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod( + env, audioCapabilitiesStructStructClass_0, "", + "(Ljava/lang/Integer;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V", + &audioCapabilitiesStructStructCtor_0); + if (err != CHIP_NO_ERROR || audioCapabilitiesStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterAudioCapabilitiesStruct constructor"); + return nullptr; + } + + value = + env->NewObject(audioCapabilitiesStructStructClass_0, audioCapabilitiesStructStructCtor_0, value_maxNumberOfChannels, + value_supportedCodecs, value_supportedSampleRates, value_supportedBitDepths); + return value; + } + case Attributes::SpeakerCapabilities::Id: { + using TypeInfo = Attributes::SpeakerCapabilities::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + jobject value_maxNumberOfChannels; + std::string value_maxNumberOfChannelsClassName = "java/lang/Integer"; + std::string value_maxNumberOfChannelsCtorSignature = "(I)V"; + jint jnivalue_maxNumberOfChannels = static_cast(cppValue.maxNumberOfChannels); + chip::JniReferences::GetInstance().CreateBoxedObject(value_maxNumberOfChannelsClassName.c_str(), + value_maxNumberOfChannelsCtorSignature.c_str(), + jnivalue_maxNumberOfChannels, value_maxNumberOfChannels); + jobject value_supportedCodecs; + chip::JniReferences::GetInstance().CreateArrayList(value_supportedCodecs); + + auto iter_value_supportedCodecs_1 = cppValue.supportedCodecs.begin(); + while (iter_value_supportedCodecs_1.Next()) + { + auto & entry_1 = iter_value_supportedCodecs_1.GetValue(); + jobject newElement_1; + std::string newElement_1ClassName = "java/lang/Integer"; + std::string newElement_1CtorSignature = "(I)V"; + jint jninewElement_1 = static_cast(entry_1); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_1ClassName.c_str(), newElement_1CtorSignature.c_str(), jninewElement_1, newElement_1); + chip::JniReferences::GetInstance().AddToList(value_supportedCodecs, newElement_1); + } + jobject value_supportedSampleRates; + chip::JniReferences::GetInstance().CreateArrayList(value_supportedSampleRates); + + auto iter_value_supportedSampleRates_1 = cppValue.supportedSampleRates.begin(); + while (iter_value_supportedSampleRates_1.Next()) + { + auto & entry_1 = iter_value_supportedSampleRates_1.GetValue(); + jobject newElement_1; + std::string newElement_1ClassName = "java/lang/Long"; + std::string newElement_1CtorSignature = "(J)V"; + jlong jninewElement_1 = static_cast(entry_1); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_1ClassName.c_str(), newElement_1CtorSignature.c_str(), jninewElement_1, newElement_1); + chip::JniReferences::GetInstance().AddToList(value_supportedSampleRates, newElement_1); + } + jobject value_supportedBitDepths; + chip::JniReferences::GetInstance().CreateArrayList(value_supportedBitDepths); + + auto iter_value_supportedBitDepths_1 = cppValue.supportedBitDepths.begin(); + while (iter_value_supportedBitDepths_1.Next()) + { + auto & entry_1 = iter_value_supportedBitDepths_1.GetValue(); + jobject newElement_1; + std::string newElement_1ClassName = "java/lang/Long"; + std::string newElement_1CtorSignature = "(J)V"; + jlong jninewElement_1 = static_cast(entry_1); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_1ClassName.c_str(), newElement_1CtorSignature.c_str(), jninewElement_1, newElement_1); + chip::JniReferences::GetInstance().AddToList(value_supportedBitDepths, newElement_1); + } + + jclass audioCapabilitiesStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterAudioCapabilitiesStruct", + audioCapabilitiesStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterAudioCapabilitiesStruct"); + return nullptr; + } + + jmethodID audioCapabilitiesStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod( + env, audioCapabilitiesStructStructClass_0, "", + "(Ljava/lang/Integer;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V", + &audioCapabilitiesStructStructCtor_0); + if (err != CHIP_NO_ERROR || audioCapabilitiesStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterAudioCapabilitiesStruct constructor"); + return nullptr; + } + + value = + env->NewObject(audioCapabilitiesStructStructClass_0, audioCapabilitiesStructStructCtor_0, value_maxNumberOfChannels, + value_supportedCodecs, value_supportedSampleRates, value_supportedBitDepths); + return value; + } + case Attributes::TwoWayTalkSupport::Id: { + using TypeInfo = Attributes::TwoWayTalkSupport::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::SupportedSnapshotParams::Id: { + using TypeInfo = Attributes::SupportedSnapshotParams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_resolution; + + jclass dimensionStructStructClass_2; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_2); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_2; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_2, "", "()V", + &dimensionStructStructCtor_2); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_2 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + newElement_0_resolution = env->NewObject(dimensionStructStructClass_2, dimensionStructStructCtor_2); + jobject newElement_0_maxFrameRate; + std::string newElement_0_maxFrameRateClassName = "java/lang/Integer"; + std::string newElement_0_maxFrameRateCtorSignature = "(I)V"; + jint jninewElement_0_maxFrameRate = static_cast(entry_0.maxFrameRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_maxFrameRateClassName.c_str(), + newElement_0_maxFrameRateCtorSignature.c_str(), + jninewElement_0_maxFrameRate, newElement_0_maxFrameRate); + jobject newElement_0_imageCodec; + std::string newElement_0_imageCodecClassName = "java/lang/Integer"; + std::string newElement_0_imageCodecCtorSignature = "(I)V"; + jint jninewElement_0_imageCodec = static_cast(entry_0.imageCodec); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_imageCodecClassName.c_str(), + newElement_0_imageCodecCtorSignature.c_str(), + jninewElement_0_imageCodec, newElement_0_imageCodec); + + jclass snapshotParamsStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterSnapshotParamsStruct", + snapshotParamsStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterSnapshotParamsStruct"); + return nullptr; + } + + jmethodID snapshotParamsStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, snapshotParamsStructStructClass_1, "", + "(Lchip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct;Ljava/lang/Integer;Ljava/" + "lang/Integer;)V", + &snapshotParamsStructStructCtor_1); + if (err != CHIP_NO_ERROR || snapshotParamsStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterSnapshotParamsStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(snapshotParamsStructStructClass_1, snapshotParamsStructStructCtor_1, + newElement_0_resolution, newElement_0_maxFrameRate, newElement_0_imageCodec); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::HDRCapable::Id: { + using TypeInfo = Attributes::HDRCapable::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::MaxNetworkBandwidth::Id: { + using TypeInfo = Attributes::MaxNetworkBandwidth::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::CurrentFrameRate::Id: { + using TypeInfo = Attributes::CurrentFrameRate::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::HDRMode::Id: { + using TypeInfo = Attributes::HDRMode::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::CurrentVideoCodecs::Id: { + using TypeInfo = Attributes::CurrentVideoCodecs::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Integer"; + std::string newElement_0CtorSignature = "(I)V"; + jint jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::CurrentSnapshotConfig::Id: { + using TypeInfo = Attributes::CurrentSnapshotConfig::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + jobject value_resolution; + + jclass dimensionStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_1, "", "()V", + &dimensionStructStructCtor_1); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + value_resolution = env->NewObject(dimensionStructStructClass_1, dimensionStructStructCtor_1); + jobject value_maxFrameRate; + std::string value_maxFrameRateClassName = "java/lang/Integer"; + std::string value_maxFrameRateCtorSignature = "(I)V"; + jint jnivalue_maxFrameRate = static_cast(cppValue.maxFrameRate); + chip::JniReferences::GetInstance().CreateBoxedObject(value_maxFrameRateClassName.c_str(), + value_maxFrameRateCtorSignature.c_str(), + jnivalue_maxFrameRate, value_maxFrameRate); + jobject value_imageCodec; + std::string value_imageCodecClassName = "java/lang/Integer"; + std::string value_imageCodecCtorSignature = "(I)V"; + jint jnivalue_imageCodec = static_cast(cppValue.imageCodec); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_imageCodecClassName.c_str(), value_imageCodecCtorSignature.c_str(), jnivalue_imageCodec, value_imageCodec); + + jclass snapshotParamsStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterSnapshotParamsStruct", + snapshotParamsStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterSnapshotParamsStruct"); + return nullptr; + } + + jmethodID snapshotParamsStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod( + env, snapshotParamsStructStructClass_0, "", + "(Lchip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct;Ljava/lang/Integer;Ljava/lang/" + "Integer;)V", + &snapshotParamsStructStructCtor_0); + if (err != CHIP_NO_ERROR || snapshotParamsStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterSnapshotParamsStruct constructor"); + return nullptr; + } + + value = env->NewObject(snapshotParamsStructStructClass_0, snapshotParamsStructStructCtor_0, value_resolution, + value_maxFrameRate, value_imageCodec); + return value; + } + case Attributes::FabricsUsingCamera::Id: { + using TypeInfo = Attributes::FabricsUsingCamera::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Integer"; + std::string newElement_0CtorSignature = "(I)V"; + jint jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AllocatedVideoStreams::Id: { + using TypeInfo = Attributes::AllocatedVideoStreams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_videoStreamID; + std::string newElement_0_videoStreamIDClassName = "java/lang/Integer"; + std::string newElement_0_videoStreamIDCtorSignature = "(I)V"; + jint jninewElement_0_videoStreamID = static_cast(entry_0.videoStreamID); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_videoStreamIDClassName.c_str(), newElement_0_videoStreamIDCtorSignature.c_str(), + jninewElement_0_videoStreamID, newElement_0_videoStreamID); + jobject newElement_0_streamType; + std::string newElement_0_streamTypeClassName = "java/lang/Integer"; + std::string newElement_0_streamTypeCtorSignature = "(I)V"; + jint jninewElement_0_streamType = static_cast(entry_0.streamType); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_streamTypeClassName.c_str(), + newElement_0_streamTypeCtorSignature.c_str(), + jninewElement_0_streamType, newElement_0_streamType); + jobject newElement_0_videoCodec; + std::string newElement_0_videoCodecClassName = "java/lang/Integer"; + std::string newElement_0_videoCodecCtorSignature = "(I)V"; + jint jninewElement_0_videoCodec = static_cast(entry_0.videoCodec); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_videoCodecClassName.c_str(), + newElement_0_videoCodecCtorSignature.c_str(), + jninewElement_0_videoCodec, newElement_0_videoCodec); + jobject newElement_0_minFrameRate; + std::string newElement_0_minFrameRateClassName = "java/lang/Integer"; + std::string newElement_0_minFrameRateCtorSignature = "(I)V"; + jint jninewElement_0_minFrameRate = static_cast(entry_0.minFrameRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_minFrameRateClassName.c_str(), + newElement_0_minFrameRateCtorSignature.c_str(), + jninewElement_0_minFrameRate, newElement_0_minFrameRate); + jobject newElement_0_maxFrameRate; + std::string newElement_0_maxFrameRateClassName = "java/lang/Integer"; + std::string newElement_0_maxFrameRateCtorSignature = "(I)V"; + jint jninewElement_0_maxFrameRate = static_cast(entry_0.maxFrameRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_maxFrameRateClassName.c_str(), + newElement_0_maxFrameRateCtorSignature.c_str(), + jninewElement_0_maxFrameRate, newElement_0_maxFrameRate); + jobject newElement_0_minResolution; + + jclass dimensionStructStructClass_2; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_2); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_2; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_2, "", "()V", + &dimensionStructStructCtor_2); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_2 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + newElement_0_minResolution = env->NewObject(dimensionStructStructClass_2, dimensionStructStructCtor_2); + jobject newElement_0_maxResolution; + + jclass dimensionStructStructClass_2; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_2); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_2; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_2, "", "()V", + &dimensionStructStructCtor_2); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_2 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + newElement_0_maxResolution = env->NewObject(dimensionStructStructClass_2, dimensionStructStructCtor_2); + jobject newElement_0_minBitRate; + std::string newElement_0_minBitRateClassName = "java/lang/Integer"; + std::string newElement_0_minBitRateCtorSignature = "(I)V"; + jint jninewElement_0_minBitRate = static_cast(entry_0.minBitRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_minBitRateClassName.c_str(), + newElement_0_minBitRateCtorSignature.c_str(), + jninewElement_0_minBitRate, newElement_0_minBitRate); + jobject newElement_0_maxBitRate; + std::string newElement_0_maxBitRateClassName = "java/lang/Integer"; + std::string newElement_0_maxBitRateCtorSignature = "(I)V"; + jint jninewElement_0_maxBitRate = static_cast(entry_0.maxBitRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_maxBitRateClassName.c_str(), + newElement_0_maxBitRateCtorSignature.c_str(), + jninewElement_0_maxBitRate, newElement_0_maxBitRate); + jobject newElement_0_minFragmentLen; + std::string newElement_0_minFragmentLenClassName = "java/lang/Integer"; + std::string newElement_0_minFragmentLenCtorSignature = "(I)V"; + jint jninewElement_0_minFragmentLen = static_cast(entry_0.minFragmentLen); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_minFragmentLenClassName.c_str(), newElement_0_minFragmentLenCtorSignature.c_str(), + jninewElement_0_minFragmentLen, newElement_0_minFragmentLen); + jobject newElement_0_maxFragmentLen; + std::string newElement_0_maxFragmentLenClassName = "java/lang/Integer"; + std::string newElement_0_maxFragmentLenCtorSignature = "(I)V"; + jint jninewElement_0_maxFragmentLen = static_cast(entry_0.maxFragmentLen); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_maxFragmentLenClassName.c_str(), newElement_0_maxFragmentLenCtorSignature.c_str(), + jninewElement_0_maxFragmentLen, newElement_0_maxFragmentLen); + jobject newElement_0_referenceCount; + std::string newElement_0_referenceCountClassName = "java/lang/Integer"; + std::string newElement_0_referenceCountCtorSignature = "(I)V"; + jint jninewElement_0_referenceCount = static_cast(entry_0.referenceCount); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_referenceCountClassName.c_str(), newElement_0_referenceCountCtorSignature.c_str(), + jninewElement_0_referenceCount, newElement_0_referenceCount); + + jclass videoStreamStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterVideoStreamStruct", + videoStreamStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterVideoStreamStruct"); + return nullptr; + } + + jmethodID videoStreamStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, videoStreamStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lchip/" + "devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct;Lchip/devicecontroller/" + "ChipStructs$CameraAvStreamManagementClusterDimensionStruct;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/" + "Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V", + &videoStreamStructStructCtor_1); + if (err != CHIP_NO_ERROR || videoStreamStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterVideoStreamStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject( + videoStreamStructStructClass_1, videoStreamStructStructCtor_1, newElement_0_videoStreamID, + newElement_0_streamType, newElement_0_videoCodec, newElement_0_minFrameRate, newElement_0_maxFrameRate, + newElement_0_minResolution, newElement_0_maxResolution, newElement_0_minBitRate, newElement_0_maxBitRate, + newElement_0_minFragmentLen, newElement_0_maxFragmentLen, newElement_0_referenceCount); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AllocatedAudioStreams::Id: { + using TypeInfo = Attributes::AllocatedAudioStreams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_audioStreamID; + std::string newElement_0_audioStreamIDClassName = "java/lang/Integer"; + std::string newElement_0_audioStreamIDCtorSignature = "(I)V"; + jint jninewElement_0_audioStreamID = static_cast(entry_0.audioStreamID); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_audioStreamIDClassName.c_str(), newElement_0_audioStreamIDCtorSignature.c_str(), + jninewElement_0_audioStreamID, newElement_0_audioStreamID); + jobject newElement_0_streamType; + std::string newElement_0_streamTypeClassName = "java/lang/Integer"; + std::string newElement_0_streamTypeCtorSignature = "(I)V"; + jint jninewElement_0_streamType = static_cast(entry_0.streamType); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_streamTypeClassName.c_str(), + newElement_0_streamTypeCtorSignature.c_str(), + jninewElement_0_streamType, newElement_0_streamType); + jobject newElement_0_audioCodec; + std::string newElement_0_audioCodecClassName = "java/lang/Integer"; + std::string newElement_0_audioCodecCtorSignature = "(I)V"; + jint jninewElement_0_audioCodec = static_cast(entry_0.audioCodec); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_audioCodecClassName.c_str(), + newElement_0_audioCodecCtorSignature.c_str(), + jninewElement_0_audioCodec, newElement_0_audioCodec); + jobject newElement_0_channelCount; + std::string newElement_0_channelCountClassName = "java/lang/Integer"; + std::string newElement_0_channelCountCtorSignature = "(I)V"; + jint jninewElement_0_channelCount = static_cast(entry_0.channelCount); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_channelCountClassName.c_str(), + newElement_0_channelCountCtorSignature.c_str(), + jninewElement_0_channelCount, newElement_0_channelCount); + jobject newElement_0_sampleRate; + std::string newElement_0_sampleRateClassName = "java/lang/Long"; + std::string newElement_0_sampleRateCtorSignature = "(J)V"; + jlong jninewElement_0_sampleRate = static_cast(entry_0.sampleRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_sampleRateClassName.c_str(), + newElement_0_sampleRateCtorSignature.c_str(), + jninewElement_0_sampleRate, newElement_0_sampleRate); + jobject newElement_0_bitRate; + std::string newElement_0_bitRateClassName = "java/lang/Long"; + std::string newElement_0_bitRateCtorSignature = "(J)V"; + jlong jninewElement_0_bitRate = static_cast(entry_0.bitRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_bitRateClassName.c_str(), + newElement_0_bitRateCtorSignature.c_str(), + jninewElement_0_bitRate, newElement_0_bitRate); + jobject newElement_0_bitDepth; + std::string newElement_0_bitDepthClassName = "java/lang/Integer"; + std::string newElement_0_bitDepthCtorSignature = "(I)V"; + jint jninewElement_0_bitDepth = static_cast(entry_0.bitDepth); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_bitDepthClassName.c_str(), + newElement_0_bitDepthCtorSignature.c_str(), + jninewElement_0_bitDepth, newElement_0_bitDepth); + jobject newElement_0_referenceCount; + std::string newElement_0_referenceCountClassName = "java/lang/Integer"; + std::string newElement_0_referenceCountCtorSignature = "(I)V"; + jint jninewElement_0_referenceCount = static_cast(entry_0.referenceCount); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_referenceCountClassName.c_str(), newElement_0_referenceCountCtorSignature.c_str(), + jninewElement_0_referenceCount, newElement_0_referenceCount); + + jclass audioStreamStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterAudioStreamStruct", + audioStreamStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterAudioStreamStruct"); + return nullptr; + } + + jmethodID audioStreamStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, audioStreamStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/" + "Long;Ljava/lang/Integer;Ljava/lang/Integer;)V", + &audioStreamStructStructCtor_1); + if (err != CHIP_NO_ERROR || audioStreamStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterAudioStreamStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(audioStreamStructStructClass_1, audioStreamStructStructCtor_1, + newElement_0_audioStreamID, newElement_0_streamType, newElement_0_audioCodec, + newElement_0_channelCount, newElement_0_sampleRate, newElement_0_bitRate, + newElement_0_bitDepth, newElement_0_referenceCount); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AllocatedSnapshotStreams::Id: { + using TypeInfo = Attributes::AllocatedSnapshotStreams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_snapshotStreamID; + std::string newElement_0_snapshotStreamIDClassName = "java/lang/Integer"; + std::string newElement_0_snapshotStreamIDCtorSignature = "(I)V"; + jint jninewElement_0_snapshotStreamID = static_cast(entry_0.snapshotStreamID); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_snapshotStreamIDClassName.c_str(), newElement_0_snapshotStreamIDCtorSignature.c_str(), + jninewElement_0_snapshotStreamID, newElement_0_snapshotStreamID); + jobject newElement_0_imageCodec; + std::string newElement_0_imageCodecClassName = "java/lang/Integer"; + std::string newElement_0_imageCodecCtorSignature = "(I)V"; + jint jninewElement_0_imageCodec = static_cast(entry_0.imageCodec); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_imageCodecClassName.c_str(), + newElement_0_imageCodecCtorSignature.c_str(), + jninewElement_0_imageCodec, newElement_0_imageCodec); + jobject newElement_0_frameRate; + std::string newElement_0_frameRateClassName = "java/lang/Integer"; + std::string newElement_0_frameRateCtorSignature = "(I)V"; + jint jninewElement_0_frameRate = static_cast(entry_0.frameRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_frameRateClassName.c_str(), + newElement_0_frameRateCtorSignature.c_str(), + jninewElement_0_frameRate, newElement_0_frameRate); + jobject newElement_0_bitRate; + std::string newElement_0_bitRateClassName = "java/lang/Long"; + std::string newElement_0_bitRateCtorSignature = "(J)V"; + jlong jninewElement_0_bitRate = static_cast(entry_0.bitRate); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_bitRateClassName.c_str(), + newElement_0_bitRateCtorSignature.c_str(), + jninewElement_0_bitRate, newElement_0_bitRate); + jobject newElement_0_minResolution; + + jclass dimensionStructStructClass_2; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_2); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_2; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_2, "", "()V", + &dimensionStructStructCtor_2); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_2 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + newElement_0_minResolution = env->NewObject(dimensionStructStructClass_2, dimensionStructStructCtor_2); + jobject newElement_0_maxResolution; + + jclass dimensionStructStructClass_2; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_2); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_2; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_2, "", "()V", + &dimensionStructStructCtor_2); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_2 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + newElement_0_maxResolution = env->NewObject(dimensionStructStructClass_2, dimensionStructStructCtor_2); + jobject newElement_0_quality; + std::string newElement_0_qualityClassName = "java/lang/Integer"; + std::string newElement_0_qualityCtorSignature = "(I)V"; + jint jninewElement_0_quality = static_cast(entry_0.quality); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_qualityClassName.c_str(), + newElement_0_qualityCtorSignature.c_str(), + jninewElement_0_quality, newElement_0_quality); + jobject newElement_0_referenceCount; + std::string newElement_0_referenceCountClassName = "java/lang/Integer"; + std::string newElement_0_referenceCountCtorSignature = "(I)V"; + jint jninewElement_0_referenceCount = static_cast(entry_0.referenceCount); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_referenceCountClassName.c_str(), newElement_0_referenceCountCtorSignature.c_str(), + jninewElement_0_referenceCount, newElement_0_referenceCount); + + jclass snapshotStreamStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterSnapshotStreamStruct", + snapshotStreamStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterSnapshotStreamStruct"); + return nullptr; + } + + jmethodID snapshotStreamStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, snapshotStreamStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Lchip/devicecontroller/" + "ChipStructs$CameraAvStreamManagementClusterDimensionStruct;Lchip/devicecontroller/" + "ChipStructs$CameraAvStreamManagementClusterDimensionStruct;Ljava/lang/Integer;Ljava/lang/Integer;)V", + &snapshotStreamStructStructCtor_1); + if (err != CHIP_NO_ERROR || snapshotStreamStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterSnapshotStreamStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(snapshotStreamStructStructClass_1, snapshotStreamStructStructCtor_1, + newElement_0_snapshotStreamID, newElement_0_imageCodec, newElement_0_frameRate, + newElement_0_bitRate, newElement_0_minResolution, newElement_0_maxResolution, + newElement_0_quality, newElement_0_referenceCount); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::RankedVideoStreamPrioritiesList::Id: { + using TypeInfo = Attributes::RankedVideoStreamPrioritiesList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Integer"; + std::string newElement_0CtorSignature = "(I)V"; + jint jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::SoftRecordingPrivacyModeSetting::Id: { + using TypeInfo = Attributes::SoftRecordingPrivacyModeSetting::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::SoftLivestreamPrivacyModeSetting::Id: { + using TypeInfo = Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::HardPrivacyMode::Id: { + using TypeInfo = Attributes::HardPrivacyMode::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::NightVision::Id: { + using TypeInfo = Attributes::NightVision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::NightVisionIllum::Id: { + using TypeInfo = Attributes::NightVisionIllum::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::Awb::Id: { + using TypeInfo = Attributes::Awb::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ShutterSpeed::Id: { + using TypeInfo = Attributes::ShutterSpeed::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::Iso::Id: { + using TypeInfo = Attributes::Iso::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::Viewport::Id: { + using TypeInfo = Attributes::Viewport::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + jobject value_x1; + std::string value_x1ClassName = "java/lang/Integer"; + std::string value_x1CtorSignature = "(I)V"; + jint jnivalue_x1 = static_cast(cppValue.x1); + chip::JniReferences::GetInstance().CreateBoxedObject(value_x1ClassName.c_str(), value_x1CtorSignature.c_str(), + jnivalue_x1, value_x1); + jobject value_y1; + std::string value_y1ClassName = "java/lang/Integer"; + std::string value_y1CtorSignature = "(I)V"; + jint jnivalue_y1 = static_cast(cppValue.y1); + chip::JniReferences::GetInstance().CreateBoxedObject(value_y1ClassName.c_str(), value_y1CtorSignature.c_str(), + jnivalue_y1, value_y1); + jobject value_x2; + std::string value_x2ClassName = "java/lang/Integer"; + std::string value_x2CtorSignature = "(I)V"; + jint jnivalue_x2 = static_cast(cppValue.x2); + chip::JniReferences::GetInstance().CreateBoxedObject(value_x2ClassName.c_str(), value_x2CtorSignature.c_str(), + jnivalue_x2, value_x2); + jobject value_y2; + std::string value_y2ClassName = "java/lang/Integer"; + std::string value_y2CtorSignature = "(I)V"; + jint jnivalue_y2 = static_cast(cppValue.y2); + chip::JniReferences::GetInstance().CreateBoxedObject(value_y2ClassName.c_str(), value_y2CtorSignature.c_str(), + jnivalue_y2, value_y2); + + jclass viewportStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterViewportStruct", + viewportStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterViewportStruct"); + return nullptr; + } + + jmethodID viewportStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod( + env, viewportStructStructClass_0, "", + "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V", &viewportStructStructCtor_0); + if (err != CHIP_NO_ERROR || viewportStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterViewportStruct constructor"); + return nullptr; + } + + value = env->NewObject(viewportStructStructClass_0, viewportStructStructCtor_0, value_x1, value_y1, value_x2, value_y2); + return value; + } + case Attributes::SpkrOnOff::Id: { + using TypeInfo = Attributes::SpkrOnOff::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::SpkrVolumeLevel::Id: { + using TypeInfo = Attributes::SpkrVolumeLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::SpkrMaxLevel::Id: { + using TypeInfo = Attributes::SpkrMaxLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::SpkrMinLevel::Id: { + using TypeInfo = Attributes::SpkrMinLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::MicOnOff::Id: { + using TypeInfo = Attributes::MicOnOff::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::MicCurrentLevel::Id: { + using TypeInfo = Attributes::MicCurrentLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::MicMaxLevel::Id: { + using TypeInfo = Attributes::MicMaxLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::MicMinLevel::Id: { + using TypeInfo = Attributes::MicMinLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::MicAGC::Id: { + using TypeInfo = Attributes::MicAGC::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ImageRotation::Id: { + using TypeInfo = Attributes::ImageRotation::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::ImageFlipHorizontal::Id: { + using TypeInfo = Attributes::ImageFlipHorizontal::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ImageFlipVertical::Id: { + using TypeInfo = Attributes::ImageFlipVertical::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::LocalVideoRecordingEnabled::Id: { + using TypeInfo = Attributes::LocalVideoRecordingEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::LocalSnapshotRecordingEnabled::Id: { + using TypeInfo = Attributes::LocalSnapshotRecordingEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::StatusLight::Id: { + using TypeInfo = Attributes::StatusLight::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::StatusLightBrightness::Id: { + using TypeInfo = Attributes::StatusLightBrightness::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::DepthSensorStatus::Id: { + using TypeInfo = Attributes::DepthSensorStatus::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::WatermarkEnabled::Id: { + using TypeInfo = Attributes::WatermarkEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_streamID; + std::string newElement_0_streamIDClassName = "java/lang/Integer"; + std::string newElement_0_streamIDCtorSignature = "(I)V"; + jint jninewElement_0_streamID = static_cast(entry_0.streamID); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_streamIDClassName.c_str(), + newElement_0_streamIDCtorSignature.c_str(), + jninewElement_0_streamID, newElement_0_streamID); + jobject newElement_0_onOff; + std::string newElement_0_onOffClassName = "java/lang/Boolean"; + std::string newElement_0_onOffCtorSignature = "(Z)V"; + jboolean jninewElement_0_onOff = static_cast(entry_0.onOff); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_onOffClassName.c_str(), + newElement_0_onOffCtorSignature.c_str(), + jninewElement_0_onOff, newElement_0_onOff); + + jclass perStreamStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterPerStreamStruct", + perStreamStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterPerStreamStruct"); + return nullptr; + } + + jmethodID perStreamStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, perStreamStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Boolean;)V", + &perStreamStructStructCtor_1); + if (err != CHIP_NO_ERROR || perStreamStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterPerStreamStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(perStreamStructStructClass_1, perStreamStructStructCtor_1, newElement_0_streamID, + newElement_0_onOff); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::OSDEnabled::Id: { + using TypeInfo = Attributes::OSDEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_streamID; + std::string newElement_0_streamIDClassName = "java/lang/Integer"; + std::string newElement_0_streamIDCtorSignature = "(I)V"; + jint jninewElement_0_streamID = static_cast(entry_0.streamID); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_streamIDClassName.c_str(), + newElement_0_streamIDCtorSignature.c_str(), + jninewElement_0_streamID, newElement_0_streamID); + jobject newElement_0_onOff; + std::string newElement_0_onOffClassName = "java/lang/Boolean"; + std::string newElement_0_onOffCtorSignature = "(Z)V"; + jboolean jninewElement_0_onOff = static_cast(entry_0.onOff); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_onOffClassName.c_str(), + newElement_0_onOffCtorSignature.c_str(), + jninewElement_0_onOff, newElement_0_onOff); + + jclass perStreamStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterPerStreamStruct", + perStreamStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterPerStreamStruct"); + return nullptr; + } + + jmethodID perStreamStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, perStreamStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Boolean;)V", + &perStreamStructStructCtor_1); + if (err != CHIP_NO_ERROR || perStreamStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterPerStreamStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(perStreamStructStructClass_1, perStreamStructStructCtor_1, newElement_0_streamID, + newElement_0_onOff); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::GeneratedCommandList::Id: { + using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AcceptedCommandList::Id: { + using TypeInfo = Attributes::AcceptedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::EventList::Id: { + using TypeInfo = Attributes::EventList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AttributeList::Id: { + using TypeInfo = Attributes::AttributeList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::FeatureMap::Id: { + using TypeInfo = Attributes::FeatureMap::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ClusterRevision::Id: { + using TypeInfo = Attributes::ClusterRevision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + break; + } + break; + } + case app::Clusters::CameraAvSettingsUserLevelManagement::Id: { + using namespace app::Clusters::CameraAvSettingsUserLevelManagement; + switch (aPath.mAttributeId) + { + case Attributes::Mptz::Id: { + using TypeInfo = Attributes::Mptz::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + jobject value_MPan; + if (!cppValue.MPan.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_MPan); + } + else + { + jobject value_MPanInsideOptional; + if (cppValue.MPan.Value().IsNull()) + { + value_MPanInsideOptional = nullptr; + } + else + { + std::string value_MPanInsideOptionalClassName = "java/lang/Integer"; + std::string value_MPanInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_MPanInsideOptional = static_cast(cppValue.MPan.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_MPanInsideOptionalClassName.c_str(), value_MPanInsideOptionalCtorSignature.c_str(), + jnivalue_MPanInsideOptional, value_MPanInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(value_MPanInsideOptional, value_MPan); + } + jobject value_MTilt; + if (!cppValue.MTilt.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_MTilt); + } + else + { + jobject value_MTiltInsideOptional; + if (cppValue.MTilt.Value().IsNull()) + { + value_MTiltInsideOptional = nullptr; + } + else + { + std::string value_MTiltInsideOptionalClassName = "java/lang/Integer"; + std::string value_MTiltInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_MTiltInsideOptional = static_cast(cppValue.MTilt.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_MTiltInsideOptionalClassName.c_str(), value_MTiltInsideOptionalCtorSignature.c_str(), + jnivalue_MTiltInsideOptional, value_MTiltInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(value_MTiltInsideOptional, value_MTilt); + } + jobject value_MZoom; + if (!cppValue.MZoom.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_MZoom); + } + else + { + jobject value_MZoomInsideOptional; + if (cppValue.MZoom.Value().IsNull()) + { + value_MZoomInsideOptional = nullptr; + } + else + { + std::string value_MZoomInsideOptionalClassName = "java/lang/Integer"; + std::string value_MZoomInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_MZoomInsideOptional = static_cast(cppValue.MZoom.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_MZoomInsideOptionalClassName.c_str(), value_MZoomInsideOptionalCtorSignature.c_str(), + jnivalue_MZoomInsideOptional, value_MZoomInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(value_MZoomInsideOptional, value_MZoom); + } + + jclass MPTZStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvSettingsUserLevelManagementClusterMPTZStruct", + MPTZStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvSettingsUserLevelManagementClusterMPTZStruct"); + return nullptr; + } + + jmethodID MPTZStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod(env, MPTZStructStructClass_0, "", + "(Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V", + &MPTZStructStructCtor_0); + if (err != CHIP_NO_ERROR || MPTZStructStructCtor_0 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvSettingsUserLevelManagementClusterMPTZStruct constructor"); + return nullptr; + } + + value = env->NewObject(MPTZStructStructClass_0, MPTZStructStructCtor_0, value_MPan, value_MTilt, value_MZoom); + return value; + } + case Attributes::MaxPresets::Id: { + using TypeInfo = Attributes::MaxPresets::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::PresetMptzTable::Id: { + using TypeInfo = Attributes::PresetMptzTable::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_MPan; + if (!entry_0.MPan.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_MPan); + } + else + { + jobject newElement_0_MPanInsideOptional; + if (entry_0.MPan.Value().IsNull()) + { + newElement_0_MPanInsideOptional = nullptr; + } + else + { + std::string newElement_0_MPanInsideOptionalClassName = "java/lang/Integer"; + std::string newElement_0_MPanInsideOptionalCtorSignature = "(I)V"; + jint jninewElement_0_MPanInsideOptional = static_cast(entry_0.MPan.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_MPanInsideOptionalClassName.c_str(), newElement_0_MPanInsideOptionalCtorSignature.c_str(), + jninewElement_0_MPanInsideOptional, newElement_0_MPanInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(newElement_0_MPanInsideOptional, newElement_0_MPan); + } + jobject newElement_0_MTilt; + if (!entry_0.MTilt.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_MTilt); + } + else + { + jobject newElement_0_MTiltInsideOptional; + if (entry_0.MTilt.Value().IsNull()) + { + newElement_0_MTiltInsideOptional = nullptr; + } + else + { + std::string newElement_0_MTiltInsideOptionalClassName = "java/lang/Integer"; + std::string newElement_0_MTiltInsideOptionalCtorSignature = "(I)V"; + jint jninewElement_0_MTiltInsideOptional = static_cast(entry_0.MTilt.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_MTiltInsideOptionalClassName.c_str(), + newElement_0_MTiltInsideOptionalCtorSignature.c_str(), jninewElement_0_MTiltInsideOptional, + newElement_0_MTiltInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(newElement_0_MTiltInsideOptional, newElement_0_MTilt); + } + jobject newElement_0_MZoom; + if (!entry_0.MZoom.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_MZoom); + } + else + { + jobject newElement_0_MZoomInsideOptional; + if (entry_0.MZoom.Value().IsNull()) + { + newElement_0_MZoomInsideOptional = nullptr; + } + else + { + std::string newElement_0_MZoomInsideOptionalClassName = "java/lang/Integer"; + std::string newElement_0_MZoomInsideOptionalCtorSignature = "(I)V"; + jint jninewElement_0_MZoomInsideOptional = static_cast(entry_0.MZoom.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_MZoomInsideOptionalClassName.c_str(), + newElement_0_MZoomInsideOptionalCtorSignature.c_str(), jninewElement_0_MZoomInsideOptional, + newElement_0_MZoomInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(newElement_0_MZoomInsideOptional, newElement_0_MZoom); + } + + jclass MPTZStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvSettingsUserLevelManagementClusterMPTZStruct", + MPTZStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvSettingsUserLevelManagementClusterMPTZStruct"); + return nullptr; + } + + jmethodID MPTZStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, MPTZStructStructClass_1, "", "(Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V", + &MPTZStructStructCtor_1); + if (err != CHIP_NO_ERROR || MPTZStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$CameraAvSettingsUserLevelManagementClusterMPTZStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(MPTZStructStructClass_1, MPTZStructStructCtor_1, newElement_0_MPan, + newElement_0_MTilt, newElement_0_MZoom); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::MptzRelativeMove::Id: { + using TypeInfo = Attributes::MptzRelativeMove::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::DptzRelativeMove::Id: { + using TypeInfo = Attributes::DptzRelativeMove::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_streamID; + std::string newElement_0_streamIDClassName = "java/lang/Integer"; + std::string newElement_0_streamIDCtorSignature = "(I)V"; + jint jninewElement_0_streamID = static_cast(entry_0.streamID); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_streamIDClassName.c_str(), + newElement_0_streamIDCtorSignature.c_str(), + jninewElement_0_streamID, newElement_0_streamID); + jobject newElement_0_onOff; + std::string newElement_0_onOffClassName = "java/lang/Boolean"; + std::string newElement_0_onOffCtorSignature = "(Z)V"; + jboolean jninewElement_0_onOff = static_cast(entry_0.onOff); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_onOffClassName.c_str(), + newElement_0_onOffCtorSignature.c_str(), + jninewElement_0_onOff, newElement_0_onOff); + + jclass perStreamStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvSettingsUserLevelManagementClusterPerStreamStruct", + perStreamStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvSettingsUserLevelManagementClusterPerStreamStruct"); + return nullptr; + } + + jmethodID perStreamStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, perStreamStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Boolean;)V", + &perStreamStructStructCtor_1); + if (err != CHIP_NO_ERROR || perStreamStructStructCtor_1 == nullptr) + { + ChipLogError( + Zcl, "Could not find ChipStructs$CameraAvSettingsUserLevelManagementClusterPerStreamStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(perStreamStructStructClass_1, perStreamStructStructCtor_1, newElement_0_streamID, + newElement_0_onOff); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::GeneratedCommandList::Id: { + using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AcceptedCommandList::Id: { + using TypeInfo = Attributes::AcceptedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::EventList::Id: { + using TypeInfo = Attributes::EventList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AttributeList::Id: { + using TypeInfo = Attributes::AttributeList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::FeatureMap::Id: { + using TypeInfo = Attributes::FeatureMap::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ClusterRevision::Id: { + using TypeInfo = Attributes::ClusterRevision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + break; + } + break; + } + case app::Clusters::WebRTCTransportProvider::Id: { + using namespace app::Clusters::WebRTCTransportProvider; + switch (aPath.mAttributeId) + { + case Attributes::CurrentSessions::Id: { + using TypeInfo = Attributes::CurrentSessions::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_id; + std::string newElement_0_idClassName = "java/lang/Integer"; + std::string newElement_0_idCtorSignature = "(I)V"; + jint jninewElement_0_id = static_cast(entry_0.id); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_idClassName.c_str(), newElement_0_idCtorSignature.c_str(), jninewElement_0_id, newElement_0_id); + jobject newElement_0_peerNodeId; + std::string newElement_0_peerNodeIdClassName = "java/lang/Long"; + std::string newElement_0_peerNodeIdCtorSignature = "(J)V"; + jlong jninewElement_0_peerNodeId = static_cast(entry_0.peerNodeId); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_peerNodeIdClassName.c_str(), + newElement_0_peerNodeIdCtorSignature.c_str(), + jninewElement_0_peerNodeId, newElement_0_peerNodeId); + jobject newElement_0_peerFabricIndex; + std::string newElement_0_peerFabricIndexClassName = "java/lang/Integer"; + std::string newElement_0_peerFabricIndexCtorSignature = "(I)V"; + jint jninewElement_0_peerFabricIndex = static_cast(entry_0.peerFabricIndex); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_peerFabricIndexClassName.c_str(), newElement_0_peerFabricIndexCtorSignature.c_str(), + jninewElement_0_peerFabricIndex, newElement_0_peerFabricIndex); + jobject newElement_0_streamType; + std::string newElement_0_streamTypeClassName = "java/lang/Integer"; + std::string newElement_0_streamTypeCtorSignature = "(I)V"; + jint jninewElement_0_streamType = static_cast(entry_0.streamType); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_streamTypeClassName.c_str(), + newElement_0_streamTypeCtorSignature.c_str(), + jninewElement_0_streamType, newElement_0_streamType); + jobject newElement_0_videoStreamID; + if (entry_0.videoStreamID.IsNull()) + { + newElement_0_videoStreamID = nullptr; + } + else + { + std::string newElement_0_videoStreamIDClassName = "java/lang/Integer"; + std::string newElement_0_videoStreamIDCtorSignature = "(I)V"; + jint jninewElement_0_videoStreamID = static_cast(entry_0.videoStreamID.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_videoStreamIDClassName.c_str(), newElement_0_videoStreamIDCtorSignature.c_str(), + jninewElement_0_videoStreamID, newElement_0_videoStreamID); + } + jobject newElement_0_audioStreamID; + if (entry_0.audioStreamID.IsNull()) + { + newElement_0_audioStreamID = nullptr; + } + else + { + std::string newElement_0_audioStreamIDClassName = "java/lang/Integer"; + std::string newElement_0_audioStreamIDCtorSignature = "(I)V"; + jint jninewElement_0_audioStreamID = static_cast(entry_0.audioStreamID.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_audioStreamIDClassName.c_str(), newElement_0_audioStreamIDCtorSignature.c_str(), + jninewElement_0_audioStreamID, newElement_0_audioStreamID); + } + jobject newElement_0_metadataOptions; + std::string newElement_0_metadataOptionsClassName = "java/lang/Integer"; + std::string newElement_0_metadataOptionsCtorSignature = "(I)V"; + jint jninewElement_0_metadataOptions = static_cast(entry_0.metadataOptions.Raw()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_metadataOptionsClassName.c_str(), newElement_0_metadataOptionsCtorSignature.c_str(), + jninewElement_0_metadataOptions, newElement_0_metadataOptions); + + jclass webRTCSessionStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$WebRTCTransportProviderClusterWebRTCSessionStruct", + webRTCSessionStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$WebRTCTransportProviderClusterWebRTCSessionStruct"); + return nullptr; + } + + jmethodID webRTCSessionStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, webRTCSessionStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/" + "Integer;Ljava/lang/Integer;)V", + &webRTCSessionStructStructCtor_1); + if (err != CHIP_NO_ERROR || webRTCSessionStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$WebRTCTransportProviderClusterWebRTCSessionStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(webRTCSessionStructStructClass_1, webRTCSessionStructStructCtor_1, newElement_0_id, + newElement_0_peerNodeId, newElement_0_peerFabricIndex, newElement_0_streamType, + newElement_0_videoStreamID, newElement_0_audioStreamID, newElement_0_metadataOptions); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::GeneratedCommandList::Id: { + using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AcceptedCommandList::Id: { + using TypeInfo = Attributes::AcceptedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::EventList::Id: { + using TypeInfo = Attributes::EventList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AttributeList::Id: { + using TypeInfo = Attributes::AttributeList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::FeatureMap::Id: { + using TypeInfo = Attributes::FeatureMap::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ClusterRevision::Id: { + using TypeInfo = Attributes::ClusterRevision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + break; + } + break; + } + case app::Clusters::WebRTCTransportRequestor::Id: { + using namespace app::Clusters::WebRTCTransportRequestor; + switch (aPath.mAttributeId) + { + case Attributes::CurrentSessions::Id: { + using TypeInfo = Attributes::CurrentSessions::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_id; + std::string newElement_0_idClassName = "java/lang/Integer"; + std::string newElement_0_idCtorSignature = "(I)V"; + jint jninewElement_0_id = static_cast(entry_0.id); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_idClassName.c_str(), newElement_0_idCtorSignature.c_str(), jninewElement_0_id, newElement_0_id); + jobject newElement_0_peerNodeId; + std::string newElement_0_peerNodeIdClassName = "java/lang/Long"; + std::string newElement_0_peerNodeIdCtorSignature = "(J)V"; + jlong jninewElement_0_peerNodeId = static_cast(entry_0.peerNodeId); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_peerNodeIdClassName.c_str(), + newElement_0_peerNodeIdCtorSignature.c_str(), + jninewElement_0_peerNodeId, newElement_0_peerNodeId); + jobject newElement_0_peerFabricIndex; + std::string newElement_0_peerFabricIndexClassName = "java/lang/Integer"; + std::string newElement_0_peerFabricIndexCtorSignature = "(I)V"; + jint jninewElement_0_peerFabricIndex = static_cast(entry_0.peerFabricIndex); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_peerFabricIndexClassName.c_str(), newElement_0_peerFabricIndexCtorSignature.c_str(), + jninewElement_0_peerFabricIndex, newElement_0_peerFabricIndex); + jobject newElement_0_streamType; + std::string newElement_0_streamTypeClassName = "java/lang/Integer"; + std::string newElement_0_streamTypeCtorSignature = "(I)V"; + jint jninewElement_0_streamType = static_cast(entry_0.streamType); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_streamTypeClassName.c_str(), + newElement_0_streamTypeCtorSignature.c_str(), + jninewElement_0_streamType, newElement_0_streamType); + jobject newElement_0_videoStreamID; + if (entry_0.videoStreamID.IsNull()) + { + newElement_0_videoStreamID = nullptr; + } + else + { + std::string newElement_0_videoStreamIDClassName = "java/lang/Integer"; + std::string newElement_0_videoStreamIDCtorSignature = "(I)V"; + jint jninewElement_0_videoStreamID = static_cast(entry_0.videoStreamID.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_videoStreamIDClassName.c_str(), newElement_0_videoStreamIDCtorSignature.c_str(), + jninewElement_0_videoStreamID, newElement_0_videoStreamID); + } + jobject newElement_0_audioStreamID; + if (entry_0.audioStreamID.IsNull()) + { + newElement_0_audioStreamID = nullptr; + } + else + { + std::string newElement_0_audioStreamIDClassName = "java/lang/Integer"; + std::string newElement_0_audioStreamIDCtorSignature = "(I)V"; + jint jninewElement_0_audioStreamID = static_cast(entry_0.audioStreamID.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_audioStreamIDClassName.c_str(), newElement_0_audioStreamIDCtorSignature.c_str(), + jninewElement_0_audioStreamID, newElement_0_audioStreamID); + } + jobject newElement_0_metadataOptions; + std::string newElement_0_metadataOptionsClassName = "java/lang/Integer"; + std::string newElement_0_metadataOptionsCtorSignature = "(I)V"; + jint jninewElement_0_metadataOptions = static_cast(entry_0.metadataOptions.Raw()); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_metadataOptionsClassName.c_str(), newElement_0_metadataOptionsCtorSignature.c_str(), + jninewElement_0_metadataOptions, newElement_0_metadataOptions); + + jclass webRTCSessionStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$WebRTCTransportRequestorClusterWebRTCSessionStruct", + webRTCSessionStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$WebRTCTransportRequestorClusterWebRTCSessionStruct"); + return nullptr; + } + + jmethodID webRTCSessionStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod( + env, webRTCSessionStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/" + "Integer;Ljava/lang/Integer;)V", + &webRTCSessionStructStructCtor_1); + if (err != CHIP_NO_ERROR || webRTCSessionStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$WebRTCTransportRequestorClusterWebRTCSessionStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(webRTCSessionStructStructClass_1, webRTCSessionStructStructCtor_1, newElement_0_id, + newElement_0_peerNodeId, newElement_0_peerFabricIndex, newElement_0_streamType, + newElement_0_videoStreamID, newElement_0_audioStreamID, newElement_0_metadataOptions); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::GeneratedCommandList::Id: { + using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AcceptedCommandList::Id: { + using TypeInfo = Attributes::AcceptedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::EventList::Id: { + using TypeInfo = Attributes::EventList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AttributeList::Id: { + using TypeInfo = Attributes::AttributeList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::FeatureMap::Id: { + using TypeInfo = Attributes::FeatureMap::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ClusterRevision::Id: { + using TypeInfo = Attributes::ClusterRevision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + break; + } + break; + } + case app::Clusters::PushAvStreamTransport::Id: { + using namespace app::Clusters::PushAvStreamTransport; + switch (aPath.mAttributeId) + { + case Attributes::SupportedContainerFormats::Id: { + using TypeInfo = Attributes::SupportedContainerFormats::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue.Raw()); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::SupportedIngestMethods::Id: { + using TypeInfo = Attributes::SupportedIngestMethods::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue.Raw()); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::CurrentConnections::Id: { + using TypeInfo = Attributes::CurrentConnections::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Integer"; + std::string newElement_0CtorSignature = "(I)V"; + jint jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::GeneratedCommandList::Id: { + using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AcceptedCommandList::Id: { + using TypeInfo = Attributes::AcceptedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::EventList::Id: { + using TypeInfo = Attributes::EventList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AttributeList::Id: { + using TypeInfo = Attributes::AttributeList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::FeatureMap::Id: { + using TypeInfo = Attributes::FeatureMap::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ClusterRevision::Id: { + using TypeInfo = Attributes::ClusterRevision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + break; + } + break; + } + case app::Clusters::Chime::Id: { + using namespace app::Clusters::Chime; + switch (aPath.mAttributeId) + { + case Attributes::InstalledChimeSounds::Id: { + using TypeInfo = Attributes::InstalledChimeSounds::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_chimeId; + std::string newElement_0_chimeIdClassName = "java/lang/Integer"; + std::string newElement_0_chimeIdCtorSignature = "(I)V"; + jint jninewElement_0_chimeId = static_cast(entry_0.chimeId); + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_chimeIdClassName.c_str(), + newElement_0_chimeIdCtorSignature.c_str(), + jninewElement_0_chimeId, newElement_0_chimeId); + jobject newElement_0_name; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.name, newElement_0_name)); + + jclass chimeSoundStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$ChimeClusterChimeSoundStruct", chimeSoundStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$ChimeClusterChimeSoundStruct"); + return nullptr; + } + + jmethodID chimeSoundStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, chimeSoundStructStructClass_1, "", + "(Ljava/lang/Integer;Ljava/lang/String;)V", + &chimeSoundStructStructCtor_1); + if (err != CHIP_NO_ERROR || chimeSoundStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$ChimeClusterChimeSoundStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(chimeSoundStructStructClass_1, chimeSoundStructStructCtor_1, newElement_0_chimeId, + newElement_0_name); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::ActiveChimeSoundId::Id: { + using TypeInfo = Attributes::ActiveChimeSoundId::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + case Attributes::Enabled::Id: { + using TypeInfo = Attributes::Enabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Boolean"; + std::string valueCtorSignature = "(Z)V"; + jboolean jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::GeneratedCommandList::Id: { + using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AcceptedCommandList::Id: { + using TypeInfo = Attributes::AcceptedCommandList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::EventList::Id: { + using TypeInfo = Attributes::EventList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::AttributeList::Id: { + using TypeInfo = Attributes::AttributeList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + jlong jninewElement_0 = static_cast(entry_0); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } + case Attributes::FeatureMap::Id: { + using TypeInfo = Attributes::FeatureMap::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Long"; + std::string valueCtorSignature = "(J)V"; + jlong jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), + jnivalue, value); + return value; + } + case Attributes::ClusterRevision::Id: { + using TypeInfo = Attributes::ClusterRevision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + std::string valueClassName = "java/lang/Integer"; + std::string valueCtorSignature = "(I)V"; + jint jnivalue = static_cast(cppValue); + chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue, + value); + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + break; + } + break; + } case app::Clusters::EcosystemInformation::Id: { using namespace app::Clusters::EcosystemInformation; switch (aPath.mAttributeId) diff --git a/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp index a133eceb499a0f..07104e2a654ee4 100644 --- a/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp +++ b/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp @@ -8278,6 +8278,927 @@ jobject DecodeEventValue(const app::ConcreteEventPath & aPath, TLV::TLVReader & } break; } + case app::Clusters::CameraAvStreamManagement::Id: { + using namespace app::Clusters::CameraAvStreamManagement; + switch (aPath.mEventId) + { + case Events::VideoStreamChanged::Id: { + Events::VideoStreamChanged::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value_videoStreamID; + std::string value_videoStreamIDClassName = "java/lang/Integer"; + std::string value_videoStreamIDCtorSignature = "(I)V"; + jint jnivalue_videoStreamID = static_cast(cppValue.videoStreamID); + chip::JniReferences::GetInstance().CreateBoxedObject(value_videoStreamIDClassName.c_str(), + value_videoStreamIDCtorSignature.c_str(), + jnivalue_videoStreamID, value_videoStreamID); + + jobject value_streamType; + if (!cppValue.streamType.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_streamType); + } + else + { + jobject value_streamTypeInsideOptional; + std::string value_streamTypeInsideOptionalClassName = "java/lang/Integer"; + std::string value_streamTypeInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_streamTypeInsideOptional = static_cast(cppValue.streamType.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_streamTypeInsideOptionalClassName.c_str(), value_streamTypeInsideOptionalCtorSignature.c_str(), + jnivalue_streamTypeInsideOptional, value_streamTypeInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_streamTypeInsideOptional, value_streamType); + } + + jobject value_videoCodec; + if (!cppValue.videoCodec.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_videoCodec); + } + else + { + jobject value_videoCodecInsideOptional; + std::string value_videoCodecInsideOptionalClassName = "java/lang/Integer"; + std::string value_videoCodecInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_videoCodecInsideOptional = static_cast(cppValue.videoCodec.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_videoCodecInsideOptionalClassName.c_str(), value_videoCodecInsideOptionalCtorSignature.c_str(), + jnivalue_videoCodecInsideOptional, value_videoCodecInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_videoCodecInsideOptional, value_videoCodec); + } + + jobject value_minFrameRate; + if (!cppValue.minFrameRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_minFrameRate); + } + else + { + jobject value_minFrameRateInsideOptional; + std::string value_minFrameRateInsideOptionalClassName = "java/lang/Integer"; + std::string value_minFrameRateInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_minFrameRateInsideOptional = static_cast(cppValue.minFrameRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_minFrameRateInsideOptionalClassName.c_str(), value_minFrameRateInsideOptionalCtorSignature.c_str(), + jnivalue_minFrameRateInsideOptional, value_minFrameRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_minFrameRateInsideOptional, value_minFrameRate); + } + + jobject value_maxFrameRate; + if (!cppValue.maxFrameRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_maxFrameRate); + } + else + { + jobject value_maxFrameRateInsideOptional; + std::string value_maxFrameRateInsideOptionalClassName = "java/lang/Integer"; + std::string value_maxFrameRateInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_maxFrameRateInsideOptional = static_cast(cppValue.maxFrameRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_maxFrameRateInsideOptionalClassName.c_str(), value_maxFrameRateInsideOptionalCtorSignature.c_str(), + jnivalue_maxFrameRateInsideOptional, value_maxFrameRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_maxFrameRateInsideOptional, value_maxFrameRate); + } + + jobject value_minResolution; + if (!cppValue.minResolution.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_minResolution); + } + else + { + jobject value_minResolutionInsideOptional; + + jclass dimensionStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_1, "", "()V", + &dimensionStructStructCtor_1); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + value_minResolutionInsideOptional = env->NewObject(dimensionStructStructClass_1, dimensionStructStructCtor_1); + chip::JniReferences::GetInstance().CreateOptional(value_minResolutionInsideOptional, value_minResolution); + } + + jobject value_maxResolution; + if (!cppValue.maxResolution.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_maxResolution); + } + else + { + jobject value_maxResolutionInsideOptional; + + jclass dimensionStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_1, "", "()V", + &dimensionStructStructCtor_1); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + value_maxResolutionInsideOptional = env->NewObject(dimensionStructStructClass_1, dimensionStructStructCtor_1); + chip::JniReferences::GetInstance().CreateOptional(value_maxResolutionInsideOptional, value_maxResolution); + } + + jobject value_minBitRate; + if (!cppValue.minBitRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_minBitRate); + } + else + { + jobject value_minBitRateInsideOptional; + std::string value_minBitRateInsideOptionalClassName = "java/lang/Integer"; + std::string value_minBitRateInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_minBitRateInsideOptional = static_cast(cppValue.minBitRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_minBitRateInsideOptionalClassName.c_str(), value_minBitRateInsideOptionalCtorSignature.c_str(), + jnivalue_minBitRateInsideOptional, value_minBitRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_minBitRateInsideOptional, value_minBitRate); + } + + jobject value_maxBitRate; + if (!cppValue.maxBitRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_maxBitRate); + } + else + { + jobject value_maxBitRateInsideOptional; + std::string value_maxBitRateInsideOptionalClassName = "java/lang/Integer"; + std::string value_maxBitRateInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_maxBitRateInsideOptional = static_cast(cppValue.maxBitRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_maxBitRateInsideOptionalClassName.c_str(), value_maxBitRateInsideOptionalCtorSignature.c_str(), + jnivalue_maxBitRateInsideOptional, value_maxBitRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_maxBitRateInsideOptional, value_maxBitRate); + } + + jobject value_minFragmentLen; + if (!cppValue.minFragmentLen.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_minFragmentLen); + } + else + { + jobject value_minFragmentLenInsideOptional; + std::string value_minFragmentLenInsideOptionalClassName = "java/lang/Integer"; + std::string value_minFragmentLenInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_minFragmentLenInsideOptional = static_cast(cppValue.minFragmentLen.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_minFragmentLenInsideOptionalClassName.c_str(), value_minFragmentLenInsideOptionalCtorSignature.c_str(), + jnivalue_minFragmentLenInsideOptional, value_minFragmentLenInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_minFragmentLenInsideOptional, value_minFragmentLen); + } + + jobject value_maxFragmentLen; + if (!cppValue.maxFragmentLen.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_maxFragmentLen); + } + else + { + jobject value_maxFragmentLenInsideOptional; + std::string value_maxFragmentLenInsideOptionalClassName = "java/lang/Integer"; + std::string value_maxFragmentLenInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_maxFragmentLenInsideOptional = static_cast(cppValue.maxFragmentLen.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_maxFragmentLenInsideOptionalClassName.c_str(), value_maxFragmentLenInsideOptionalCtorSignature.c_str(), + jnivalue_maxFragmentLenInsideOptional, value_maxFragmentLenInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_maxFragmentLenInsideOptional, value_maxFragmentLen); + } + + jclass videoStreamChangedStructClass; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipEventStructs$CameraAvStreamManagementClusterVideoStreamChangedEvent", + videoStreamChangedStructClass); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipEventStructs$CameraAvStreamManagementClusterVideoStreamChangedEvent"); + return nullptr; + } + + jmethodID videoStreamChangedStructCtor; + err = chip::JniReferences::GetInstance().FindMethod( + env, videoStreamChangedStructClass, "", + "(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/" + "Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V", + &videoStreamChangedStructCtor); + if (err != CHIP_NO_ERROR || videoStreamChangedStructCtor == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipEventStructs$CameraAvStreamManagementClusterVideoStreamChangedEvent constructor"); + return nullptr; + } + + jobject value = + env->NewObject(videoStreamChangedStructClass, videoStreamChangedStructCtor, value_videoStreamID, value_streamType, + value_videoCodec, value_minFrameRate, value_maxFrameRate, value_minResolution, value_maxResolution, + value_minBitRate, value_maxBitRate, value_minFragmentLen, value_maxFragmentLen); + + return value; + } + case Events::AudioStreamChanged::Id: { + Events::AudioStreamChanged::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value_audioStreamID; + std::string value_audioStreamIDClassName = "java/lang/Integer"; + std::string value_audioStreamIDCtorSignature = "(I)V"; + jint jnivalue_audioStreamID = static_cast(cppValue.audioStreamID); + chip::JniReferences::GetInstance().CreateBoxedObject(value_audioStreamIDClassName.c_str(), + value_audioStreamIDCtorSignature.c_str(), + jnivalue_audioStreamID, value_audioStreamID); + + jobject value_streamType; + if (!cppValue.streamType.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_streamType); + } + else + { + jobject value_streamTypeInsideOptional; + std::string value_streamTypeInsideOptionalClassName = "java/lang/Integer"; + std::string value_streamTypeInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_streamTypeInsideOptional = static_cast(cppValue.streamType.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_streamTypeInsideOptionalClassName.c_str(), value_streamTypeInsideOptionalCtorSignature.c_str(), + jnivalue_streamTypeInsideOptional, value_streamTypeInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_streamTypeInsideOptional, value_streamType); + } + + jobject value_audioCodec; + if (!cppValue.audioCodec.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_audioCodec); + } + else + { + jobject value_audioCodecInsideOptional; + std::string value_audioCodecInsideOptionalClassName = "java/lang/Integer"; + std::string value_audioCodecInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_audioCodecInsideOptional = static_cast(cppValue.audioCodec.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_audioCodecInsideOptionalClassName.c_str(), value_audioCodecInsideOptionalCtorSignature.c_str(), + jnivalue_audioCodecInsideOptional, value_audioCodecInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_audioCodecInsideOptional, value_audioCodec); + } + + jobject value_channelCount; + if (!cppValue.channelCount.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_channelCount); + } + else + { + jobject value_channelCountInsideOptional; + std::string value_channelCountInsideOptionalClassName = "java/lang/Integer"; + std::string value_channelCountInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_channelCountInsideOptional = static_cast(cppValue.channelCount.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_channelCountInsideOptionalClassName.c_str(), value_channelCountInsideOptionalCtorSignature.c_str(), + jnivalue_channelCountInsideOptional, value_channelCountInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_channelCountInsideOptional, value_channelCount); + } + + jobject value_sampleRate; + if (!cppValue.sampleRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_sampleRate); + } + else + { + jobject value_sampleRateInsideOptional; + std::string value_sampleRateInsideOptionalClassName = "java/lang/Long"; + std::string value_sampleRateInsideOptionalCtorSignature = "(J)V"; + jlong jnivalue_sampleRateInsideOptional = static_cast(cppValue.sampleRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_sampleRateInsideOptionalClassName.c_str(), value_sampleRateInsideOptionalCtorSignature.c_str(), + jnivalue_sampleRateInsideOptional, value_sampleRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_sampleRateInsideOptional, value_sampleRate); + } + + jobject value_bitRate; + if (!cppValue.bitRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_bitRate); + } + else + { + jobject value_bitRateInsideOptional; + std::string value_bitRateInsideOptionalClassName = "java/lang/Long"; + std::string value_bitRateInsideOptionalCtorSignature = "(J)V"; + jlong jnivalue_bitRateInsideOptional = static_cast(cppValue.bitRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_bitRateInsideOptionalClassName.c_str(), value_bitRateInsideOptionalCtorSignature.c_str(), + jnivalue_bitRateInsideOptional, value_bitRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_bitRateInsideOptional, value_bitRate); + } + + jobject value_bitDepth; + if (!cppValue.bitDepth.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_bitDepth); + } + else + { + jobject value_bitDepthInsideOptional; + std::string value_bitDepthInsideOptionalClassName = "java/lang/Integer"; + std::string value_bitDepthInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_bitDepthInsideOptional = static_cast(cppValue.bitDepth.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_bitDepthInsideOptionalClassName.c_str(), value_bitDepthInsideOptionalCtorSignature.c_str(), + jnivalue_bitDepthInsideOptional, value_bitDepthInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_bitDepthInsideOptional, value_bitDepth); + } + + jclass audioStreamChangedStructClass; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipEventStructs$CameraAvStreamManagementClusterAudioStreamChangedEvent", + audioStreamChangedStructClass); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipEventStructs$CameraAvStreamManagementClusterAudioStreamChangedEvent"); + return nullptr; + } + + jmethodID audioStreamChangedStructCtor; + err = chip::JniReferences::GetInstance().FindMethod( + env, audioStreamChangedStructClass, "", + "(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/" + "Optional;Ljava/util/Optional;)V", + &audioStreamChangedStructCtor); + if (err != CHIP_NO_ERROR || audioStreamChangedStructCtor == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipEventStructs$CameraAvStreamManagementClusterAudioStreamChangedEvent constructor"); + return nullptr; + } + + jobject value = + env->NewObject(audioStreamChangedStructClass, audioStreamChangedStructCtor, value_audioStreamID, value_streamType, + value_audioCodec, value_channelCount, value_sampleRate, value_bitRate, value_bitDepth); + + return value; + } + case Events::SnapshotStreamChanged::Id: { + Events::SnapshotStreamChanged::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value_snapshotStreamID; + std::string value_snapshotStreamIDClassName = "java/lang/Integer"; + std::string value_snapshotStreamIDCtorSignature = "(I)V"; + jint jnivalue_snapshotStreamID = static_cast(cppValue.snapshotStreamID); + chip::JniReferences::GetInstance().CreateBoxedObject(value_snapshotStreamIDClassName.c_str(), + value_snapshotStreamIDCtorSignature.c_str(), + jnivalue_snapshotStreamID, value_snapshotStreamID); + + jobject value_imageCodec; + if (!cppValue.imageCodec.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_imageCodec); + } + else + { + jobject value_imageCodecInsideOptional; + std::string value_imageCodecInsideOptionalClassName = "java/lang/Integer"; + std::string value_imageCodecInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_imageCodecInsideOptional = static_cast(cppValue.imageCodec.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_imageCodecInsideOptionalClassName.c_str(), value_imageCodecInsideOptionalCtorSignature.c_str(), + jnivalue_imageCodecInsideOptional, value_imageCodecInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_imageCodecInsideOptional, value_imageCodec); + } + + jobject value_frameRate; + if (!cppValue.frameRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_frameRate); + } + else + { + jobject value_frameRateInsideOptional; + std::string value_frameRateInsideOptionalClassName = "java/lang/Integer"; + std::string value_frameRateInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_frameRateInsideOptional = static_cast(cppValue.frameRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_frameRateInsideOptionalClassName.c_str(), value_frameRateInsideOptionalCtorSignature.c_str(), + jnivalue_frameRateInsideOptional, value_frameRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_frameRateInsideOptional, value_frameRate); + } + + jobject value_bitRate; + if (!cppValue.bitRate.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_bitRate); + } + else + { + jobject value_bitRateInsideOptional; + std::string value_bitRateInsideOptionalClassName = "java/lang/Long"; + std::string value_bitRateInsideOptionalCtorSignature = "(J)V"; + jlong jnivalue_bitRateInsideOptional = static_cast(cppValue.bitRate.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_bitRateInsideOptionalClassName.c_str(), value_bitRateInsideOptionalCtorSignature.c_str(), + jnivalue_bitRateInsideOptional, value_bitRateInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_bitRateInsideOptional, value_bitRate); + } + + jobject value_minResolution; + if (!cppValue.minResolution.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_minResolution); + } + else + { + jobject value_minResolutionInsideOptional; + + jclass dimensionStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_1, "", "()V", + &dimensionStructStructCtor_1); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + value_minResolutionInsideOptional = env->NewObject(dimensionStructStructClass_1, dimensionStructStructCtor_1); + chip::JniReferences::GetInstance().CreateOptional(value_minResolutionInsideOptional, value_minResolution); + } + + jobject value_maxResolution; + if (!cppValue.maxResolution.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_maxResolution); + } + else + { + jobject value_maxResolutionInsideOptional; + + jclass dimensionStructStructClass_1; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$CameraAvStreamManagementClusterDimensionStruct", + dimensionStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CameraAvStreamManagementClusterDimensionStruct"); + return nullptr; + } + + jmethodID dimensionStructStructCtor_1; + err = chip::JniReferences::GetInstance().FindMethod(env, dimensionStructStructClass_1, "", "()V", + &dimensionStructStructCtor_1); + if (err != CHIP_NO_ERROR || dimensionStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CameraAvStreamManagementClusterDimensionStruct constructor"); + return nullptr; + } + + value_maxResolutionInsideOptional = env->NewObject(dimensionStructStructClass_1, dimensionStructStructCtor_1); + chip::JniReferences::GetInstance().CreateOptional(value_maxResolutionInsideOptional, value_maxResolution); + } + + jobject value_quality; + if (!cppValue.quality.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_quality); + } + else + { + jobject value_qualityInsideOptional; + std::string value_qualityInsideOptionalClassName = "java/lang/Integer"; + std::string value_qualityInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_qualityInsideOptional = static_cast(cppValue.quality.Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_qualityInsideOptionalClassName.c_str(), value_qualityInsideOptionalCtorSignature.c_str(), + jnivalue_qualityInsideOptional, value_qualityInsideOptional); + chip::JniReferences::GetInstance().CreateOptional(value_qualityInsideOptional, value_quality); + } + + jclass snapshotStreamChangedStructClass; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipEventStructs$CameraAvStreamManagementClusterSnapshotStreamChangedEvent", + snapshotStreamChangedStructClass); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, + "Could not find class ChipEventStructs$CameraAvStreamManagementClusterSnapshotStreamChangedEvent"); + return nullptr; + } + + jmethodID snapshotStreamChangedStructCtor; + err = chip::JniReferences::GetInstance().FindMethod( + env, snapshotStreamChangedStructClass, "", + "(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/" + "Optional;Ljava/util/Optional;)V", + &snapshotStreamChangedStructCtor); + if (err != CHIP_NO_ERROR || snapshotStreamChangedStructCtor == nullptr) + { + ChipLogError( + Zcl, "Could not find ChipEventStructs$CameraAvStreamManagementClusterSnapshotStreamChangedEvent constructor"); + return nullptr; + } + + jobject value = env->NewObject(snapshotStreamChangedStructClass, snapshotStreamChangedStructCtor, + value_snapshotStreamID, value_imageCodec, value_frameRate, value_bitRate, + value_minResolution, value_maxResolution, value_quality); + + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + break; + } + break; + } + case app::Clusters::CameraAvSettingsUserLevelManagement::Id: { + using namespace app::Clusters::CameraAvSettingsUserLevelManagement; + switch (aPath.mEventId) + { + default: + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + break; + } + break; + } + case app::Clusters::WebRTCTransportProvider::Id: { + using namespace app::Clusters::WebRTCTransportProvider; + switch (aPath.mEventId) + { + default: + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + break; + } + break; + } + case app::Clusters::WebRTCTransportRequestor::Id: { + using namespace app::Clusters::WebRTCTransportRequestor; + switch (aPath.mEventId) + { + default: + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + break; + } + break; + } + case app::Clusters::PushAvStreamTransport::Id: { + using namespace app::Clusters::PushAvStreamTransport; + switch (aPath.mEventId) + { + case Events::PushTransportBegin::Id: { + Events::PushTransportBegin::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jclass pushTransportBeginStructClass; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipEventStructs$PushAvStreamTransportClusterPushTransportBeginEvent", + pushTransportBeginStructClass); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipEventStructs$PushAvStreamTransportClusterPushTransportBeginEvent"); + return nullptr; + } + + jmethodID pushTransportBeginStructCtor; + err = chip::JniReferences::GetInstance().FindMethod(env, pushTransportBeginStructClass, "", "()V", + &pushTransportBeginStructCtor); + if (err != CHIP_NO_ERROR || pushTransportBeginStructCtor == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipEventStructs$PushAvStreamTransportClusterPushTransportBeginEvent constructor"); + return nullptr; + } + + jobject value = env->NewObject(pushTransportBeginStructClass, pushTransportBeginStructCtor); + + return value; + } + case Events::PushTransportEnd::Id: { + Events::PushTransportEnd::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value_connectionID; + std::string value_connectionIDClassName = "java/lang/Integer"; + std::string value_connectionIDCtorSignature = "(I)V"; + jint jnivalue_connectionID = static_cast(cppValue.connectionID); + chip::JniReferences::GetInstance().CreateBoxedObject(value_connectionIDClassName.c_str(), + value_connectionIDCtorSignature.c_str(), + jnivalue_connectionID, value_connectionID); + + jobject value_triggerDetails; + jobject value_triggerDetails_triggerType; + std::string value_triggerDetails_triggerTypeClassName = "java/lang/Integer"; + std::string value_triggerDetails_triggerTypeCtorSignature = "(I)V"; + jint jnivalue_triggerDetails_triggerType = static_cast(cppValue.triggerDetails.triggerType); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_triggerDetails_triggerTypeClassName.c_str(), value_triggerDetails_triggerTypeCtorSignature.c_str(), + jnivalue_triggerDetails_triggerType, value_triggerDetails_triggerType); + jobject value_triggerDetails_motionZones; + if (!cppValue.triggerDetails.motionZones.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_triggerDetails_motionZones); + } + else + { + jobject value_triggerDetails_motionZonesInsideOptional; + if (cppValue.triggerDetails.motionZones.Value().IsNull()) + { + value_triggerDetails_motionZonesInsideOptional = nullptr; + } + else + { + chip::JniReferences::GetInstance().CreateArrayList(value_triggerDetails_motionZonesInsideOptional); + + auto iter_value_triggerDetails_motionZonesInsideOptional_3 = + cppValue.triggerDetails.motionZones.Value().Value().begin(); + while (iter_value_triggerDetails_motionZonesInsideOptional_3.Next()) + { + auto & entry_3 = iter_value_triggerDetails_motionZonesInsideOptional_3.GetValue(); + jobject newElement_3; + std::string newElement_3ClassName = "java/lang/Integer"; + std::string newElement_3CtorSignature = "(I)V"; + jint jninewElement_3 = static_cast(entry_3); + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_3ClassName.c_str(), newElement_3CtorSignature.c_str(), jninewElement_3, newElement_3); + chip::JniReferences::GetInstance().AddToList(value_triggerDetails_motionZonesInsideOptional, newElement_3); + } + } + chip::JniReferences::GetInstance().CreateOptional(value_triggerDetails_motionZonesInsideOptional, + value_triggerDetails_motionZones); + } + jobject value_triggerDetails_motionSensitivity; + if (!cppValue.triggerDetails.motionSensitivity.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_triggerDetails_motionSensitivity); + } + else + { + jobject value_triggerDetails_motionSensitivityInsideOptional; + if (cppValue.triggerDetails.motionSensitivity.Value().IsNull()) + { + value_triggerDetails_motionSensitivityInsideOptional = nullptr; + } + else + { + std::string value_triggerDetails_motionSensitivityInsideOptionalClassName = "java/lang/Integer"; + std::string value_triggerDetails_motionSensitivityInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_triggerDetails_motionSensitivityInsideOptional = + static_cast(cppValue.triggerDetails.motionSensitivity.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_triggerDetails_motionSensitivityInsideOptionalClassName.c_str(), + value_triggerDetails_motionSensitivityInsideOptionalCtorSignature.c_str(), + jnivalue_triggerDetails_motionSensitivityInsideOptional, + value_triggerDetails_motionSensitivityInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(value_triggerDetails_motionSensitivityInsideOptional, + value_triggerDetails_motionSensitivity); + } + jobject value_triggerDetails_motionTimeControl; + if (!cppValue.triggerDetails.motionTimeControl.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_triggerDetails_motionTimeControl); + } + else + { + jobject value_triggerDetails_motionTimeControlInsideOptional; + if (cppValue.triggerDetails.motionTimeControl.Value().IsNull()) + { + value_triggerDetails_motionTimeControlInsideOptional = nullptr; + } + else + { + jobject value_triggerDetails_motionTimeControlInsideOptional_initialDuration; + std::string value_triggerDetails_motionTimeControlInsideOptional_initialDurationClassName = "java/lang/Integer"; + std::string value_triggerDetails_motionTimeControlInsideOptional_initialDurationCtorSignature = "(I)V"; + jint jnivalue_triggerDetails_motionTimeControlInsideOptional_initialDuration = + static_cast(cppValue.triggerDetails.motionTimeControl.Value().Value().initialDuration); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_triggerDetails_motionTimeControlInsideOptional_initialDurationClassName.c_str(), + value_triggerDetails_motionTimeControlInsideOptional_initialDurationCtorSignature.c_str(), + jnivalue_triggerDetails_motionTimeControlInsideOptional_initialDuration, + value_triggerDetails_motionTimeControlInsideOptional_initialDuration); + jobject value_triggerDetails_motionTimeControlInsideOptional_augmentationDuration; + std::string value_triggerDetails_motionTimeControlInsideOptional_augmentationDurationClassName = + "java/lang/Integer"; + std::string value_triggerDetails_motionTimeControlInsideOptional_augmentationDurationCtorSignature = "(I)V"; + jint jnivalue_triggerDetails_motionTimeControlInsideOptional_augmentationDuration = + static_cast(cppValue.triggerDetails.motionTimeControl.Value().Value().augmentationDuration); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_triggerDetails_motionTimeControlInsideOptional_augmentationDurationClassName.c_str(), + value_triggerDetails_motionTimeControlInsideOptional_augmentationDurationCtorSignature.c_str(), + jnivalue_triggerDetails_motionTimeControlInsideOptional_augmentationDuration, + value_triggerDetails_motionTimeControlInsideOptional_augmentationDuration); + jobject value_triggerDetails_motionTimeControlInsideOptional_maxDuration; + std::string value_triggerDetails_motionTimeControlInsideOptional_maxDurationClassName = "java/lang/Long"; + std::string value_triggerDetails_motionTimeControlInsideOptional_maxDurationCtorSignature = "(J)V"; + jlong jnivalue_triggerDetails_motionTimeControlInsideOptional_maxDuration = + static_cast(cppValue.triggerDetails.motionTimeControl.Value().Value().maxDuration); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_triggerDetails_motionTimeControlInsideOptional_maxDurationClassName.c_str(), + value_triggerDetails_motionTimeControlInsideOptional_maxDurationCtorSignature.c_str(), + jnivalue_triggerDetails_motionTimeControlInsideOptional_maxDuration, + value_triggerDetails_motionTimeControlInsideOptional_maxDuration); + jobject value_triggerDetails_motionTimeControlInsideOptional_blindDuration; + std::string value_triggerDetails_motionTimeControlInsideOptional_blindDurationClassName = "java/lang/Integer"; + std::string value_triggerDetails_motionTimeControlInsideOptional_blindDurationCtorSignature = "(I)V"; + jint jnivalue_triggerDetails_motionTimeControlInsideOptional_blindDuration = + static_cast(cppValue.triggerDetails.motionTimeControl.Value().Value().blindDuration); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_triggerDetails_motionTimeControlInsideOptional_blindDurationClassName.c_str(), + value_triggerDetails_motionTimeControlInsideOptional_blindDurationCtorSignature.c_str(), + jnivalue_triggerDetails_motionTimeControlInsideOptional_blindDuration, + value_triggerDetails_motionTimeControlInsideOptional_blindDuration); + + jclass pushAVStreamTransportMotionTriggerTimeControlStructStructClass_3; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, + "chip/devicecontroller/" + "ChipStructs$PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct", + pushAVStreamTransportMotionTriggerTimeControlStructStructClass_3); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, + "Could not find class " + "ChipStructs$PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct"); + return nullptr; + } + + jmethodID pushAVStreamTransportMotionTriggerTimeControlStructStructCtor_3; + err = chip::JniReferences::GetInstance().FindMethod( + env, pushAVStreamTransportMotionTriggerTimeControlStructStructClass_3, "", + "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;)V", + &pushAVStreamTransportMotionTriggerTimeControlStructStructCtor_3); + if (err != CHIP_NO_ERROR || pushAVStreamTransportMotionTriggerTimeControlStructStructCtor_3 == nullptr) + { + ChipLogError(Zcl, + "Could not find " + "ChipStructs$PushAvStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct " + "constructor"); + return nullptr; + } + + value_triggerDetails_motionTimeControlInsideOptional = + env->NewObject(pushAVStreamTransportMotionTriggerTimeControlStructStructClass_3, + pushAVStreamTransportMotionTriggerTimeControlStructStructCtor_3, + value_triggerDetails_motionTimeControlInsideOptional_initialDuration, + value_triggerDetails_motionTimeControlInsideOptional_augmentationDuration, + value_triggerDetails_motionTimeControlInsideOptional_maxDuration, + value_triggerDetails_motionTimeControlInsideOptional_blindDuration); + } + chip::JniReferences::GetInstance().CreateOptional(value_triggerDetails_motionTimeControlInsideOptional, + value_triggerDetails_motionTimeControl); + } + jobject value_triggerDetails_activationReason; + if (!cppValue.triggerDetails.activationReason.HasValue()) + { + chip::JniReferences::GetInstance().CreateOptional(nullptr, value_triggerDetails_activationReason); + } + else + { + jobject value_triggerDetails_activationReasonInsideOptional; + if (cppValue.triggerDetails.activationReason.Value().IsNull()) + { + value_triggerDetails_activationReasonInsideOptional = nullptr; + } + else + { + std::string value_triggerDetails_activationReasonInsideOptionalClassName = "java/lang/Integer"; + std::string value_triggerDetails_activationReasonInsideOptionalCtorSignature = "(I)V"; + jint jnivalue_triggerDetails_activationReasonInsideOptional = + static_cast(cppValue.triggerDetails.activationReason.Value().Value()); + chip::JniReferences::GetInstance().CreateBoxedObject( + value_triggerDetails_activationReasonInsideOptionalClassName.c_str(), + value_triggerDetails_activationReasonInsideOptionalCtorSignature.c_str(), + jnivalue_triggerDetails_activationReasonInsideOptional, + value_triggerDetails_activationReasonInsideOptional); + } + chip::JniReferences::GetInstance().CreateOptional(value_triggerDetails_activationReasonInsideOptional, + value_triggerDetails_activationReason); + } + + jclass pushAVStreamTransportTriggerOptionsStructStructClass_0; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipStructs$PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct", + pushAVStreamTransportTriggerOptionsStructStructClass_0); + if (err != CHIP_NO_ERROR) + { + ChipLogError( + Zcl, "Could not find class ChipStructs$PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct"); + return nullptr; + } + + jmethodID pushAVStreamTransportTriggerOptionsStructStructCtor_0; + err = chip::JniReferences::GetInstance().FindMethod( + env, pushAVStreamTransportTriggerOptionsStructStructClass_0, "", + "(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V", + &pushAVStreamTransportTriggerOptionsStructStructCtor_0); + if (err != CHIP_NO_ERROR || pushAVStreamTransportTriggerOptionsStructStructCtor_0 == nullptr) + { + ChipLogError( + Zcl, + "Could not find ChipStructs$PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct constructor"); + return nullptr; + } + + value_triggerDetails = env->NewObject( + pushAVStreamTransportTriggerOptionsStructStructClass_0, pushAVStreamTransportTriggerOptionsStructStructCtor_0, + value_triggerDetails_triggerType, value_triggerDetails_motionZones, value_triggerDetails_motionSensitivity, + value_triggerDetails_motionTimeControl, value_triggerDetails_activationReason); + + jclass pushTransportEndStructClass; + err = chip::JniReferences::GetInstance().GetLocalClassRef( + env, "chip/devicecontroller/ChipEventStructs$PushAvStreamTransportClusterPushTransportEndEvent", + pushTransportEndStructClass); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipEventStructs$PushAvStreamTransportClusterPushTransportEndEvent"); + return nullptr; + } + + jmethodID pushTransportEndStructCtor; + err = chip::JniReferences::GetInstance().FindMethod( + env, pushTransportEndStructClass, "", + "(Ljava/lang/Integer;Lchip/devicecontroller/" + "ChipStructs$PushAvStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct;)V", + &pushTransportEndStructCtor); + if (err != CHIP_NO_ERROR || pushTransportEndStructCtor == nullptr) + { + ChipLogError(Zcl, "Could not find ChipEventStructs$PushAvStreamTransportClusterPushTransportEndEvent constructor"); + return nullptr; + } + + jobject value = + env->NewObject(pushTransportEndStructClass, pushTransportEndStructCtor, value_connectionID, value_triggerDetails); + + return value; + } + default: + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + break; + } + break; + } + case app::Clusters::Chime::Id: { + using namespace app::Clusters::Chime; + switch (aPath.mEventId) + { + default: + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + break; + } + break; + } case app::Clusters::EcosystemInformation::Id: { using namespace app::Clusters::EcosystemInformation; switch (aPath.mEventId) diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py index 268dd1abfb574c..46a0d93d52f423 100644 --- a/src/controller/python/chip/clusters/CHIPClusters.py +++ b/src/controller/python/chip/clusters/CHIPClusters.py @@ -13313,6 +13313,969 @@ class ChipClusters: }, }, } + _CAMERA_AV_STREAM_MANAGEMENT_CLUSTER_INFO = { + "clusterName": "CameraAvStreamManagement", + "clusterId": 0x00000551, + "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "AudioStreamAllocate", + "args": { + "streamType": "int", + "audioCodec": "int", + "channelCount": "int", + "sampleRate": "int", + "bitRate": "int", + "bitDepth": "int", + }, + }, + 0x00000002: { + "commandId": 0x00000002, + "commandName": "AudioStreamDeallocate", + "args": { + "audioStreamID": "int", + }, + }, + 0x00000003: { + "commandId": 0x00000003, + "commandName": "VideoStreamAllocate", + "args": { + "streamType": "int", + "videoCodec": "int", + "minFrameRate": "int", + "maxFrameRate": "int", + "minResolution": "DimensionStruct", + "maxResolution": "DimensionStruct", + "minBitRate": "int", + "maxBitRate": "int", + "minFragmentLen": "int", + "maxFragmentLen": "int", + }, + }, + 0x00000005: { + "commandId": 0x00000005, + "commandName": "VideoStreamModify", + "args": { + "videoStreamID": "int", + "resolution": "DimensionStruct", + }, + }, + 0x00000006: { + "commandId": 0x00000006, + "commandName": "VideoStreamDeallocate", + "args": { + "videoStreamID": "int", + }, + }, + 0x00000007: { + "commandId": 0x00000007, + "commandName": "SnapshotStreamAllocate", + "args": { + "imageCodec": "int", + "frameRate": "int", + "bitRate": "int", + "minResolution": "DimensionStruct", + "maxResolution": "DimensionStruct", + "quality": "int", + }, + }, + 0x00000009: { + "commandId": 0x00000009, + "commandName": "SnapshotStreamDeallocate", + "args": { + "snapshotStreamID": "int", + }, + }, + 0x0000000A: { + "commandId": 0x0000000A, + "commandName": "SetStreamPriority", + "args": { + }, + }, + 0x0000000B: { + "commandId": 0x0000000B, + "commandName": "CaptureSnapshot", + "args": { + "snapshotStreamID": "int", + "requestedResolution": "DimensionStruct", + }, + }, + 0x0000000D: { + "commandId": 0x0000000D, + "commandName": "SetViewport", + "args": { + "viewport": "ViewportStruct", + }, + }, + 0x0000000E: { + "commandId": 0x0000000E, + "commandName": "SetImageRotation", + "args": { + "angle": "int", + }, + }, + 0x0000000F: { + "commandId": 0x0000000F, + "commandName": "SetImageFlipHorizontal", + "args": { + "onOff": "bool", + }, + }, + 0x00000010: { + "commandId": 0x00000010, + "commandName": "SetImageFlipVertical", + "args": { + "onOff": "bool", + }, + }, + }, + "attributes": { + 0x00000000: { + "attributeName": "MaxConcurrentVideoEncoders", + "attributeId": 0x00000000, + "type": "int", + "reportable": True, + }, + 0x00000001: { + "attributeName": "MaxEncodedPixelRate", + "attributeId": 0x00000001, + "type": "int", + "reportable": True, + }, + 0x00000002: { + "attributeName": "VideoSensorParams", + "attributeId": 0x00000002, + "type": "", + "reportable": True, + }, + 0x00000003: { + "attributeName": "NightVisionCapable", + "attributeId": 0x00000003, + "type": "bool", + "reportable": True, + }, + 0x00000004: { + "attributeName": "MinViewPortWidth", + "attributeId": 0x00000004, + "type": "", + "reportable": True, + }, + 0x00000005: { + "attributeName": "MinViewPortHeight", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, + 0x00000006: { + "attributeName": "RateDistortionTradeOffPoints", + "attributeId": 0x00000006, + "type": "", + "reportable": True, + }, + 0x00000007: { + "attributeName": "MaxPreRollBufferSize", + "attributeId": 0x00000007, + "type": "int", + "reportable": True, + }, + 0x00000008: { + "attributeName": "MicrophoneCapabilities", + "attributeId": 0x00000008, + "type": "", + "reportable": True, + }, + 0x00000009: { + "attributeName": "SpeakerCapabilities", + "attributeId": 0x00000009, + "type": "", + "reportable": True, + }, + 0x0000000A: { + "attributeName": "TwoWayTalkSupport", + "attributeId": 0x0000000A, + "type": "int", + "reportable": True, + }, + 0x0000000B: { + "attributeName": "SupportedSnapshotParams", + "attributeId": 0x0000000B, + "type": "", + "reportable": True, + }, + 0x0000000C: { + "attributeName": "HDRCapable", + "attributeId": 0x0000000C, + "type": "bool", + "reportable": True, + }, + 0x0000000D: { + "attributeName": "MaxNetworkBandwidth", + "attributeId": 0x0000000D, + "type": "int", + "reportable": True, + }, + 0x0000000E: { + "attributeName": "CurrentFrameRate", + "attributeId": 0x0000000E, + "type": "int", + "reportable": True, + }, + 0x0000000F: { + "attributeName": "HDRMode", + "attributeId": 0x0000000F, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x00000010: { + "attributeName": "CurrentVideoCodecs", + "attributeId": 0x00000010, + "type": "int", + "reportable": True, + }, + 0x00000011: { + "attributeName": "CurrentSnapshotConfig", + "attributeId": 0x00000011, + "type": "", + "reportable": True, + }, + 0x00000012: { + "attributeName": "FabricsUsingCamera", + "attributeId": 0x00000012, + "type": "int", + "reportable": True, + }, + 0x00000013: { + "attributeName": "AllocatedVideoStreams", + "attributeId": 0x00000013, + "type": "", + "reportable": True, + }, + 0x00000014: { + "attributeName": "AllocatedAudioStreams", + "attributeId": 0x00000014, + "type": "", + "reportable": True, + }, + 0x00000015: { + "attributeName": "AllocatedSnapshotStreams", + "attributeId": 0x00000015, + "type": "", + "reportable": True, + }, + 0x00000016: { + "attributeName": "RankedVideoStreamPrioritiesList", + "attributeId": 0x00000016, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000017: { + "attributeName": "SoftRecordingPrivacyModeSetting", + "attributeId": 0x00000017, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x00000018: { + "attributeName": "SoftLivestreamPrivacyModeSetting", + "attributeId": 0x00000018, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x00000019: { + "attributeName": "HardPrivacyMode", + "attributeId": 0x00000019, + "type": "bool", + "reportable": True, + }, + 0x0000001A: { + "attributeName": "NightVision", + "attributeId": 0x0000001A, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x0000001B: { + "attributeName": "NightVisionIllum", + "attributeId": 0x0000001B, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x0000001C: { + "attributeName": "Awb", + "attributeId": 0x0000001C, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x0000001D: { + "attributeName": "ShutterSpeed", + "attributeId": 0x0000001D, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x0000001E: { + "attributeName": "Iso", + "attributeId": 0x0000001E, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x0000001F: { + "attributeName": "Viewport", + "attributeId": 0x0000001F, + "type": "", + "reportable": True, + }, + 0x00000020: { + "attributeName": "SpkrOnOff", + "attributeId": 0x00000020, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x00000021: { + "attributeName": "SpkrVolumeLevel", + "attributeId": 0x00000021, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000022: { + "attributeName": "SpkrMaxLevel", + "attributeId": 0x00000022, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000023: { + "attributeName": "SpkrMinLevel", + "attributeId": 0x00000023, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000024: { + "attributeName": "MicOnOff", + "attributeId": 0x00000024, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x00000025: { + "attributeName": "MicCurrentLevel", + "attributeId": 0x00000025, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000026: { + "attributeName": "MicMaxLevel", + "attributeId": 0x00000026, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000027: { + "attributeName": "MicMinLevel", + "attributeId": 0x00000027, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000028: { + "attributeName": "MicAGC", + "attributeId": 0x00000028, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x00000029: { + "attributeName": "ImageRotation", + "attributeId": 0x00000029, + "type": "int", + "reportable": True, + }, + 0x0000002A: { + "attributeName": "ImageFlipHorizontal", + "attributeId": 0x0000002A, + "type": "bool", + "reportable": True, + }, + 0x0000002B: { + "attributeName": "ImageFlipVertical", + "attributeId": 0x0000002B, + "type": "bool", + "reportable": True, + }, + 0x0000002C: { + "attributeName": "LocalVideoRecordingEnabled", + "attributeId": 0x0000002C, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x0000002D: { + "attributeName": "LocalSnapshotRecordingEnabled", + "attributeId": 0x0000002D, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x0000002E: { + "attributeName": "StatusLight", + "attributeId": 0x0000002E, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x0000002F: { + "attributeName": "StatusLightBrightness", + "attributeId": 0x0000002F, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000030: { + "attributeName": "DepthSensorStatus", + "attributeId": 0x00000030, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000031: { + "attributeName": "WatermarkEnabled", + "attributeId": 0x00000031, + "type": "", + "reportable": True, + "writable": True, + }, + 0x00000032: { + "attributeName": "OSDEnabled", + "attributeId": 0x00000032, + "type": "", + "reportable": True, + "writable": True, + }, + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } + _CAMERA_AV_SETTINGS_USER_LEVEL_MANAGEMENT_CLUSTER_INFO = { + "clusterName": "CameraAvSettingsUserLevelManagement", + "clusterId": 0x00000552, + "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "MptzSet", + "args": { + "newPTZ": "MPTZStruct", + "presetID": "int", + }, + }, + 0x00000001: { + "commandId": 0x00000001, + "commandName": "MptzRelativeMove", + "args": { + "pan": "int", + "tilt": "int", + "zoom": "int", + }, + }, + 0x00000002: { + "commandId": 0x00000002, + "commandName": "SetAsPreset", + "args": { + }, + }, + 0x00000003: { + "commandId": 0x00000003, + "commandName": "DptzSetViewport", + "args": { + "videoStreamID": "int", + "viewport": "ViewportStruct", + }, + }, + 0x00000004: { + "commandId": 0x00000004, + "commandName": "DptzRelativeMove", + "args": { + "videoStreamID": "int", + "pan": "int", + "tilt": "int", + "zoom": "int", + }, + }, + }, + "attributes": { + 0x00000000: { + "attributeName": "Mptz", + "attributeId": 0x00000000, + "type": "", + "reportable": True, + }, + 0x00000001: { + "attributeName": "MaxPresets", + "attributeId": 0x00000001, + "type": "int", + "reportable": True, + }, + 0x00000002: { + "attributeName": "PresetMptzTable", + "attributeId": 0x00000002, + "type": "", + "reportable": True, + }, + 0x00000003: { + "attributeName": "MptzRelativeMove", + "attributeId": 0x00000003, + "type": "bool", + "reportable": True, + }, + 0x00000004: { + "attributeName": "DptzRelativeMove", + "attributeId": 0x00000004, + "type": "", + "reportable": True, + }, + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } + _WEB_RTC_TRANSPORT_PROVIDER_CLUSTER_INFO = { + "clusterName": "WebRTCTransportProvider", + "clusterId": 0x00000553, + "commands": { + 0x00000001: { + "commandId": 0x00000001, + "commandName": "WebRTCSolicitOffer", + "args": { + "streamType": "int", + "videoStreamID": "int", + "audioStreamID": "int", + "ICEServers": "ICEServerStruct", + "ICETransportPolicy": "str", + "metadataOptions": "int", + }, + }, + 0x00000003: { + "commandId": 0x00000003, + "commandName": "WebRTCProvideOffer", + "args": { + "webRTCSessionID": "int", + "sdp": "str", + "streamType": "int", + "videoStreamID": "int", + "audioStreamID": "int", + "ICEServers": "ICEServerStruct", + "ICETransportPolicy": "str", + "metadataOptions": "int", + }, + }, + 0x00000005: { + "commandId": 0x00000005, + "commandName": "WebRTCProvideAnswer", + "args": { + "webRTCSessionID": "int", + "sdp": "str", + }, + }, + 0x00000006: { + "commandId": 0x00000006, + "commandName": "WebRTCProvideICECandidate", + "args": { + "webRTCSessionID": "int", + "ICECandidate": "str", + }, + }, + 0x00000007: { + "commandId": 0x00000007, + "commandName": "WebRTCEndSession", + "args": { + "webRTCSessionID": "int", + "reason": "int", + }, + }, + }, + "attributes": { + 0x00000000: { + "attributeName": "CurrentSessions", + "attributeId": 0x00000000, + "type": "", + "reportable": True, + }, + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } + _WEB_RTC_TRANSPORT_REQUESTOR_CLUSTER_INFO = { + "clusterName": "WebRTCTransportRequestor", + "clusterId": 0x00000554, + "commands": { + 0x00000001: { + "commandId": 0x00000001, + "commandName": "WebRTCOffer", + "args": { + "webRTCSessionID": "int", + "sdp": "str", + "ICEServers": "ICEServerStruct", + "ICETransportPolicy": "str", + }, + }, + 0x00000002: { + "commandId": 0x00000002, + "commandName": "WebRTCAnswer", + "args": { + "webRTCSessionID": "int", + "sdp": "str", + }, + }, + 0x00000003: { + "commandId": 0x00000003, + "commandName": "WebRTCICECandidate", + "args": { + "webRTCSessionID": "int", + "ICECandidate": "str", + }, + }, + 0x00000004: { + "commandId": 0x00000004, + "commandName": "WebRTCEnd", + "args": { + "webRTCSessionID": "int", + "reason": "int", + }, + }, + }, + "attributes": { + 0x00000000: { + "attributeName": "CurrentSessions", + "attributeId": 0x00000000, + "type": "", + "reportable": True, + }, + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } + _PUSH_AV_STREAM_TRANSPORT_CLUSTER_INFO = { + "clusterName": "PushAvStreamTransport", + "clusterId": 0x00000555, + "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "AllocatePushTransport", + "args": { + "streamTransportOptions": "PushAVStreamTransportOptionsStruct", + }, + }, + 0x00000002: { + "commandId": 0x00000002, + "commandName": "DeallocatePushTransport", + "args": { + "connectionID": "int", + }, + }, + 0x00000003: { + "commandId": 0x00000003, + "commandName": "ModifyPushTransport", + "args": { + "connectionID": "int", + "streamTransportOptions": "PushAVStreamTransportOptionsStruct", + }, + }, + 0x00000004: { + "commandId": 0x00000004, + "commandName": "SetTransportStatus", + "args": { + "connectionID": "int", + "streamTransportStatus": "int", + }, + }, + 0x00000005: { + "commandId": 0x00000005, + "commandName": "ManuallyTriggerTransport", + "args": { + "connectionID": "int", + "activationReason": "int", + "timeControl": "PushAVStreamTransportMotionTriggerTimeControlStruct", + }, + }, + 0x00000006: { + "commandId": 0x00000006, + "commandName": "FindStreamConfiguration", + "args": { + "connectionID": "int", + }, + }, + }, + "attributes": { + 0x00000000: { + "attributeName": "SupportedContainerFormats", + "attributeId": 0x00000000, + "type": "int", + "reportable": True, + }, + 0x00000001: { + "attributeName": "SupportedIngestMethods", + "attributeId": 0x00000001, + "type": "int", + "reportable": True, + }, + 0x00000002: { + "attributeName": "CurrentConnections", + "attributeId": 0x00000002, + "type": "int", + "reportable": True, + }, + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } + _CHIME_CLUSTER_INFO = { + "clusterName": "Chime", + "clusterId": 0x00000556, + "commands": { + 0x00000000: { + "commandId": 0x00000000, + "commandName": "PlayChimeSound", + "args": { + }, + }, + }, + "attributes": { + 0x00000000: { + "attributeName": "InstalledChimeSounds", + "attributeId": 0x00000000, + "type": "", + "reportable": True, + }, + 0x00000001: { + "attributeName": "ActiveChimeSoundId", + "attributeId": 0x00000001, + "type": "int", + "reportable": True, + "writable": True, + }, + 0x00000002: { + "attributeName": "Enabled", + "attributeId": 0x00000002, + "type": "bool", + "reportable": True, + "writable": True, + }, + 0x0000FFF8: { + "attributeName": "GeneratedCommandList", + "attributeId": 0x0000FFF8, + "type": "int", + "reportable": True, + }, + 0x0000FFF9: { + "attributeName": "AcceptedCommandList", + "attributeId": 0x0000FFF9, + "type": "int", + "reportable": True, + }, + 0x0000FFFA: { + "attributeName": "EventList", + "attributeId": 0x0000FFFA, + "type": "int", + "reportable": True, + }, + 0x0000FFFB: { + "attributeName": "AttributeList", + "attributeId": 0x0000FFFB, + "type": "int", + "reportable": True, + }, + 0x0000FFFC: { + "attributeName": "FeatureMap", + "attributeId": 0x0000FFFC, + "type": "int", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + "reportable": True, + }, + }, + } _ECOSYSTEM_INFORMATION_CLUSTER_INFO = { "clusterName": "EcosystemInformation", "clusterId": 0x00000750, @@ -15399,6 +16362,12 @@ class ChipClusters: 0x0000050E: _ACCOUNT_LOGIN_CLUSTER_INFO, 0x0000050F: _CONTENT_CONTROL_CLUSTER_INFO, 0x00000510: _CONTENT_APP_OBSERVER_CLUSTER_INFO, + 0x00000551: _CAMERA_AV_STREAM_MANAGEMENT_CLUSTER_INFO, + 0x00000552: _CAMERA_AV_SETTINGS_USER_LEVEL_MANAGEMENT_CLUSTER_INFO, + 0x00000553: _WEB_RTC_TRANSPORT_PROVIDER_CLUSTER_INFO, + 0x00000554: _WEB_RTC_TRANSPORT_REQUESTOR_CLUSTER_INFO, + 0x00000555: _PUSH_AV_STREAM_TRANSPORT_CLUSTER_INFO, + 0x00000556: _CHIME_CLUSTER_INFO, 0x00000750: _ECOSYSTEM_INFORMATION_CLUSTER_INFO, 0x00000751: _COMMISSIONER_CONTROL_CLUSTER_INFO, 0x00000B04: _ELECTRICAL_MEASUREMENT_CLUSTER_INFO, @@ -15528,6 +16497,12 @@ class ChipClusters: "AccountLogin": _ACCOUNT_LOGIN_CLUSTER_INFO, "ContentControl": _CONTENT_CONTROL_CLUSTER_INFO, "ContentAppObserver": _CONTENT_APP_OBSERVER_CLUSTER_INFO, + "CameraAvStreamManagement": _CAMERA_AV_STREAM_MANAGEMENT_CLUSTER_INFO, + "CameraAvSettingsUserLevelManagement": _CAMERA_AV_SETTINGS_USER_LEVEL_MANAGEMENT_CLUSTER_INFO, + "WebRTCTransportProvider": _WEB_RTC_TRANSPORT_PROVIDER_CLUSTER_INFO, + "WebRTCTransportRequestor": _WEB_RTC_TRANSPORT_REQUESTOR_CLUSTER_INFO, + "PushAvStreamTransport": _PUSH_AV_STREAM_TRANSPORT_CLUSTER_INFO, + "Chime": _CHIME_CLUSTER_INFO, "EcosystemInformation": _ECOSYSTEM_INFORMATION_CLUSTER_INFO, "CommissionerControl": _COMMISSIONER_CONTROL_CLUSTER_INFO, "ElectricalMeasurement": _ELECTRICAL_MEASUREMENT_CLUSTER_INFO, diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index b408fb5fd57e71..fd1783ac751095 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -159,6 +159,12 @@ "AccountLogin", "ContentControl", "ContentAppObserver", + "CameraAvStreamManagement", + "CameraAvSettingsUserLevelManagement", + "WebRTCTransportProvider", + "WebRTCTransportRequestor", + "PushAvStreamTransport", + "Chime", "EcosystemInformation", "CommissionerControl", "ElectricalMeasurement", @@ -409,6 +415,17 @@ class TestGlobalEnum(MatterIntEnum): # enum value. This specific value should never be transmitted. kUnknownEnumValue = 3, + class ThreeLevelAutoEnum(MatterIntEnum): + kLow = 0x00 + kMedium = 0x01 + kHigh = 0x02 + kAutomatic = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + class Bitmaps: class TestGlobalBitmap(IntFlag): kFirstBit = 0x1 @@ -47180,6 +47197,3518 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = 0 +@dataclass +class CameraAvStreamManagement(Cluster): + id: typing.ClassVar[int] = 0x00000551 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="maxConcurrentVideoEncoders", Tag=0x00000000, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxEncodedPixelRate", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="videoSensorParams", Tag=0x00000002, Type=typing.Optional[CameraAvStreamManagement.Structs.VideoSensorParamsStruct]), + ClusterObjectFieldDescriptor(Label="nightVisionCapable", Tag=0x00000003, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="minViewPortWidth", Tag=0x00000004, Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]), + ClusterObjectFieldDescriptor(Label="minViewPortHeight", Tag=0x00000005, Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]), + ClusterObjectFieldDescriptor(Label="rateDistortionTradeOffPoints", Tag=0x00000006, Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.RateDistortionTradeOffPointsStruct]]), + ClusterObjectFieldDescriptor(Label="maxPreRollBufferSize", Tag=0x00000007, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="microphoneCapabilities", Tag=0x00000008, Type=typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]), + ClusterObjectFieldDescriptor(Label="speakerCapabilities", Tag=0x00000009, Type=typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]), + ClusterObjectFieldDescriptor(Label="twoWayTalkSupport", Tag=0x0000000A, Type=typing.Optional[CameraAvStreamManagement.Enums.TwowayTalkSupportTypeEnum]), + ClusterObjectFieldDescriptor(Label="supportedSnapshotParams", Tag=0x0000000B, Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotParamsStruct]]), + ClusterObjectFieldDescriptor(Label="HDRCapable", Tag=0x0000000C, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="maxNetworkBandwidth", Tag=0x0000000D, Type=uint), + ClusterObjectFieldDescriptor(Label="currentFrameRate", Tag=0x0000000E, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="HDRMode", Tag=0x0000000F, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="currentVideoCodecs", Tag=0x00000010, Type=typing.Optional[typing.List[CameraAvStreamManagement.Enums.VideoCodecEnum]]), + ClusterObjectFieldDescriptor(Label="currentSnapshotConfig", Tag=0x00000011, Type=typing.Optional[CameraAvStreamManagement.Structs.SnapshotParamsStruct]), + ClusterObjectFieldDescriptor(Label="fabricsUsingCamera", Tag=0x00000012, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="allocatedVideoStreams", Tag=0x00000013, Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.VideoStreamStruct]]), + ClusterObjectFieldDescriptor(Label="allocatedAudioStreams", Tag=0x00000014, Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.AudioStreamStruct]]), + ClusterObjectFieldDescriptor(Label="allocatedSnapshotStreams", Tag=0x00000015, Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotStreamStruct]]), + ClusterObjectFieldDescriptor(Label="rankedVideoStreamPrioritiesList", Tag=0x00000016, Type=typing.Optional[typing.List[CameraAvStreamManagement.Enums.StreamTypeEnum]]), + ClusterObjectFieldDescriptor(Label="softRecordingPrivacyModeSetting", Tag=0x00000017, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="softLivestreamPrivacyModeSetting", Tag=0x00000018, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="hardPrivacyMode", Tag=0x00000019, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="nightVision", Tag=0x0000001A, Type=typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]), + ClusterObjectFieldDescriptor(Label="nightVisionIllum", Tag=0x0000001B, Type=typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]), + ClusterObjectFieldDescriptor(Label="awb", Tag=0x0000001C, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="shutterSpeed", Tag=0x0000001D, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="iso", Tag=0x0000001E, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="viewport", Tag=0x0000001F, Type=typing.Optional[CameraAvStreamManagement.Structs.ViewportStruct]), + ClusterObjectFieldDescriptor(Label="spkrOnOff", Tag=0x00000020, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="spkrVolumeLevel", Tag=0x00000021, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="spkrMaxLevel", Tag=0x00000022, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="spkrMinLevel", Tag=0x00000023, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="micOnOff", Tag=0x00000024, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="micCurrentLevel", Tag=0x00000025, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="micMaxLevel", Tag=0x00000026, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="micMinLevel", Tag=0x00000027, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="micAGC", Tag=0x00000028, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="imageRotation", Tag=0x00000029, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="imageFlipHorizontal", Tag=0x0000002A, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="imageFlipVertical", Tag=0x0000002B, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="localVideoRecordingEnabled", Tag=0x0000002C, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="localSnapshotRecordingEnabled", Tag=0x0000002D, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="statusLight", Tag=0x0000002E, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="statusLightBrightness", Tag=0x0000002F, Type=typing.Optional[Globals.Enums.ThreeLevelAutoEnum]), + ClusterObjectFieldDescriptor(Label="depthSensorStatus", Tag=0x00000030, Type=typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]), + ClusterObjectFieldDescriptor(Label="watermarkEnabled", Tag=0x00000031, Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]), + ClusterObjectFieldDescriptor(Label="OSDEnabled", Tag=0x00000032, Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, 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), + ]) + + maxConcurrentVideoEncoders: 'typing.Optional[uint]' = None + maxEncodedPixelRate: 'typing.Optional[uint]' = None + videoSensorParams: 'typing.Optional[CameraAvStreamManagement.Structs.VideoSensorParamsStruct]' = None + nightVisionCapable: 'typing.Optional[bool]' = None + minViewPortWidth: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + minViewPortHeight: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + rateDistortionTradeOffPoints: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.RateDistortionTradeOffPointsStruct]]' = None + maxPreRollBufferSize: 'typing.Optional[uint]' = None + microphoneCapabilities: 'typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]' = None + speakerCapabilities: 'typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]' = None + twoWayTalkSupport: 'typing.Optional[CameraAvStreamManagement.Enums.TwowayTalkSupportTypeEnum]' = None + supportedSnapshotParams: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotParamsStruct]]' = None + HDRCapable: 'typing.Optional[bool]' = None + maxNetworkBandwidth: 'uint' = None + currentFrameRate: 'typing.Optional[uint]' = None + HDRMode: 'typing.Optional[bool]' = None + currentVideoCodecs: 'typing.Optional[typing.List[CameraAvStreamManagement.Enums.VideoCodecEnum]]' = None + currentSnapshotConfig: 'typing.Optional[CameraAvStreamManagement.Structs.SnapshotParamsStruct]' = None + fabricsUsingCamera: 'typing.List[uint]' = None + allocatedVideoStreams: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.VideoStreamStruct]]' = None + allocatedAudioStreams: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.AudioStreamStruct]]' = None + allocatedSnapshotStreams: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotStreamStruct]]' = None + rankedVideoStreamPrioritiesList: 'typing.Optional[typing.List[CameraAvStreamManagement.Enums.StreamTypeEnum]]' = None + softRecordingPrivacyModeSetting: 'typing.Optional[bool]' = None + softLivestreamPrivacyModeSetting: 'typing.Optional[bool]' = None + hardPrivacyMode: 'typing.Optional[bool]' = None + nightVision: 'typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]' = None + nightVisionIllum: 'typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]' = None + awb: 'typing.Optional[bool]' = None + shutterSpeed: 'typing.Optional[bool]' = None + iso: 'typing.Optional[bool]' = None + viewport: 'typing.Optional[CameraAvStreamManagement.Structs.ViewportStruct]' = None + spkrOnOff: 'typing.Optional[bool]' = None + spkrVolumeLevel: 'typing.Optional[uint]' = None + spkrMaxLevel: 'typing.Optional[uint]' = None + spkrMinLevel: 'typing.Optional[uint]' = None + micOnOff: 'typing.Optional[bool]' = None + micCurrentLevel: 'typing.Optional[uint]' = None + micMaxLevel: 'typing.Optional[uint]' = None + micMinLevel: 'typing.Optional[uint]' = None + micAGC: 'typing.Optional[bool]' = None + imageRotation: 'typing.Optional[uint]' = None + imageFlipHorizontal: 'typing.Optional[bool]' = None + imageFlipVertical: 'typing.Optional[bool]' = None + localVideoRecordingEnabled: 'typing.Optional[bool]' = None + localSnapshotRecordingEnabled: 'typing.Optional[bool]' = None + statusLight: 'typing.Optional[bool]' = None + statusLightBrightness: 'typing.Optional[Globals.Enums.ThreeLevelAutoEnum]' = None + depthSensorStatus: 'typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]' = None + watermarkEnabled: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]' = None + OSDEnabled: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + eventList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Enums: + class AudioCodecEnum(MatterIntEnum): + kOpus = 0x00 + kAacLc = 0x01 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 2, + + class ImageCodecEnum(MatterIntEnum): + kJpeg = 0x00 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 1, + + class StreamTypeEnum(MatterIntEnum): + kInternal = 0x00 + kRecording = 0x01 + kAnalysis = 0x02 + kLiveView = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + + class TriStateAuto(MatterIntEnum): + kOff = 0x00 + kOn = 0x01 + kAuto = 0x02 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 3, + + class TwowayTalkSupportTypeEnum(MatterIntEnum): + kNotSupported = 0x00 + kHalfDuplex = 0x01 + kFullDuplex = 0x02 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 3, + + class VideoCodecEnum(MatterIntEnum): + kH264 = 0x00 + kHevc = 0x01 + kVvc = 0x02 + kAv1 = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + + class Bitmaps: + class Feature(IntFlag): + kPrivacy = 0x1 + kSensorControl = 0x2 + kAudio = 0x4 + kImageControl = 0x8 + kVideo = 0x10 + kSnapshot = 0x20 + kLocalStorage = 0x40 + + class Structs: + @dataclass + class AudioCapabilitiesStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="maxNumberOfChannels", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="supportedCodecs", Tag=1, Type=typing.List[CameraAvStreamManagement.Enums.AudioCodecEnum]), + ClusterObjectFieldDescriptor(Label="supportedSampleRates", Tag=2, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="supportedBitDepths", Tag=3, Type=typing.List[uint]), + ]) + + maxNumberOfChannels: 'uint' = 0 + supportedCodecs: 'typing.List[CameraAvStreamManagement.Enums.AudioCodecEnum]' = field(default_factory=lambda: []) + supportedSampleRates: 'typing.List[uint]' = field(default_factory=lambda: []) + supportedBitDepths: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class AudioStreamStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="streamType", Tag=1, Type=CameraAvStreamManagement.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="audioCodec", Tag=2, Type=CameraAvStreamManagement.Enums.AudioCodecEnum), + ClusterObjectFieldDescriptor(Label="channelCount", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="sampleRate", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="bitRate", Tag=5, Type=uint), + ClusterObjectFieldDescriptor(Label="bitDepth", Tag=6, Type=uint), + ClusterObjectFieldDescriptor(Label="referenceCount", Tag=7, Type=uint), + ]) + + audioStreamID: 'uint' = 0 + streamType: 'CameraAvStreamManagement.Enums.StreamTypeEnum' = 0 + audioCodec: 'CameraAvStreamManagement.Enums.AudioCodecEnum' = 0 + channelCount: 'uint' = 0 + sampleRate: 'uint' = 0 + bitRate: 'uint' = 0 + bitDepth: 'uint' = 0 + referenceCount: 'uint' = 0 + + @dataclass + class PerStreamStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="onOff", Tag=1, Type=bool), + ]) + + streamID: 'uint' = 0 + onOff: 'bool' = False + + @dataclass + class RateDistortionTradeOffPointsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="codec", Tag=0, Type=CameraAvStreamManagement.Enums.VideoCodecEnum), + ClusterObjectFieldDescriptor(Label="resolution", Tag=1, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="minBitRate", Tag=2, Type=uint), + ]) + + codec: 'CameraAvStreamManagement.Enums.VideoCodecEnum' = 0 + resolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + minBitRate: 'uint' = 0 + + @dataclass + class SnapshotParamsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="resolution", Tag=0, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="maxFrameRate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="imageCodec", Tag=2, Type=CameraAvStreamManagement.Enums.ImageCodecEnum), + ]) + + resolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + maxFrameRate: 'uint' = 0 + imageCodec: 'CameraAvStreamManagement.Enums.ImageCodecEnum' = 0 + + @dataclass + class SnapshotStreamStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="snapshotStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="imageCodec", Tag=1, Type=CameraAvStreamManagement.Enums.ImageCodecEnum), + ClusterObjectFieldDescriptor(Label="frameRate", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="bitRate", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="minResolution", Tag=4, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="maxResolution", Tag=5, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="quality", Tag=6, Type=uint), + ClusterObjectFieldDescriptor(Label="referenceCount", Tag=7, Type=uint), + ]) + + snapshotStreamID: 'uint' = 0 + imageCodec: 'CameraAvStreamManagement.Enums.ImageCodecEnum' = 0 + frameRate: 'uint' = 0 + bitRate: 'uint' = 0 + minResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + maxResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + quality: 'uint' = 0 + referenceCount: 'uint' = 0 + + @dataclass + class VideoSensorParamsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="sensorWidth", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sensorHeight", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="HDRCapable", Tag=2, Type=bool), + ClusterObjectFieldDescriptor(Label="maxFPS", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="maxHDRFPS", Tag=4, Type=uint), + ]) + + sensorWidth: 'uint' = 0 + sensorHeight: 'uint' = 0 + HDRCapable: 'bool' = False + maxFPS: 'uint' = 0 + maxHDRFPS: 'uint' = 0 + + @dataclass + class VideoStreamStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="streamType", Tag=1, Type=CameraAvStreamManagement.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="videoCodec", Tag=2, Type=CameraAvStreamManagement.Enums.VideoCodecEnum), + ClusterObjectFieldDescriptor(Label="minFrameRate", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="maxFrameRate", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="minResolution", Tag=5, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="maxResolution", Tag=6, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="minBitRate", Tag=7, Type=uint), + ClusterObjectFieldDescriptor(Label="maxBitRate", Tag=8, Type=uint), + ClusterObjectFieldDescriptor(Label="minFragmentLen", Tag=9, Type=uint), + ClusterObjectFieldDescriptor(Label="maxFragmentLen", Tag=10, Type=uint), + ClusterObjectFieldDescriptor(Label="referenceCount", Tag=11, Type=uint), + ]) + + videoStreamID: 'uint' = 0 + streamType: 'CameraAvStreamManagement.Enums.StreamTypeEnum' = 0 + videoCodec: 'CameraAvStreamManagement.Enums.VideoCodecEnum' = 0 + minFrameRate: 'uint' = 0 + maxFrameRate: 'uint' = 0 + minResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + maxResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + minBitRate: 'uint' = 0 + maxBitRate: 'uint' = 0 + minFragmentLen: 'uint' = 0 + maxFragmentLen: 'uint' = 0 + referenceCount: 'uint' = 0 + + @dataclass + class ViewportStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="x1", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="y1", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="x2", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="y2", Tag=3, Type=uint), + ]) + + x1: 'uint' = 0 + y1: 'uint' = 0 + x2: 'uint' = 0 + y2: 'uint' = 0 + + class Commands: + @dataclass + class AudioStreamAllocate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000000 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = 'AudioStreamAllocateResponse' + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamType", Tag=0, Type=CameraAvStreamManagement.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="audioCodec", Tag=1, Type=CameraAvStreamManagement.Enums.AudioCodecEnum), + ClusterObjectFieldDescriptor(Label="channelCount", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="sampleRate", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="bitRate", Tag=4, Type=uint), + ClusterObjectFieldDescriptor(Label="bitDepth", Tag=5, Type=uint), + ]) + + streamType: 'CameraAvStreamManagement.Enums.StreamTypeEnum' = 0 + audioCodec: 'CameraAvStreamManagement.Enums.AudioCodecEnum' = 0 + channelCount: 'uint' = 0 + sampleRate: 'uint' = 0 + bitRate: 'uint' = 0 + bitDepth: 'uint' = 0 + + @dataclass + class AudioStreamAllocateResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000001 + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=0, Type=uint), + ]) + + audioStreamID: 'uint' = 0 + + @dataclass + class AudioStreamDeallocate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000002 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=0, Type=uint), + ]) + + audioStreamID: 'uint' = 0 + + @dataclass + class VideoStreamAllocate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000003 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = 'VideoStreamAllocateResponse' + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamType", Tag=0, Type=CameraAvStreamManagement.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="videoCodec", Tag=1, Type=CameraAvStreamManagement.Enums.VideoCodecEnum), + ClusterObjectFieldDescriptor(Label="minFrameRate", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="maxFrameRate", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="minResolution", Tag=4, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="maxResolution", Tag=5, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="minBitRate", Tag=6, Type=uint), + ClusterObjectFieldDescriptor(Label="maxBitRate", Tag=7, Type=uint), + ClusterObjectFieldDescriptor(Label="minFragmentLen", Tag=8, Type=uint), + ClusterObjectFieldDescriptor(Label="maxFragmentLen", Tag=9, Type=uint), + ]) + + streamType: 'CameraAvStreamManagement.Enums.StreamTypeEnum' = 0 + videoCodec: 'CameraAvStreamManagement.Enums.VideoCodecEnum' = 0 + minFrameRate: 'uint' = 0 + maxFrameRate: 'uint' = 0 + minResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + maxResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + minBitRate: 'uint' = 0 + maxBitRate: 'uint' = 0 + minFragmentLen: 'uint' = 0 + maxFragmentLen: 'uint' = 0 + + @dataclass + class VideoStreamAllocateResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000004 + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=0, Type=uint), + ]) + + videoStreamID: 'uint' = 0 + + @dataclass + class VideoStreamModify(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000005 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="resolution", Tag=1, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ]) + + videoStreamID: 'uint' = 0 + resolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + + @dataclass + class VideoStreamDeallocate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000006 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=0, Type=uint), + ]) + + videoStreamID: 'uint' = 0 + + @dataclass + class SnapshotStreamAllocate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000007 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = 'SnapshotStreamAllocateResponse' + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="imageCodec", Tag=0, Type=CameraAvStreamManagement.Enums.ImageCodecEnum), + ClusterObjectFieldDescriptor(Label="frameRate", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="bitRate", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="minResolution", Tag=3, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="maxResolution", Tag=4, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ClusterObjectFieldDescriptor(Label="quality", Tag=5, Type=uint), + ]) + + imageCodec: 'CameraAvStreamManagement.Enums.ImageCodecEnum' = 0 + frameRate: 'uint' = 0 + bitRate: 'uint' = 0 + minResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + maxResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + quality: 'uint' = 0 + + @dataclass + class SnapshotStreamAllocateResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000008 + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="snapshotStreamID", Tag=0, Type=uint), + ]) + + snapshotStreamID: 'uint' = 0 + + @dataclass + class SnapshotStreamDeallocate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000009 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="snapshotStreamID", Tag=0, Type=uint), + ]) + + snapshotStreamID: 'uint' = 0 + + @dataclass + class SetStreamPriority(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x0000000A + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ]) + + @dataclass + class CaptureSnapshot(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x0000000B + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="snapshotStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="requestedResolution", Tag=1, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ]) + + snapshotStreamID: 'uint' = 0 + requestedResolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + + @dataclass + class CaptureSnapshotResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x0000000C + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="data", Tag=0, Type=bytes), + ClusterObjectFieldDescriptor(Label="imageCodec", Tag=1, Type=CameraAvStreamManagement.Enums.ImageCodecEnum), + ClusterObjectFieldDescriptor(Label="resolution", Tag=2, Type=CameraAvStreamManagement.Structs.DimensionStruct), + ]) + + data: 'bytes' = b"" + imageCodec: 'CameraAvStreamManagement.Enums.ImageCodecEnum' = 0 + resolution: 'CameraAvStreamManagement.Structs.DimensionStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.DimensionStruct()) + + @dataclass + class SetViewport(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x0000000D + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="viewport", Tag=0, Type=CameraAvStreamManagement.Structs.ViewportStruct), + ]) + + viewport: 'CameraAvStreamManagement.Structs.ViewportStruct' = field(default_factory=lambda: CameraAvStreamManagement.Structs.ViewportStruct()) + + @dataclass + class SetImageRotation(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x0000000E + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="angle", Tag=0, Type=uint), + ]) + + angle: 'uint' = 0 + + @dataclass + class SetImageFlipHorizontal(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x0000000F + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="onOff", Tag=0, Type=bool), + ]) + + onOff: 'bool' = False + + @dataclass + class SetImageFlipVertical(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000551 + command_id: typing.ClassVar[int] = 0x00000010 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="onOff", Tag=0, Type=bool), + ]) + + onOff: 'bool' = False + + class Attributes: + @dataclass + class MaxConcurrentVideoEncoders(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 MaxEncodedPixelRate(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 VideoSensorParams(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Structs.VideoSensorParamsStruct]) + + value: 'typing.Optional[CameraAvStreamManagement.Structs.VideoSensorParamsStruct]' = None + + @dataclass + class NightVisionCapable(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000003 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class MinViewPortWidth(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000004 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]) + + value: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + + @dataclass + class MinViewPortHeight(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]) + + value: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + + @dataclass + class RateDistortionTradeOffPoints(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000006 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.RateDistortionTradeOffPointsStruct]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.RateDistortionTradeOffPointsStruct]]' = None + + @dataclass + class MaxPreRollBufferSize(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 MicrophoneCapabilities(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000008 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]) + + value: 'typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]' = None + + @dataclass + class SpeakerCapabilities(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000009 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]) + + value: 'typing.Optional[CameraAvStreamManagement.Structs.AudioCapabilitiesStruct]' = None + + @dataclass + class TwoWayTalkSupport(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000A + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Enums.TwowayTalkSupportTypeEnum]) + + value: 'typing.Optional[CameraAvStreamManagement.Enums.TwowayTalkSupportTypeEnum]' = None + + @dataclass + class SupportedSnapshotParams(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000B + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotParamsStruct]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotParamsStruct]]' = None + + @dataclass + class HDRCapable(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000C + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class MaxNetworkBandwidth(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000D + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = 0 + + @dataclass + class CurrentFrameRate(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 HDRMode(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000000F + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class CurrentVideoCodecs(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000010 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Enums.VideoCodecEnum]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Enums.VideoCodecEnum]]' = None + + @dataclass + class CurrentSnapshotConfig(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000011 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Structs.SnapshotParamsStruct]) + + value: 'typing.Optional[CameraAvStreamManagement.Structs.SnapshotParamsStruct]' = None + + @dataclass + class FabricsUsingCamera(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000012 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[uint]) + + value: 'typing.List[uint]' = field(default_factory=lambda: []) + + @dataclass + class AllocatedVideoStreams(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000013 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.VideoStreamStruct]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.VideoStreamStruct]]' = None + + @dataclass + class AllocatedAudioStreams(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000014 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.AudioStreamStruct]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.AudioStreamStruct]]' = None + + @dataclass + class AllocatedSnapshotStreams(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000015 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotStreamStruct]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.SnapshotStreamStruct]]' = None + + @dataclass + class RankedVideoStreamPrioritiesList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000016 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Enums.StreamTypeEnum]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Enums.StreamTypeEnum]]' = None + + @dataclass + class SoftRecordingPrivacyModeSetting(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000017 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class SoftLivestreamPrivacyModeSetting(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000018 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class HardPrivacyMode(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000019 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class NightVision(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000001A + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]) + + value: 'typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]' = None + + @dataclass + class NightVisionIllum(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000001B + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]) + + value: 'typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]' = None + + @dataclass + class Awb(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000001C + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class ShutterSpeed(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000001D + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class Iso(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000001E + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class Viewport(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000001F + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Structs.ViewportStruct]) + + value: 'typing.Optional[CameraAvStreamManagement.Structs.ViewportStruct]' = None + + @dataclass + class SpkrOnOff(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000020 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class SpkrVolumeLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 SpkrMaxLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 SpkrMinLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 MicOnOff(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000024 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class MicCurrentLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 MicMaxLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 MicMinLevel(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 MicAGC(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 ImageRotation(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 ImageFlipHorizontal(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 ImageFlipVertical(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 LocalVideoRecordingEnabled(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002C + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class LocalSnapshotRecordingEnabled(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002D + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class StatusLight(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002E + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class StatusLightBrightness(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000002F + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[Globals.Enums.ThreeLevelAutoEnum]) + + value: 'typing.Optional[Globals.Enums.ThreeLevelAutoEnum]' = None + + @dataclass + class DepthSensorStatus(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000030 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]) + + value: 'typing.Optional[CameraAvStreamManagement.Enums.TriStateAuto]' = None + + @dataclass + class WatermarkEnabled(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000031 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]' = None + + @dataclass + class OSDEnabled(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000032 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]) + + value: 'typing.Optional[typing.List[CameraAvStreamManagement.Structs.PerStreamStruct]]' = None + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @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 0x00000551 + + @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 EventList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFA + + @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 0x00000551 + + @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 0x00000551 + + @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 0x00000551 + + @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 VideoStreamChanged(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="streamType", Tag=1, Type=typing.Optional[CameraAvStreamManagement.Enums.StreamTypeEnum]), + ClusterObjectFieldDescriptor(Label="videoCodec", Tag=2, Type=typing.Optional[CameraAvStreamManagement.Enums.VideoCodecEnum]), + ClusterObjectFieldDescriptor(Label="minFrameRate", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxFrameRate", Tag=4, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minResolution", Tag=5, Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]), + ClusterObjectFieldDescriptor(Label="maxResolution", Tag=6, Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]), + ClusterObjectFieldDescriptor(Label="minBitRate", Tag=7, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxBitRate", Tag=8, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minFragmentLen", Tag=9, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="maxFragmentLen", Tag=10, Type=typing.Optional[uint]), + ]) + + videoStreamID: 'uint' = 0 + streamType: 'typing.Optional[CameraAvStreamManagement.Enums.StreamTypeEnum]' = None + videoCodec: 'typing.Optional[CameraAvStreamManagement.Enums.VideoCodecEnum]' = None + minFrameRate: 'typing.Optional[uint]' = None + maxFrameRate: 'typing.Optional[uint]' = None + minResolution: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + maxResolution: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + minBitRate: 'typing.Optional[uint]' = None + maxBitRate: 'typing.Optional[uint]' = None + minFragmentLen: 'typing.Optional[uint]' = None + maxFragmentLen: 'typing.Optional[uint]' = None + + @dataclass + class AudioStreamChanged(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="streamType", Tag=1, Type=typing.Optional[CameraAvStreamManagement.Enums.StreamTypeEnum]), + ClusterObjectFieldDescriptor(Label="audioCodec", Tag=2, Type=typing.Optional[CameraAvStreamManagement.Enums.AudioCodecEnum]), + ClusterObjectFieldDescriptor(Label="channelCount", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="sampleRate", Tag=4, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="bitRate", Tag=5, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="bitDepth", Tag=6, Type=typing.Optional[uint]), + ]) + + audioStreamID: 'uint' = 0 + streamType: 'typing.Optional[CameraAvStreamManagement.Enums.StreamTypeEnum]' = None + audioCodec: 'typing.Optional[CameraAvStreamManagement.Enums.AudioCodecEnum]' = None + channelCount: 'typing.Optional[uint]' = None + sampleRate: 'typing.Optional[uint]' = None + bitRate: 'typing.Optional[uint]' = None + bitDepth: 'typing.Optional[uint]' = None + + @dataclass + class SnapshotStreamChanged(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000551 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="snapshotStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="imageCodec", Tag=1, Type=typing.Optional[CameraAvStreamManagement.Enums.ImageCodecEnum]), + ClusterObjectFieldDescriptor(Label="frameRate", Tag=2, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="bitRate", Tag=3, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="minResolution", Tag=4, Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]), + ClusterObjectFieldDescriptor(Label="maxResolution", Tag=5, Type=typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]), + ClusterObjectFieldDescriptor(Label="quality", Tag=6, Type=typing.Optional[uint]), + ]) + + snapshotStreamID: 'uint' = 0 + imageCodec: 'typing.Optional[CameraAvStreamManagement.Enums.ImageCodecEnum]' = None + frameRate: 'typing.Optional[uint]' = None + bitRate: 'typing.Optional[uint]' = None + minResolution: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + maxResolution: 'typing.Optional[CameraAvStreamManagement.Structs.DimensionStruct]' = None + quality: 'typing.Optional[uint]' = None + + +@dataclass +class CameraAvSettingsUserLevelManagement(Cluster): + id: typing.ClassVar[int] = 0x00000552 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="mptz", Tag=0x00000000, Type=typing.Optional[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]), + ClusterObjectFieldDescriptor(Label="maxPresets", Tag=0x00000001, Type=typing.Optional[uint]), + ClusterObjectFieldDescriptor(Label="presetMptzTable", Tag=0x00000002, Type=typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]]), + ClusterObjectFieldDescriptor(Label="mptzRelativeMove", Tag=0x00000003, Type=typing.Optional[bool]), + ClusterObjectFieldDescriptor(Label="dptzRelativeMove", Tag=0x00000004, Type=typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.PerStreamStruct]]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, 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), + ]) + + mptz: 'typing.Optional[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]' = None + maxPresets: 'typing.Optional[uint]' = None + presetMptzTable: 'typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]]' = None + mptzRelativeMove: 'typing.Optional[bool]' = None + dptzRelativeMove: 'typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.PerStreamStruct]]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + eventList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Bitmaps: + class Feature(IntFlag): + kMechanicalPTZ = 0x1 + kDigitalPTZ = 0x2 + + class Structs: + @dataclass + class MPTZStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="MPan", Tag=0, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="MTilt", Tag=1, Type=typing.Union[None, Nullable, int]), + ClusterObjectFieldDescriptor(Label="MZoom", Tag=2, Type=typing.Union[None, Nullable, uint]), + ]) + + MPan: 'typing.Union[None, Nullable, int]' = None + MTilt: 'typing.Union[None, Nullable, int]' = None + MZoom: 'typing.Union[None, Nullable, uint]' = None + + @dataclass + class PerStreamStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="onOff", Tag=1, Type=bool), + ]) + + streamID: 'uint' = 0 + onOff: 'bool' = False + + @dataclass + class ViewportStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="x1", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="y1", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="x2", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="y2", Tag=3, Type=uint), + ]) + + x1: 'uint' = 0 + y1: 'uint' = 0 + x2: 'uint' = 0 + y2: 'uint' = 0 + + class Commands: + @dataclass + class MptzSet(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000552 + command_id: typing.ClassVar[int] = 0x00000000 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="newPTZ", Tag=0, Type=typing.Optional[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]), + ClusterObjectFieldDescriptor(Label="presetID", Tag=1, Type=typing.Optional[uint]), + ]) + + newPTZ: 'typing.Optional[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]' = None + presetID: 'typing.Optional[uint]' = None + + @dataclass + class MptzRelativeMove(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000552 + command_id: typing.ClassVar[int] = 0x00000001 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="pan", Tag=0, Type=int), + ClusterObjectFieldDescriptor(Label="tilt", Tag=1, Type=int), + ClusterObjectFieldDescriptor(Label="zoom", Tag=2, Type=int), + ]) + + pan: 'int' = 0 + tilt: 'int' = 0 + zoom: 'int' = 0 + + @dataclass + class SetAsPreset(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000552 + command_id: typing.ClassVar[int] = 0x00000002 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ]) + + @dataclass + class DptzSetViewport(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000552 + command_id: typing.ClassVar[int] = 0x00000003 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="viewport", Tag=1, Type=CameraAvSettingsUserLevelManagement.Structs.ViewportStruct), + ]) + + videoStreamID: 'uint' = 0 + viewport: 'CameraAvSettingsUserLevelManagement.Structs.ViewportStruct' = field(default_factory=lambda: CameraAvSettingsUserLevelManagement.Structs.ViewportStruct()) + + @dataclass + class DptzRelativeMove(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000552 + command_id: typing.ClassVar[int] = 0x00000004 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="pan", Tag=1, Type=int), + ClusterObjectFieldDescriptor(Label="tilt", Tag=2, Type=int), + ClusterObjectFieldDescriptor(Label="zoom", Tag=3, Type=int), + ]) + + videoStreamID: 'uint' = 0 + pan: 'int' = 0 + tilt: 'int' = 0 + zoom: 'int' = 0 + + class Attributes: + @dataclass + class Mptz(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000552 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]) + + value: 'typing.Optional[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]' = None + + @dataclass + class MaxPresets(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000552 + + @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 PresetMptzTable(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000552 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000002 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]]) + + value: 'typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.MPTZStruct]]' = None + + @dataclass + class MptzRelativeMove(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000552 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000003 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[bool]) + + value: 'typing.Optional[bool]' = None + + @dataclass + class DptzRelativeMove(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000552 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000004 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.PerStreamStruct]]) + + value: 'typing.Optional[typing.List[CameraAvSettingsUserLevelManagement.Structs.PerStreamStruct]]' = None + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000552 + + @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 0x00000552 + + @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 EventList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000552 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFA + + @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 0x00000552 + + @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 0x00000552 + + @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 0x00000552 + + @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 WebRTCTransportProvider(Cluster): + id: typing.ClassVar[int] = 0x00000553 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="currentSessions", Tag=0x00000000, Type=typing.List[WebRTCTransportProvider.Structs.WebRTCSessionStruct]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, 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), + ]) + + currentSessions: 'typing.List[WebRTCTransportProvider.Structs.WebRTCSessionStruct]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + eventList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Enums: + class StreamTypeEnum(MatterIntEnum): + kInternal = 0x00 + kRecording = 0x01 + kAnalysis = 0x02 + kLiveView = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + + class StreamTypeEnum(MatterIntEnum): + kInternal = 0x00 + kRecording = 0x01 + kAnalysis = 0x02 + kLiveView = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + + class WebRTCEndReasonEnum(MatterIntEnum): + kIceFailed = 0x01 + kIceTimeout = 0x02 + kUserHangup = 0x03 + kUserBusy = 0x04 + kReplaced = 0x05 + kNoUserMedia = 0x06 + kInviteTimeout = 0x07 + kAnsweredElsewhere = 0x08 + kOutOfResources = 0x09 + kMediaTimeout = 0x0A + kLowPower = 0x0B + kUnknownError = 0x0C + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 0, + + class Bitmaps: + class WebRTCMetadataOptions(IntFlag): + kDataTLV = 0x1 + + class Structs: + @dataclass + class ICEServerStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="urls", Tag=1, Type=typing.List[str]), + ClusterObjectFieldDescriptor(Label="username", Tag=2, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="credential", Tag=3, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="caid", Tag=4, Type=typing.Optional[uint]), + ]) + + urls: 'typing.List[str]' = field(default_factory=lambda: []) + username: 'typing.Optional[str]' = None + credential: 'typing.Optional[str]' = None + caid: 'typing.Optional[uint]' = None + + @dataclass + class WebRTCSessionStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="id", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="peerNodeId", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="peerFabricIndex", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="streamType", Tag=4, Type=WebRTCTransportProvider.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=5, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=6, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="metadataOptions", Tag=7, Type=uint), + ]) + + id: 'uint' = 0 + peerNodeId: 'uint' = 0 + peerFabricIndex: 'uint' = 0 + streamType: 'WebRTCTransportProvider.Enums.StreamTypeEnum' = 0 + videoStreamID: 'typing.Union[Nullable, uint]' = NullValue + audioStreamID: 'typing.Union[Nullable, uint]' = NullValue + metadataOptions: 'uint' = 0 + + class Commands: + @dataclass + class WebRTCSolicitOffer(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000553 + command_id: typing.ClassVar[int] = 0x00000001 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = 'WebRTCSolicitOfferResponse' + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamType", Tag=0, Type=WebRTCTransportProvider.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=1, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=2, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="ICEServers", Tag=3, Type=typing.Optional[typing.List[WebRTCTransportProvider.Structs.ICEServerStruct]]), + ClusterObjectFieldDescriptor(Label="ICETransportPolicy", Tag=4, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="metadataOptions", Tag=5, Type=typing.Optional[uint]), + ]) + + streamType: 'WebRTCTransportProvider.Enums.StreamTypeEnum' = 0 + videoStreamID: 'typing.Union[None, Nullable, uint]' = None + audioStreamID: 'typing.Union[None, Nullable, uint]' = None + ICEServers: 'typing.Optional[typing.List[WebRTCTransportProvider.Structs.ICEServerStruct]]' = None + ICETransportPolicy: 'typing.Optional[str]' = None + metadataOptions: 'typing.Optional[uint]' = None + + @dataclass + class WebRTCSolicitOfferResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000553 + command_id: typing.ClassVar[int] = 0x00000002 + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="deferredOffer", Tag=1, Type=bool), + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=2, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=3, Type=typing.Union[None, Nullable, uint]), + ]) + + webRTCSessionID: 'uint' = 0 + deferredOffer: 'bool' = False + videoStreamID: 'typing.Union[None, Nullable, uint]' = None + audioStreamID: 'typing.Union[None, Nullable, uint]' = None + + @dataclass + class WebRTCProvideOffer(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000553 + command_id: typing.ClassVar[int] = 0x00000003 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = 'WebRTCProvideOfferResponse' + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="sdp", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="streamType", Tag=2, Type=WebRTCTransportProvider.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=3, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=4, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="ICEServers", Tag=5, Type=typing.Optional[typing.List[WebRTCTransportProvider.Structs.ICEServerStruct]]), + ClusterObjectFieldDescriptor(Label="ICETransportPolicy", Tag=6, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="metadataOptions", Tag=7, Type=typing.Optional[uint]), + ]) + + webRTCSessionID: 'typing.Union[Nullable, uint]' = NullValue + sdp: 'str' = "" + streamType: 'WebRTCTransportProvider.Enums.StreamTypeEnum' = 0 + videoStreamID: 'typing.Union[None, Nullable, uint]' = None + audioStreamID: 'typing.Union[None, Nullable, uint]' = None + ICEServers: 'typing.Optional[typing.List[WebRTCTransportProvider.Structs.ICEServerStruct]]' = None + ICETransportPolicy: 'typing.Optional[str]' = None + metadataOptions: 'typing.Optional[uint]' = None + + @dataclass + class WebRTCProvideOfferResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000553 + command_id: typing.ClassVar[int] = 0x00000004 + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=2, Type=uint), + ]) + + webRTCSessionID: 'uint' = 0 + videoStreamID: 'uint' = 0 + audioStreamID: 'uint' = 0 + + @dataclass + class WebRTCProvideAnswer(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000553 + command_id: typing.ClassVar[int] = 0x00000005 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sdp", Tag=1, Type=str), + ]) + + webRTCSessionID: 'uint' = 0 + sdp: 'str' = "" + + @dataclass + class WebRTCProvideICECandidate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000553 + command_id: typing.ClassVar[int] = 0x00000006 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="ICECandidate", Tag=1, Type=str), + ]) + + webRTCSessionID: 'uint' = 0 + ICECandidate: 'str' = "" + + @dataclass + class WebRTCEndSession(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000553 + command_id: typing.ClassVar[int] = 0x00000007 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="reason", Tag=1, Type=WebRTCTransportProvider.Enums.WebRTCEndReasonEnum), + ]) + + webRTCSessionID: 'uint' = 0 + reason: 'WebRTCTransportProvider.Enums.WebRTCEndReasonEnum' = 0 + + class Attributes: + @dataclass + class CurrentSessions(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000553 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[WebRTCTransportProvider.Structs.WebRTCSessionStruct]) + + value: 'typing.List[WebRTCTransportProvider.Structs.WebRTCSessionStruct]' = field(default_factory=lambda: []) + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000553 + + @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 0x00000553 + + @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 EventList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000553 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFA + + @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 0x00000553 + + @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 0x00000553 + + @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 0x00000553 + + @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 WebRTCTransportRequestor(Cluster): + id: typing.ClassVar[int] = 0x00000554 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="currentSessions", Tag=0x00000000, Type=typing.List[WebRTCTransportRequestor.Structs.WebRTCSessionStruct]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, 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), + ]) + + currentSessions: 'typing.List[WebRTCTransportRequestor.Structs.WebRTCSessionStruct]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + eventList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Enums: + class StreamTypeEnum(MatterIntEnum): + kInternal = 0x00 + kRecording = 0x01 + kAnalysis = 0x02 + kLiveView = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + + class StreamTypeEnum(MatterIntEnum): + kInternal = 0x00 + kRecording = 0x01 + kAnalysis = 0x02 + kLiveView = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + + class WebRTCEndReasonEnum(MatterIntEnum): + kIceFailed = 0x01 + kIceTimeout = 0x02 + kUserHangup = 0x03 + kUserBusy = 0x04 + kReplaced = 0x05 + kNoUserMedia = 0x06 + kInviteTimeout = 0x07 + kAnsweredElsewhere = 0x08 + kOutOfResources = 0x09 + kMediaTimeout = 0x0A + kLowPower = 0x0B + kUnknownError = 0x0C + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 0, + + class Bitmaps: + class WebRTCMetadataOptions(IntFlag): + kDataTLV = 0x1 + + class Structs: + @dataclass + class ICEServerStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="urls", Tag=1, Type=typing.List[str]), + ClusterObjectFieldDescriptor(Label="username", Tag=2, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="credential", Tag=3, Type=typing.Optional[str]), + ClusterObjectFieldDescriptor(Label="caid", Tag=4, Type=typing.Optional[uint]), + ]) + + urls: 'typing.List[str]' = field(default_factory=lambda: []) + username: 'typing.Optional[str]' = None + credential: 'typing.Optional[str]' = None + caid: 'typing.Optional[uint]' = None + + @dataclass + class WebRTCSessionStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="id", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="peerNodeId", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="peerFabricIndex", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="streamType", Tag=4, Type=WebRTCTransportRequestor.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=5, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=6, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="metadataOptions", Tag=7, Type=uint), + ]) + + id: 'uint' = 0 + peerNodeId: 'uint' = 0 + peerFabricIndex: 'uint' = 0 + streamType: 'WebRTCTransportRequestor.Enums.StreamTypeEnum' = 0 + videoStreamID: 'typing.Union[Nullable, uint]' = NullValue + audioStreamID: 'typing.Union[Nullable, uint]' = NullValue + metadataOptions: 'uint' = 0 + + class Commands: + @dataclass + class WebRTCOffer(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000554 + command_id: typing.ClassVar[int] = 0x00000001 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sdp", Tag=1, Type=str), + ClusterObjectFieldDescriptor(Label="ICEServers", Tag=2, Type=typing.Optional[typing.List[WebRTCTransportRequestor.Structs.ICEServerStruct]]), + ClusterObjectFieldDescriptor(Label="ICETransportPolicy", Tag=3, Type=typing.Optional[str]), + ]) + + webRTCSessionID: 'uint' = 0 + sdp: 'str' = "" + ICEServers: 'typing.Optional[typing.List[WebRTCTransportRequestor.Structs.ICEServerStruct]]' = None + ICETransportPolicy: 'typing.Optional[str]' = None + + @dataclass + class WebRTCAnswer(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000554 + command_id: typing.ClassVar[int] = 0x00000002 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="sdp", Tag=1, Type=str), + ]) + + webRTCSessionID: 'uint' = 0 + sdp: 'str' = "" + + @dataclass + class WebRTCICECandidate(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000554 + command_id: typing.ClassVar[int] = 0x00000003 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="ICECandidate", Tag=1, Type=str), + ]) + + webRTCSessionID: 'uint' = 0 + ICECandidate: 'str' = "" + + @dataclass + class WebRTCEnd(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000554 + command_id: typing.ClassVar[int] = 0x00000004 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="webRTCSessionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="reason", Tag=1, Type=WebRTCTransportRequestor.Enums.WebRTCEndReasonEnum), + ]) + + webRTCSessionID: 'uint' = 0 + reason: 'WebRTCTransportRequestor.Enums.WebRTCEndReasonEnum' = 0 + + class Attributes: + @dataclass + class CurrentSessions(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000554 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[WebRTCTransportRequestor.Structs.WebRTCSessionStruct]) + + value: 'typing.List[WebRTCTransportRequestor.Structs.WebRTCSessionStruct]' = field(default_factory=lambda: []) + + @dataclass + class GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000554 + + @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 0x00000554 + + @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 EventList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000554 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFA + + @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 0x00000554 + + @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 0x00000554 + + @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 0x00000554 + + @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 PushAvStreamTransport(Cluster): + id: typing.ClassVar[int] = 0x00000555 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="supportedContainerFormats", Tag=0x00000000, Type=uint), + ClusterObjectFieldDescriptor(Label="supportedIngestMethods", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="currentConnections", Tag=0x00000002, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, 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), + ]) + + supportedContainerFormats: 'uint' = None + supportedIngestMethods: 'uint' = None + currentConnections: 'typing.List[uint]' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + eventList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Enums: + class PushAVStreamTransportContainerFormatEnum(MatterIntEnum): + kCmaf = 0x00 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 1, + + class PushAVStreamTransportIngestMethodEnum(MatterIntEnum): + kCMAFIngest = 0x00 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 1, + + class PushAVStreamTransportStatusEnum(MatterIntEnum): + kActive = 0x00 + kInactive = 0x01 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 2, + + class PushAVStreamTransportStreamMultiplexingEnum(MatterIntEnum): + kInterleaved = 0x00 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 1, + + class PushAVStreamTransportTriggerActivationReasonEnum(MatterIntEnum): + kUserInitiated = 0x00 + kAutomation = 0x01 + kEmergency = 0x02 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 3, + + class PushAVStreamTransportTriggerTypeEnum(MatterIntEnum): + kCommand = 0x00 + kMotion = 0x01 + kContinuous = 0x02 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 3, + + class StatusCodeEnum(MatterIntEnum): + kAllocationNotPermitted = 0x02 + kInvalidParameters = 0x03 + kInvalidUrl = 0x04 + kInvalidTriggerOptions = 0x05 + kUnsupportedContainerFormat = 0x06 + kUnsupportedIngestMethod = 0x07 + kPavstNotInUse = 0x08 + kInvalidTriggerFormat = 0x09 + kInvalidTransportStatus = 0x10 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 0, + + class StreamTypeEnum(MatterIntEnum): + kInternal = 0x00 + kRecording = 0x01 + kAnalysis = 0x02 + kLiveView = 0x03 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving an unknown + # enum value. This specific value should never be transmitted. + kUnknownEnumValue = 4, + + class Bitmaps: + class PushAVStreamTransportSupportedContainerFormatsBitmap(IntFlag): + kCmaf = 0x1 + + class PushAVStreamTransportSupportedIngestMethodsBitmap(IntFlag): + kCMAFIngest = 0x1 + + class Structs: + @dataclass + class PushAVStreamTransportMotionTriggerTimeControlStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="initialDuration", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="augmentationDuration", Tag=1, Type=uint), + ClusterObjectFieldDescriptor(Label="maxDuration", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="blindDuration", Tag=3, Type=uint), + ]) + + initialDuration: 'uint' = 0 + augmentationDuration: 'uint' = 0 + maxDuration: 'uint' = 0 + blindDuration: 'uint' = 0 + + @dataclass + class PushAVStreamTransportMetadataOptionsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="multiplexing", Tag=0, Type=PushAvStreamTransport.Enums.PushAVStreamTransportStreamMultiplexingEnum), + ClusterObjectFieldDescriptor(Label="includeMotionZones", Tag=1, Type=bool), + ClusterObjectFieldDescriptor(Label="enableMetadataPrivacySensitive", Tag=2, Type=bool), + ]) + + multiplexing: 'PushAvStreamTransport.Enums.PushAVStreamTransportStreamMultiplexingEnum' = 0 + includeMotionZones: 'bool' = False + enableMetadataPrivacySensitive: 'bool' = False + + @dataclass + class PushAVStreamTransportTriggerOptionsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="triggerType", Tag=0, Type=PushAvStreamTransport.Enums.PushAVStreamTransportTriggerTypeEnum), + ClusterObjectFieldDescriptor(Label="motionZones", Tag=1, Type=typing.Union[None, Nullable, typing.List[uint]]), + ClusterObjectFieldDescriptor(Label="motionSensitivity", Tag=2, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="motionTimeControl", Tag=3, Type=typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportMotionTriggerTimeControlStruct]), + ClusterObjectFieldDescriptor(Label="activationReason", Tag=4, Type=typing.Union[None, Nullable, PushAvStreamTransport.Enums.PushAVStreamTransportTriggerActivationReasonEnum]), + ]) + + triggerType: 'PushAvStreamTransport.Enums.PushAVStreamTransportTriggerTypeEnum' = 0 + motionZones: 'typing.Union[None, Nullable, typing.List[uint]]' = None + motionSensitivity: 'typing.Union[None, Nullable, uint]' = None + motionTimeControl: 'typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportMotionTriggerTimeControlStruct]' = None + activationReason: 'typing.Union[None, Nullable, PushAvStreamTransport.Enums.PushAVStreamTransportTriggerActivationReasonEnum]' = None + + @dataclass + class PushAVStreamTransportCMAFContainerOptionsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="chunkDuration", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="CENCKey", Tag=1, Type=typing.Union[None, Nullable, bytes]), + ]) + + chunkDuration: 'uint' = 0 + CENCKey: 'typing.Union[None, Nullable, bytes]' = None + + @dataclass + class PushAVStreamTransportContainerOptionsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="containerType", Tag=0, Type=PushAvStreamTransport.Enums.PushAVStreamTransportContainerFormatEnum), + ClusterObjectFieldDescriptor(Label="CMAFContainerOptions", Tag=1, Type=typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportCMAFContainerOptionsStruct]), + ]) + + containerType: 'PushAvStreamTransport.Enums.PushAVStreamTransportContainerFormatEnum' = 0 + CMAFContainerOptions: 'typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportCMAFContainerOptionsStruct]' = None + + @dataclass + class PushAVStreamTransportOptionsStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamType", Tag=0, Type=PushAvStreamTransport.Enums.StreamTypeEnum), + ClusterObjectFieldDescriptor(Label="videoStreamID", Tag=1, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="audioStreamID", Tag=2, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="TLSEndpointID", Tag=3, Type=uint), + ClusterObjectFieldDescriptor(Label="url", Tag=4, Type=str), + ClusterObjectFieldDescriptor(Label="triggerOptions", Tag=5, Type=PushAvStreamTransport.Structs.PushAVStreamTransportTriggerOptionsStruct), + ClusterObjectFieldDescriptor(Label="containerFormat", Tag=6, Type=PushAvStreamTransport.Enums.PushAVStreamTransportContainerFormatEnum), + ClusterObjectFieldDescriptor(Label="ingestMethod", Tag=7, Type=PushAvStreamTransport.Enums.PushAVStreamTransportIngestMethodEnum), + ClusterObjectFieldDescriptor(Label="containerOptions", Tag=8, Type=PushAvStreamTransport.Structs.PushAVStreamTransportContainerOptionsStruct), + ClusterObjectFieldDescriptor(Label="metadataOptions", Tag=9, Type=typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportMetadataOptionsStruct]), + ClusterObjectFieldDescriptor(Label="expiryTime", Tag=10, Type=typing.Union[None, Nullable, uint]), + ]) + + streamType: 'PushAvStreamTransport.Enums.StreamTypeEnum' = 0 + videoStreamID: 'typing.Union[None, Nullable, uint]' = None + audioStreamID: 'typing.Union[None, Nullable, uint]' = None + TLSEndpointID: 'uint' = 0 + url: 'str' = "" + triggerOptions: 'PushAvStreamTransport.Structs.PushAVStreamTransportTriggerOptionsStruct' = field(default_factory=lambda: PushAvStreamTransport.Structs.PushAVStreamTransportTriggerOptionsStruct()) + containerFormat: 'PushAvStreamTransport.Enums.PushAVStreamTransportContainerFormatEnum' = 0 + ingestMethod: 'PushAvStreamTransport.Enums.PushAVStreamTransportIngestMethodEnum' = 0 + containerOptions: 'PushAvStreamTransport.Structs.PushAVStreamTransportContainerOptionsStruct' = field(default_factory=lambda: PushAvStreamTransport.Structs.PushAVStreamTransportContainerOptionsStruct()) + metadataOptions: 'typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportMetadataOptionsStruct]' = None + expiryTime: 'typing.Union[None, Nullable, uint]' = None + + @dataclass + class PushAVStreamConfigurationStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="streamTransportStatus", Tag=1, Type=PushAvStreamTransport.Enums.PushAVStreamTransportStatusEnum), + ClusterObjectFieldDescriptor(Label="streamTransportOptions", Tag=2, Type=PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct), + ]) + + connectionID: 'uint' = 0 + streamTransportStatus: 'PushAvStreamTransport.Enums.PushAVStreamTransportStatusEnum' = 0 + streamTransportOptions: 'PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct' = field(default_factory=lambda: PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct()) + + class Commands: + @dataclass + class AllocatePushTransport(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000000 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = 'AllocatePushTransportResponse' + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamTransportOptions", Tag=0, Type=PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct), + ]) + + streamTransportOptions: 'PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct' = field(default_factory=lambda: PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct()) + + @dataclass + class AllocatePushTransportResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000001 + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="streamTransportOptions", Tag=1, Type=PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct), + ClusterObjectFieldDescriptor(Label="transportStatus", Tag=2, Type=PushAvStreamTransport.Enums.PushAVStreamTransportStatusEnum), + ]) + + connectionID: 'uint' = 0 + streamTransportOptions: 'PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct' = field(default_factory=lambda: PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct()) + transportStatus: 'PushAvStreamTransport.Enums.PushAVStreamTransportStatusEnum' = 0 + + @dataclass + class DeallocatePushTransport(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000002 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=uint), + ]) + + connectionID: 'uint' = 0 + + @dataclass + class ModifyPushTransport(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000003 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="streamTransportOptions", Tag=1, Type=PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct), + ]) + + connectionID: 'uint' = 0 + streamTransportOptions: 'PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct' = field(default_factory=lambda: PushAvStreamTransport.Structs.PushAVStreamTransportOptionsStruct()) + + @dataclass + class SetTransportStatus(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000004 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=typing.Union[Nullable, uint]), + ClusterObjectFieldDescriptor(Label="streamTransportStatus", Tag=1, Type=PushAvStreamTransport.Enums.PushAVStreamTransportStatusEnum), + ]) + + connectionID: 'typing.Union[Nullable, uint]' = NullValue + streamTransportStatus: 'PushAvStreamTransport.Enums.PushAVStreamTransportStatusEnum' = 0 + + @dataclass + class ManuallyTriggerTransport(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000005 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="activationReason", Tag=1, Type=typing.Union[Nullable, PushAvStreamTransport.Enums.PushAVStreamTransportTriggerActivationReasonEnum]), + ClusterObjectFieldDescriptor(Label="timeControl", Tag=2, Type=typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportMotionTriggerTimeControlStruct]), + ]) + + connectionID: 'uint' = 0 + activationReason: 'typing.Union[Nullable, PushAvStreamTransport.Enums.PushAVStreamTransportTriggerActivationReasonEnum]' = NullValue + timeControl: 'typing.Union[None, Nullable, PushAvStreamTransport.Structs.PushAVStreamTransportMotionTriggerTimeControlStruct]' = None + + @dataclass + class FindStreamConfiguration(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000006 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = 'FindStreamConfigurationResponse' + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=typing.Union[None, Nullable, uint]), + ]) + + connectionID: 'typing.Union[None, Nullable, uint]' = None + + @dataclass + class FindStreamConfigurationResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000555 + command_id: typing.ClassVar[int] = 0x00000007 + is_client: typing.ClassVar[bool] = False + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="streamConfigurations", Tag=0, Type=typing.List[PushAvStreamTransport.Structs.PushAVStreamConfigurationStruct]), + ]) + + streamConfigurations: 'typing.List[PushAvStreamTransport.Structs.PushAVStreamConfigurationStruct]' = field(default_factory=lambda: []) + + class Attributes: + @dataclass + class SupportedContainerFormats(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000555 + + @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 SupportedIngestMethods(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000555 + + @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 CurrentConnections(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000555 + + @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 GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000555 + + @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 0x00000555 + + @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 EventList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000555 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFA + + @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 0x00000555 + + @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 0x00000555 + + @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 0x00000555 + + @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 PushTransportBegin(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000555 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ]) + + @dataclass + class PushTransportEnd(ClusterEvent): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000555 + + @ChipUtility.classproperty + def event_id(cls) -> int: + return 0x00000001 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="connectionID", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="triggerDetails", Tag=1, Type=PushAvStreamTransport.Structs.PushAVStreamTransportTriggerOptionsStruct), + ]) + + connectionID: 'uint' = 0 + triggerDetails: 'PushAvStreamTransport.Structs.PushAVStreamTransportTriggerOptionsStruct' = field(default_factory=lambda: PushAvStreamTransport.Structs.PushAVStreamTransportTriggerOptionsStruct()) + + +@dataclass +class Chime(Cluster): + id: typing.ClassVar[int] = 0x00000556 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="installedChimeSounds", Tag=0x00000000, Type=typing.List[Chime.Structs.ChimeSoundStruct]), + ClusterObjectFieldDescriptor(Label="activeChimeSoundId", Tag=0x00000001, Type=uint), + ClusterObjectFieldDescriptor(Label="enabled", Tag=0x00000002, Type=bool), + ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), + ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, 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), + ]) + + installedChimeSounds: 'typing.List[Chime.Structs.ChimeSoundStruct]' = None + activeChimeSoundId: 'uint' = None + enabled: 'bool' = None + generatedCommandList: 'typing.List[uint]' = None + acceptedCommandList: 'typing.List[uint]' = None + eventList: 'typing.List[uint]' = None + attributeList: 'typing.List[uint]' = None + featureMap: 'uint' = None + clusterRevision: 'uint' = None + + class Structs: + @dataclass + class ChimeSoundStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="chimeId", Tag=0, Type=uint), + ClusterObjectFieldDescriptor(Label="name", Tag=1, Type=str), + ]) + + chimeId: 'uint' = 0 + name: 'str' = "" + + class Commands: + @dataclass + class PlayChimeSound(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000556 + command_id: typing.ClassVar[int] = 0x00000000 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[str] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ]) + + class Attributes: + @dataclass + class InstalledChimeSounds(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000556 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[Chime.Structs.ChimeSoundStruct]) + + value: 'typing.List[Chime.Structs.ChimeSoundStruct]' = field(default_factory=lambda: []) + + @dataclass + class ActiveChimeSoundId(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000556 + + @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 Enabled(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000556 + + @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 GeneratedCommandList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000556 + + @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 0x00000556 + + @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 EventList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x00000556 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFA + + @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 0x00000556 + + @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 0x00000556 + + @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 0x00000556 + + @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 EcosystemInformation(Cluster): id: typing.ClassVar[int] = 0x00000750 diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm index b2da0cf9db04ad..09139206ddd88c 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm @@ -6056,6 +6056,360 @@ static BOOL AttributeIsSpecifiedInContentAppObserverCluster(AttributeId aAttribu } } } +static BOOL AttributeIsSpecifiedInCameraAVStreamManagementCluster(AttributeId aAttributeId) +{ + using namespace Clusters::CameraAvStreamManagement; + switch (aAttributeId) { + case Attributes::MaxConcurrentVideoEncoders::Id: { + return YES; + } + case Attributes::MaxEncodedPixelRate::Id: { + return YES; + } + case Attributes::VideoSensorParams::Id: { + return YES; + } + case Attributes::NightVisionCapable::Id: { + return YES; + } + case Attributes::MinViewPortWidth::Id: { + return YES; + } + case Attributes::MinViewPortHeight::Id: { + return YES; + } + case Attributes::RateDistortionTradeOffPoints::Id: { + return YES; + } + case Attributes::MaxPreRollBufferSize::Id: { + return YES; + } + case Attributes::MicrophoneCapabilities::Id: { + return YES; + } + case Attributes::SpeakerCapabilities::Id: { + return YES; + } + case Attributes::TwoWayTalkSupport::Id: { + return YES; + } + case Attributes::SupportedSnapshotParams::Id: { + return YES; + } + case Attributes::HDRCapable::Id: { + return YES; + } + case Attributes::MaxNetworkBandwidth::Id: { + return YES; + } + case Attributes::CurrentFrameRate::Id: { + return YES; + } + case Attributes::HDRMode::Id: { + return YES; + } + case Attributes::CurrentVideoCodecs::Id: { + return YES; + } + case Attributes::CurrentSnapshotConfig::Id: { + return YES; + } + case Attributes::FabricsUsingCamera::Id: { + return YES; + } + case Attributes::AllocatedVideoStreams::Id: { + return YES; + } + case Attributes::AllocatedAudioStreams::Id: { + return YES; + } + case Attributes::AllocatedSnapshotStreams::Id: { + return YES; + } + case Attributes::RankedVideoStreamPrioritiesList::Id: { + return YES; + } + case Attributes::SoftRecordingPrivacyModeSetting::Id: { + return YES; + } + case Attributes::SoftLivestreamPrivacyModeSetting::Id: { + return YES; + } + case Attributes::HardPrivacyMode::Id: { + return YES; + } + case Attributes::NightVision::Id: { + return YES; + } + case Attributes::NightVisionIllum::Id: { + return YES; + } + case Attributes::Awb::Id: { + return YES; + } + case Attributes::ShutterSpeed::Id: { + return YES; + } + case Attributes::Iso::Id: { + return YES; + } + case Attributes::Viewport::Id: { + return YES; + } + case Attributes::SpkrOnOff::Id: { + return YES; + } + case Attributes::SpkrVolumeLevel::Id: { + return YES; + } + case Attributes::SpkrMaxLevel::Id: { + return YES; + } + case Attributes::SpkrMinLevel::Id: { + return YES; + } + case Attributes::MicOnOff::Id: { + return YES; + } + case Attributes::MicCurrentLevel::Id: { + return YES; + } + case Attributes::MicMaxLevel::Id: { + return YES; + } + case Attributes::MicMinLevel::Id: { + return YES; + } + case Attributes::MicAGC::Id: { + return YES; + } + case Attributes::ImageRotation::Id: { + return YES; + } + case Attributes::ImageFlipHorizontal::Id: { + return YES; + } + case Attributes::ImageFlipVertical::Id: { + return YES; + } + case Attributes::LocalVideoRecordingEnabled::Id: { + return YES; + } + case Attributes::LocalSnapshotRecordingEnabled::Id: { + return YES; + } + case Attributes::StatusLight::Id: { + return YES; + } + case Attributes::StatusLightBrightness::Id: { + return YES; + } + case Attributes::DepthSensorStatus::Id: { + return YES; + } + case Attributes::WatermarkEnabled::Id: { + return YES; + } + case Attributes::OSDEnabled::Id: { + return YES; + } + case Attributes::GeneratedCommandList::Id: { + return YES; + } + case Attributes::AcceptedCommandList::Id: { + return YES; + } + case Attributes::EventList::Id: { + return YES; + } + case Attributes::AttributeList::Id: { + return YES; + } + case Attributes::FeatureMap::Id: { + return YES; + } + case Attributes::ClusterRevision::Id: { + return YES; + } + default: { + return NO; + } + } +} +static BOOL AttributeIsSpecifiedInCameraAVSettingsUserLevelManagementCluster(AttributeId aAttributeId) +{ + using namespace Clusters::CameraAvSettingsUserLevelManagement; + switch (aAttributeId) { + case Attributes::Mptz::Id: { + return YES; + } + case Attributes::MaxPresets::Id: { + return YES; + } + case Attributes::PresetMptzTable::Id: { + return YES; + } + case Attributes::MptzRelativeMove::Id: { + return YES; + } + case Attributes::DptzRelativeMove::Id: { + return YES; + } + case Attributes::GeneratedCommandList::Id: { + return YES; + } + case Attributes::AcceptedCommandList::Id: { + return YES; + } + case Attributes::EventList::Id: { + return YES; + } + case Attributes::AttributeList::Id: { + return YES; + } + case Attributes::FeatureMap::Id: { + return YES; + } + case Attributes::ClusterRevision::Id: { + return YES; + } + default: { + return NO; + } + } +} +static BOOL AttributeIsSpecifiedInWebRTCTransportProviderCluster(AttributeId aAttributeId) +{ + using namespace Clusters::WebRTCTransportProvider; + switch (aAttributeId) { + case Attributes::CurrentSessions::Id: { + return YES; + } + case Attributes::GeneratedCommandList::Id: { + return YES; + } + case Attributes::AcceptedCommandList::Id: { + return YES; + } + case Attributes::EventList::Id: { + return YES; + } + case Attributes::AttributeList::Id: { + return YES; + } + case Attributes::FeatureMap::Id: { + return YES; + } + case Attributes::ClusterRevision::Id: { + return YES; + } + default: { + return NO; + } + } +} +static BOOL AttributeIsSpecifiedInWebRTCTransportRequestorCluster(AttributeId aAttributeId) +{ + using namespace Clusters::WebRTCTransportRequestor; + switch (aAttributeId) { + case Attributes::CurrentSessions::Id: { + return YES; + } + case Attributes::GeneratedCommandList::Id: { + return YES; + } + case Attributes::AcceptedCommandList::Id: { + return YES; + } + case Attributes::EventList::Id: { + return YES; + } + case Attributes::AttributeList::Id: { + return YES; + } + case Attributes::FeatureMap::Id: { + return YES; + } + case Attributes::ClusterRevision::Id: { + return YES; + } + default: { + return NO; + } + } +} +static BOOL AttributeIsSpecifiedInPushAVStreamTransportCluster(AttributeId aAttributeId) +{ + using namespace Clusters::PushAvStreamTransport; + switch (aAttributeId) { + case Attributes::SupportedContainerFormats::Id: { + return YES; + } + case Attributes::SupportedIngestMethods::Id: { + return YES; + } + case Attributes::CurrentConnections::Id: { + return YES; + } + case Attributes::GeneratedCommandList::Id: { + return YES; + } + case Attributes::AcceptedCommandList::Id: { + return YES; + } + case Attributes::EventList::Id: { + return YES; + } + case Attributes::AttributeList::Id: { + return YES; + } + case Attributes::FeatureMap::Id: { + return YES; + } + case Attributes::ClusterRevision::Id: { + return YES; + } + default: { + return NO; + } + } +} +static BOOL AttributeIsSpecifiedInChimeCluster(AttributeId aAttributeId) +{ + using namespace Clusters::Chime; + switch (aAttributeId) { + case Attributes::InstalledChimeSounds::Id: { + return YES; + } + case Attributes::ActiveChimeSoundId::Id: { + return YES; + } + case Attributes::Enabled::Id: { + return YES; + } + case Attributes::GeneratedCommandList::Id: { + return YES; + } + case Attributes::AcceptedCommandList::Id: { + return YES; + } + case Attributes::EventList::Id: { + return YES; + } + case Attributes::AttributeList::Id: { + return YES; + } + case Attributes::FeatureMap::Id: { + return YES; + } + case Attributes::ClusterRevision::Id: { + return YES; + } + default: { + return NO; + } + } +} static BOOL AttributeIsSpecifiedInEcosystemInformationCluster(AttributeId aAttributeId) { using namespace Clusters::EcosystemInformation; @@ -7209,6 +7563,24 @@ BOOL MTRAttributeIsSpecified(ClusterId aClusterId, AttributeId aAttributeId) case Clusters::ContentAppObserver::Id: { return AttributeIsSpecifiedInContentAppObserverCluster(aAttributeId); } + case Clusters::CameraAvStreamManagement::Id: { + return AttributeIsSpecifiedInCameraAVStreamManagementCluster(aAttributeId); + } + case Clusters::CameraAvSettingsUserLevelManagement::Id: { + return AttributeIsSpecifiedInCameraAVSettingsUserLevelManagementCluster(aAttributeId); + } + case Clusters::WebRTCTransportProvider::Id: { + return AttributeIsSpecifiedInWebRTCTransportProviderCluster(aAttributeId); + } + case Clusters::WebRTCTransportRequestor::Id: { + return AttributeIsSpecifiedInWebRTCTransportRequestorCluster(aAttributeId); + } + case Clusters::PushAvStreamTransport::Id: { + return AttributeIsSpecifiedInPushAVStreamTransportCluster(aAttributeId); + } + case Clusters::Chime::Id: { + return AttributeIsSpecifiedInChimeCluster(aAttributeId); + } case Clusters::EcosystemInformation::Id: { return AttributeIsSpecifiedInEcosystemInformationCluster(aAttributeId); } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm index de61e4dd22cf7d..a248b73bf9a18a 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm @@ -17181,6 +17181,1263 @@ static id _Nullable DecodeAttributeValueForContentAppObserverCluster(AttributeId *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; return nil; } +static id _Nullable DecodeAttributeValueForCameraAVStreamManagementCluster(AttributeId aAttributeId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::CameraAvStreamManagement; + switch (aAttributeId) { + case Attributes::MaxConcurrentVideoEncoders::Id: { + using TypeInfo = Attributes::MaxConcurrentVideoEncoders::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::MaxEncodedPixelRate::Id: { + using TypeInfo = Attributes::MaxEncodedPixelRate::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedInt:cppValue]; + return value; + } + case Attributes::VideoSensorParams::Id: { + using TypeInfo = Attributes::VideoSensorParams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nonnull value; + value = [MTRCameraAVStreamManagementClusterVideoSensorParamsStruct new]; + value.sensorWidth = [NSNumber numberWithUnsignedShort:cppValue.sensorWidth]; + value.sensorHeight = [NSNumber numberWithUnsignedShort:cppValue.sensorHeight]; + value.hdrCapable = [NSNumber numberWithBool:cppValue.HDRCapable]; + value.maxFPS = [NSNumber numberWithUnsignedShort:cppValue.maxFPS]; + value.maxHDRFPS = [NSNumber numberWithUnsignedShort:cppValue.maxHDRFPS]; + return value; + } + case Attributes::NightVisionCapable::Id: { + using TypeInfo = Attributes::NightVisionCapable::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::MinViewPortWidth::Id: { + using TypeInfo = Attributes::MinViewPortWidth::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull value; + value = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + return value; + } + case Attributes::MinViewPortHeight::Id: { + using TypeInfo = Attributes::MinViewPortHeight::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull value; + value = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + return value; + } + case Attributes::RateDistortionTradeOffPoints::Id: { + using TypeInfo = Attributes::RateDistortionTradeOffPoints::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVStreamManagementClusterRateDistortionTradeOffPointsStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterRateDistortionTradeOffPointsStruct new]; + newElement_0.codec = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.codec)]; + newElement_0.resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + newElement_0.minBitRate = [NSNumber numberWithUnsignedInt:entry_0.minBitRate]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::MaxPreRollBufferSize::Id: { + using TypeInfo = Attributes::MaxPreRollBufferSize::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedInt:cppValue]; + return value; + } + case Attributes::MicrophoneCapabilities::Id: { + using TypeInfo = Attributes::MicrophoneCapabilities::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nonnull value; + value = [MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct new]; + value.maxNumberOfChannels = [NSNumber numberWithUnsignedChar:cppValue.maxNumberOfChannels]; + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + auto iter_1 = cppValue.supportedCodecs.begin(); + while (iter_1.Next()) { + auto & entry_1 = iter_1.GetValue(); + NSNumber * newElement_1; + newElement_1 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_1)]; + [array_1 addObject:newElement_1]; + } + CHIP_ERROR err = iter_1.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value.supportedCodecs = array_1; + } + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + auto iter_1 = cppValue.supportedSampleRates.begin(); + while (iter_1.Next()) { + auto & entry_1 = iter_1.GetValue(); + NSNumber * newElement_1; + newElement_1 = [NSNumber numberWithUnsignedInt:entry_1]; + [array_1 addObject:newElement_1]; + } + CHIP_ERROR err = iter_1.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value.supportedSampleRates = array_1; + } + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + auto iter_1 = cppValue.supportedBitDepths.begin(); + while (iter_1.Next()) { + auto & entry_1 = iter_1.GetValue(); + NSNumber * newElement_1; + newElement_1 = [NSNumber numberWithUnsignedInt:entry_1]; + [array_1 addObject:newElement_1]; + } + CHIP_ERROR err = iter_1.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value.supportedBitDepths = array_1; + } + return value; + } + case Attributes::SpeakerCapabilities::Id: { + using TypeInfo = Attributes::SpeakerCapabilities::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nonnull value; + value = [MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct new]; + value.maxNumberOfChannels = [NSNumber numberWithUnsignedChar:cppValue.maxNumberOfChannels]; + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + auto iter_1 = cppValue.supportedCodecs.begin(); + while (iter_1.Next()) { + auto & entry_1 = iter_1.GetValue(); + NSNumber * newElement_1; + newElement_1 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_1)]; + [array_1 addObject:newElement_1]; + } + CHIP_ERROR err = iter_1.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value.supportedCodecs = array_1; + } + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + auto iter_1 = cppValue.supportedSampleRates.begin(); + while (iter_1.Next()) { + auto & entry_1 = iter_1.GetValue(); + NSNumber * newElement_1; + newElement_1 = [NSNumber numberWithUnsignedInt:entry_1]; + [array_1 addObject:newElement_1]; + } + CHIP_ERROR err = iter_1.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value.supportedSampleRates = array_1; + } + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + auto iter_1 = cppValue.supportedBitDepths.begin(); + while (iter_1.Next()) { + auto & entry_1 = iter_1.GetValue(); + NSNumber * newElement_1; + newElement_1 = [NSNumber numberWithUnsignedInt:entry_1]; + [array_1 addObject:newElement_1]; + } + CHIP_ERROR err = iter_1.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value.supportedBitDepths = array_1; + } + return value; + } + case Attributes::TwoWayTalkSupport::Id: { + using TypeInfo = Attributes::TwoWayTalkSupport::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)]; + return value; + } + case Attributes::SupportedSnapshotParams::Id: { + using TypeInfo = Attributes::SupportedSnapshotParams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVStreamManagementClusterSnapshotParamsStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterSnapshotParamsStruct new]; + newElement_0.resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + newElement_0.maxFrameRate = [NSNumber numberWithUnsignedShort:entry_0.maxFrameRate]; + newElement_0.imageCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.imageCodec)]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::HDRCapable::Id: { + using TypeInfo = Attributes::HDRCapable::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::MaxNetworkBandwidth::Id: { + using TypeInfo = Attributes::MaxNetworkBandwidth::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedInt:cppValue]; + return value; + } + case Attributes::CurrentFrameRate::Id: { + using TypeInfo = Attributes::CurrentFrameRate::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedShort:cppValue]; + return value; + } + case Attributes::HDRMode::Id: { + using TypeInfo = Attributes::HDRMode::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::CurrentVideoCodecs::Id: { + using TypeInfo = Attributes::CurrentVideoCodecs::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + NSNumber * newElement_0; + newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::CurrentSnapshotConfig::Id: { + using TypeInfo = Attributes::CurrentSnapshotConfig::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nonnull value; + value = [MTRCameraAVStreamManagementClusterSnapshotParamsStruct new]; + value.resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + value.maxFrameRate = [NSNumber numberWithUnsignedShort:cppValue.maxFrameRate]; + value.imageCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.imageCodec)]; + return value; + } + case Attributes::FabricsUsingCamera::Id: { + using TypeInfo = Attributes::FabricsUsingCamera::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + NSNumber * newElement_0; + newElement_0 = [NSNumber numberWithUnsignedChar:entry_0]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::AllocatedVideoStreams::Id: { + using TypeInfo = Attributes::AllocatedVideoStreams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVStreamManagementClusterVideoStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterVideoStreamStruct new]; + newElement_0.videoStreamID = [NSNumber numberWithUnsignedShort:entry_0.videoStreamID]; + newElement_0.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamType)]; + newElement_0.videoCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.videoCodec)]; + newElement_0.minFrameRate = [NSNumber numberWithUnsignedShort:entry_0.minFrameRate]; + newElement_0.maxFrameRate = [NSNumber numberWithUnsignedShort:entry_0.maxFrameRate]; + newElement_0.minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + newElement_0.maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + newElement_0.minBitRate = [NSNumber numberWithUnsignedShort:entry_0.minBitRate]; + newElement_0.maxBitRate = [NSNumber numberWithUnsignedShort:entry_0.maxBitRate]; + newElement_0.minFragmentLen = [NSNumber numberWithUnsignedShort:entry_0.minFragmentLen]; + newElement_0.maxFragmentLen = [NSNumber numberWithUnsignedShort:entry_0.maxFragmentLen]; + newElement_0.referenceCount = [NSNumber numberWithUnsignedChar:entry_0.referenceCount]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::AllocatedAudioStreams::Id: { + using TypeInfo = Attributes::AllocatedAudioStreams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVStreamManagementClusterAudioStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterAudioStreamStruct new]; + newElement_0.audioStreamID = [NSNumber numberWithUnsignedShort:entry_0.audioStreamID]; + newElement_0.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamType)]; + newElement_0.audioCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.audioCodec)]; + newElement_0.channelCount = [NSNumber numberWithUnsignedChar:entry_0.channelCount]; + newElement_0.sampleRate = [NSNumber numberWithUnsignedInt:entry_0.sampleRate]; + newElement_0.bitRate = [NSNumber numberWithUnsignedInt:entry_0.bitRate]; + newElement_0.bitDepth = [NSNumber numberWithUnsignedChar:entry_0.bitDepth]; + newElement_0.referenceCount = [NSNumber numberWithUnsignedChar:entry_0.referenceCount]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::AllocatedSnapshotStreams::Id: { + using TypeInfo = Attributes::AllocatedSnapshotStreams::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVStreamManagementClusterSnapshotStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterSnapshotStreamStruct new]; + newElement_0.snapshotStreamID = [NSNumber numberWithUnsignedShort:entry_0.snapshotStreamID]; + newElement_0.imageCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.imageCodec)]; + newElement_0.frameRate = [NSNumber numberWithUnsignedShort:entry_0.frameRate]; + newElement_0.bitRate = [NSNumber numberWithUnsignedInt:entry_0.bitRate]; + newElement_0.minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + newElement_0.maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + newElement_0.quality = [NSNumber numberWithUnsignedChar:entry_0.quality]; + newElement_0.referenceCount = [NSNumber numberWithUnsignedChar:entry_0.referenceCount]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::RankedVideoStreamPrioritiesList::Id: { + using TypeInfo = Attributes::RankedVideoStreamPrioritiesList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + NSNumber * newElement_0; + newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::SoftRecordingPrivacyModeSetting::Id: { + using TypeInfo = Attributes::SoftRecordingPrivacyModeSetting::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::SoftLivestreamPrivacyModeSetting::Id: { + using TypeInfo = Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::HardPrivacyMode::Id: { + using TypeInfo = Attributes::HardPrivacyMode::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::NightVision::Id: { + using TypeInfo = Attributes::NightVision::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)]; + return value; + } + case Attributes::NightVisionIllum::Id: { + using TypeInfo = Attributes::NightVisionIllum::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)]; + return value; + } + case Attributes::Awb::Id: { + using TypeInfo = Attributes::Awb::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::ShutterSpeed::Id: { + using TypeInfo = Attributes::ShutterSpeed::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::Iso::Id: { + using TypeInfo = Attributes::Iso::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::Viewport::Id: { + using TypeInfo = Attributes::Viewport::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVStreamManagementClusterViewportStruct * _Nonnull value; + value = [MTRCameraAVStreamManagementClusterViewportStruct new]; + value.x1 = [NSNumber numberWithUnsignedShort:cppValue.x1]; + value.y1 = [NSNumber numberWithUnsignedShort:cppValue.y1]; + value.x2 = [NSNumber numberWithUnsignedShort:cppValue.x2]; + value.y2 = [NSNumber numberWithUnsignedShort:cppValue.y2]; + return value; + } + case Attributes::SpkrOnOff::Id: { + using TypeInfo = Attributes::SpkrOnOff::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::SpkrVolumeLevel::Id: { + using TypeInfo = Attributes::SpkrVolumeLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::SpkrMaxLevel::Id: { + using TypeInfo = Attributes::SpkrMaxLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::SpkrMinLevel::Id: { + using TypeInfo = Attributes::SpkrMinLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::MicOnOff::Id: { + using TypeInfo = Attributes::MicOnOff::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::MicCurrentLevel::Id: { + using TypeInfo = Attributes::MicCurrentLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::MicMaxLevel::Id: { + using TypeInfo = Attributes::MicMaxLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::MicMinLevel::Id: { + using TypeInfo = Attributes::MicMinLevel::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::MicAGC::Id: { + using TypeInfo = Attributes::MicAGC::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::ImageRotation::Id: { + using TypeInfo = Attributes::ImageRotation::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedShort:cppValue]; + return value; + } + case Attributes::ImageFlipHorizontal::Id: { + using TypeInfo = Attributes::ImageFlipHorizontal::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::ImageFlipVertical::Id: { + using TypeInfo = Attributes::ImageFlipVertical::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::LocalVideoRecordingEnabled::Id: { + using TypeInfo = Attributes::LocalVideoRecordingEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::LocalSnapshotRecordingEnabled::Id: { + using TypeInfo = Attributes::LocalSnapshotRecordingEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::StatusLight::Id: { + using TypeInfo = Attributes::StatusLight::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::StatusLightBrightness::Id: { + using TypeInfo = Attributes::StatusLightBrightness::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)]; + return value; + } + case Attributes::DepthSensorStatus::Id: { + using TypeInfo = Attributes::DepthSensorStatus::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)]; + return value; + } + case Attributes::WatermarkEnabled::Id: { + using TypeInfo = Attributes::WatermarkEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVStreamManagementClusterPerStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterPerStreamStruct new]; + newElement_0.streamID = [NSNumber numberWithUnsignedShort:entry_0.streamID]; + newElement_0.onOff = [NSNumber numberWithBool:entry_0.onOff]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::OSDEnabled::Id: { + using TypeInfo = Attributes::OSDEnabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVStreamManagementClusterPerStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterPerStreamStruct new]; + newElement_0.streamID = [NSNumber numberWithUnsignedShort:entry_0.streamID]; + newElement_0.onOff = [NSNumber numberWithBool:entry_0.onOff]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + return nil; +} +static id _Nullable DecodeAttributeValueForCameraAVSettingsUserLevelManagementCluster(AttributeId aAttributeId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::CameraAvSettingsUserLevelManagement; + switch (aAttributeId) { + case Attributes::Mptz::Id: { + using TypeInfo = Attributes::Mptz::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nonnull value; + value = [MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct new]; + if (cppValue.MPan.HasValue()) { + if (cppValue.MPan.Value().IsNull()) { + value.mPan = nil; + } else { + value.mPan = [NSNumber numberWithShort:cppValue.MPan.Value().Value()]; + } + } else { + value.mPan = nil; + } + if (cppValue.MTilt.HasValue()) { + if (cppValue.MTilt.Value().IsNull()) { + value.mTilt = nil; + } else { + value.mTilt = [NSNumber numberWithChar:cppValue.MTilt.Value().Value()]; + } + } else { + value.mTilt = nil; + } + if (cppValue.MZoom.HasValue()) { + if (cppValue.MZoom.Value().IsNull()) { + value.mZoom = nil; + } else { + value.mZoom = [NSNumber numberWithUnsignedShort:cppValue.MZoom.Value().Value()]; + } + } else { + value.mZoom = nil; + } + return value; + } + case Attributes::MaxPresets::Id: { + using TypeInfo = Attributes::MaxPresets::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::PresetMptzTable::Id: { + using TypeInfo = Attributes::PresetMptzTable::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * newElement_0; + newElement_0 = [MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct new]; + if (entry_0.MPan.HasValue()) { + if (entry_0.MPan.Value().IsNull()) { + newElement_0.mPan = nil; + } else { + newElement_0.mPan = [NSNumber numberWithShort:entry_0.MPan.Value().Value()]; + } + } else { + newElement_0.mPan = nil; + } + if (entry_0.MTilt.HasValue()) { + if (entry_0.MTilt.Value().IsNull()) { + newElement_0.mTilt = nil; + } else { + newElement_0.mTilt = [NSNumber numberWithChar:entry_0.MTilt.Value().Value()]; + } + } else { + newElement_0.mTilt = nil; + } + if (entry_0.MZoom.HasValue()) { + if (entry_0.MZoom.Value().IsNull()) { + newElement_0.mZoom = nil; + } else { + newElement_0.mZoom = [NSNumber numberWithUnsignedShort:entry_0.MZoom.Value().Value()]; + } + } else { + newElement_0.mZoom = nil; + } + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::MptzRelativeMove::Id: { + using TypeInfo = Attributes::MptzRelativeMove::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + case Attributes::DptzRelativeMove::Id: { + using TypeInfo = Attributes::DptzRelativeMove::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRCameraAVSettingsUserLevelManagementClusterPerStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVSettingsUserLevelManagementClusterPerStreamStruct new]; + newElement_0.streamID = [NSNumber numberWithUnsignedShort:entry_0.streamID]; + newElement_0.onOff = [NSNumber numberWithBool:entry_0.onOff]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + return nil; +} +static id _Nullable DecodeAttributeValueForWebRTCTransportProviderCluster(AttributeId aAttributeId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::WebRTCTransportProvider; + switch (aAttributeId) { + case Attributes::CurrentSessions::Id: { + using TypeInfo = Attributes::CurrentSessions::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRWebRTCTransportProviderClusterWebRTCSessionStruct * newElement_0; + newElement_0 = [MTRWebRTCTransportProviderClusterWebRTCSessionStruct new]; + newElement_0.id = [NSNumber numberWithUnsignedShort:entry_0.id]; + newElement_0.peerNodeId = [NSNumber numberWithUnsignedLongLong:entry_0.peerNodeId]; + newElement_0.peerFabricIndex = [NSNumber numberWithUnsignedChar:entry_0.peerFabricIndex]; + newElement_0.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamType)]; + if (entry_0.videoStreamID.IsNull()) { + newElement_0.videoStreamID = nil; + } else { + newElement_0.videoStreamID = [NSNumber numberWithUnsignedShort:entry_0.videoStreamID.Value()]; + } + if (entry_0.audioStreamID.IsNull()) { + newElement_0.audioStreamID = nil; + } else { + newElement_0.audioStreamID = [NSNumber numberWithUnsignedShort:entry_0.audioStreamID.Value()]; + } + newElement_0.metadataOptions = [NSNumber numberWithUnsignedChar:entry_0.metadataOptions.Raw()]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + return nil; +} +static id _Nullable DecodeAttributeValueForWebRTCTransportRequestorCluster(AttributeId aAttributeId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::WebRTCTransportRequestor; + switch (aAttributeId) { + case Attributes::CurrentSessions::Id: { + using TypeInfo = Attributes::CurrentSessions::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRWebRTCTransportRequestorClusterWebRTCSessionStruct * newElement_0; + newElement_0 = [MTRWebRTCTransportRequestorClusterWebRTCSessionStruct new]; + newElement_0.id = [NSNumber numberWithUnsignedShort:entry_0.id]; + newElement_0.peerNodeId = [NSNumber numberWithUnsignedLongLong:entry_0.peerNodeId]; + newElement_0.peerFabricIndex = [NSNumber numberWithUnsignedChar:entry_0.peerFabricIndex]; + newElement_0.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamType)]; + if (entry_0.videoStreamID.IsNull()) { + newElement_0.videoStreamID = nil; + } else { + newElement_0.videoStreamID = [NSNumber numberWithUnsignedShort:entry_0.videoStreamID.Value()]; + } + if (entry_0.audioStreamID.IsNull()) { + newElement_0.audioStreamID = nil; + } else { + newElement_0.audioStreamID = [NSNumber numberWithUnsignedShort:entry_0.audioStreamID.Value()]; + } + newElement_0.metadataOptions = [NSNumber numberWithUnsignedChar:entry_0.metadataOptions.Raw()]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + return nil; +} +static id _Nullable DecodeAttributeValueForPushAVStreamTransportCluster(AttributeId aAttributeId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::PushAvStreamTransport; + switch (aAttributeId) { + case Attributes::SupportedContainerFormats::Id: { + using TypeInfo = Attributes::SupportedContainerFormats::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue.Raw()]; + return value; + } + case Attributes::SupportedIngestMethods::Id: { + using TypeInfo = Attributes::SupportedIngestMethods::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue.Raw()]; + return value; + } + case Attributes::CurrentConnections::Id: { + using TypeInfo = Attributes::CurrentConnections::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + NSNumber * newElement_0; + newElement_0 = [NSNumber numberWithUnsignedShort:entry_0]; + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + return nil; +} +static id _Nullable DecodeAttributeValueForChimeCluster(AttributeId aAttributeId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::Chime; + switch (aAttributeId) { + case Attributes::InstalledChimeSounds::Id: { + using TypeInfo = Attributes::InstalledChimeSounds::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = cppValue.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRChimeClusterChimeSoundStruct * newElement_0; + newElement_0 = [MTRChimeClusterChimeSoundStruct new]; + newElement_0.chimeId = [NSNumber numberWithUnsignedChar:entry_0.chimeId]; + newElement_0.name = AsString(entry_0.name); + if (newElement_0.name == nil) { + CHIP_ERROR err = CHIP_ERROR_INVALID_ARGUMENT; + *aError = err; + return nil; + } + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + value = array_0; + } + return value; + } + case Attributes::ActiveChimeSoundId::Id: { + using TypeInfo = Attributes::ActiveChimeSoundId::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithUnsignedChar:cppValue]; + return value; + } + case Attributes::Enabled::Id: { + using TypeInfo = Attributes::Enabled::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSNumber * _Nonnull value; + value = [NSNumber numberWithBool:cppValue]; + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB; + return nil; +} static id _Nullable DecodeAttributeValueForEcosystemInformationCluster(AttributeId aAttributeId, TLV::TLVReader & aReader, CHIP_ERROR * aError) { using namespace Clusters::EcosystemInformation; @@ -20719,6 +21976,24 @@ id _Nullable MTRDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::T case Clusters::ContentAppObserver::Id: { return DecodeAttributeValueForContentAppObserverCluster(aPath.mAttributeId, aReader, aError); } + case Clusters::CameraAvStreamManagement::Id: { + return DecodeAttributeValueForCameraAVStreamManagementCluster(aPath.mAttributeId, aReader, aError); + } + case Clusters::CameraAvSettingsUserLevelManagement::Id: { + return DecodeAttributeValueForCameraAVSettingsUserLevelManagementCluster(aPath.mAttributeId, aReader, aError); + } + case Clusters::WebRTCTransportProvider::Id: { + return DecodeAttributeValueForWebRTCTransportProviderCluster(aPath.mAttributeId, aReader, aError); + } + case Clusters::WebRTCTransportRequestor::Id: { + return DecodeAttributeValueForWebRTCTransportRequestorCluster(aPath.mAttributeId, aReader, aError); + } + case Clusters::PushAvStreamTransport::Id: { + return DecodeAttributeValueForPushAVStreamTransportCluster(aPath.mAttributeId, aReader, aError); + } + case Clusters::Chime::Id: { + return DecodeAttributeValueForChimeCluster(aPath.mAttributeId, aReader, aError); + } case Clusters::EcosystemInformation::Id: { return DecodeAttributeValueForEcosystemInformationCluster(aPath.mAttributeId, aReader, aError); } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 60c65ac382561d..f2f38812e621df 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -15106,6 +15106,1031 @@ MTR_PROVISIONALLY_AVAILABLE @end +/** + * Cluster Camera AV Stream Management + * + * This cluster is used to allow clients to manage, control, and configure various + audio, video, and snapshot streams on a camera. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterCameraAVStreamManagement : MTRGenericBaseCluster + +/** + * Command AudioStreamAllocate + * + * This command SHALL allocate an audio stream on the camera and return an allocated audio stream identifier. + */ +- (void)audioStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamAllocateParams *)params completion:(void (^)(MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command AudioStreamDeallocate + * + * This command SHALL deallocate an audio stream on the camera, corresponding to the given audio stream identifier. + */ +- (void)audioStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command VideoStreamAllocate + * + * This command SHALL allocate a video stream on the camera and return an allocated video stream identifier. + */ +- (void)videoStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamAllocateParams *)params completion:(void (^)(MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command VideoStreamModify + * + * This command SHALL be used to modify the resolution of a stream specified by the VideoStreamID. + */ +- (void)videoStreamModifyWithParams:(MTRCameraAVStreamManagementClusterVideoStreamModifyParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command VideoStreamDeallocate + * + * This command SHALL deallocate a video stream on the camera, corresponding to the given video stream identifier. + */ +- (void)videoStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SnapshotStreamAllocate + * + * This command SHALL allocate a snapshot stream on the device and return an allocated snapshot stream identifier. + */ +- (void)snapshotStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams *)params completion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SnapshotStreamDeallocate + * + * This command SHALL deallocate an snapshot stream on the camera, corresponding to the given snapshot stream identifier. + */ +- (void)snapshotStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SetStreamPriority + * + * + */ +- (void)setStreamPriorityWithParams:(MTRCameraAVStreamManagementClusterSetStreamPriorityParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setStreamPriorityWithCompletion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; +/** + * Command CaptureSnapshot + * + * This command SHALL return a Snapshot from the camera. + */ +- (void)captureSnapshotWithParams:(MTRCameraAVStreamManagementClusterCaptureSnapshotParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SetViewport + * + * This command SHALL set the viewport in all video streams. + */ +- (void)setViewportWithParams:(MTRCameraAVStreamManagementClusterSetViewportParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SetImageRotation + * + * The data fields for this command SHALL be as follows: + */ +- (void)setImageRotationWithParams:(MTRCameraAVStreamManagementClusterSetImageRotationParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SetImageFlipHorizontal + * + * The data fields for this command SHALL be as follows: + */ +- (void)setImageFlipHorizontalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SetImageFlipVertical + * + * The data fields for this command SHALL be as follows: + */ +- (void)setImageFlipVerticalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMaxConcurrentVideoEncodersWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMaxConcurrentVideoEncodersWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMaxConcurrentVideoEncodersWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMaxEncodedPixelRateWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMaxEncodedPixelRateWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMaxEncodedPixelRateWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeVideoSensorParamsWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeVideoSensorParamsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeVideoSensorParamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeNightVisionCapableWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeNightVisionCapableWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeNightVisionCapableWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMinViewPortWidthWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMinViewPortWidthWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMinViewPortWidthWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMinViewPortHeightWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMinViewPortHeightWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMinViewPortHeightWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeRateDistortionTradeOffPointsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeRateDistortionTradeOffPointsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeRateDistortionTradeOffPointsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMaxPreRollBufferSizeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMaxPreRollBufferSizeWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMaxPreRollBufferSizeWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMicrophoneCapabilitiesWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMicrophoneCapabilitiesWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMicrophoneCapabilitiesWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSpeakerCapabilitiesWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSpeakerCapabilitiesWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSpeakerCapabilitiesWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeTwoWayTalkSupportWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeTwoWayTalkSupportWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeTwoWayTalkSupportWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSupportedSnapshotParamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSupportedSnapshotParamsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSupportedSnapshotParamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeHDRCapableWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeHDRCapableWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeHDRCapableWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMaxNetworkBandwidthWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMaxNetworkBandwidthWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMaxNetworkBandwidthWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeCurrentFrameRateWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeCurrentFrameRateWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeCurrentFrameRateWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeHDRModeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeHDRModeWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeHDRModeWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeHDRModeWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeHDRModeWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeCurrentVideoCodecsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeCurrentVideoCodecsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeCurrentVideoCodecsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeCurrentSnapshotConfigWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeCurrentSnapshotConfigWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeCurrentSnapshotConfigWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeFabricsUsingCameraWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeFabricsUsingCameraWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeFabricsUsingCameraWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAllocatedVideoStreamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAllocatedVideoStreamsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAllocatedVideoStreamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAllocatedAudioStreamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAllocatedAudioStreamsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAllocatedAudioStreamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAllocatedSnapshotStreamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAllocatedSnapshotStreamsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAllocatedSnapshotStreamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeRankedVideoStreamPrioritiesListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSArray * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeRankedVideoStreamPrioritiesListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeRankedVideoStreamPrioritiesListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSoftRecordingPrivacyModeSettingWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSoftRecordingPrivacyModeSettingWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSoftRecordingPrivacyModeSettingWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSoftLivestreamPrivacyModeSettingWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSoftLivestreamPrivacyModeSettingWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSoftLivestreamPrivacyModeSettingWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeHardPrivacyModeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeHardPrivacyModeWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeHardPrivacyModeWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeNightVisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeNightVisionWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeNightVisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeNightVisionIllumWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionIllumWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionIllumWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeNightVisionIllumWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeNightVisionIllumWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAWBWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeAWBWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeAWBWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAWBWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAWBWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeShutterSpeedWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeShutterSpeedWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeShutterSpeedWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeShutterSpeedWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeShutterSpeedWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeISOWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeISOWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeISOWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeISOWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeISOWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeViewportWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeViewportWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeViewportWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSpkrOnOffWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrOnOffWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrOnOffWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSpkrOnOffWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSpkrOnOffWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSpkrVolumeLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSpkrVolumeLevelWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSpkrVolumeLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSpkrMaxLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMaxLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMaxLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSpkrMaxLevelWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSpkrMaxLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSpkrMinLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMinLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMinLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSpkrMinLevelWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSpkrMinLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMicOnOffWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicOnOffWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicOnOffWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMicOnOffWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMicOnOffWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMicCurrentLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicCurrentLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicCurrentLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMicCurrentLevelWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMicCurrentLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMicMaxLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMaxLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMaxLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMicMaxLevelWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMicMaxLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMicMinLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMinLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMinLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMicMinLevelWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMicMinLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMicAGCWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicAGCWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicAGCWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMicAGCWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMicAGCWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeImageRotationWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeImageRotationWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeImageRotationWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeImageFlipHorizontalWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeImageFlipHorizontalWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeImageFlipHorizontalWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeImageFlipVerticalWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeImageFlipVerticalWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeImageFlipVerticalWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeLocalVideoRecordingEnabledWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeLocalVideoRecordingEnabledWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeLocalVideoRecordingEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeLocalSnapshotRecordingEnabledWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeLocalSnapshotRecordingEnabledWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeLocalSnapshotRecordingEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeStatusLightWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeStatusLightWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeStatusLightWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeStatusLightBrightnessWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightBrightnessWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightBrightnessWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeStatusLightBrightnessWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeStatusLightBrightnessWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeDepthSensorStatusWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeDepthSensorStatusWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeDepthSensorStatusWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeDepthSensorStatusWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeDepthSensorStatusWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeWatermarkEnabledWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeWatermarkEnabledWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeWatermarkEnabledWithValue:(NSArray * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeWatermarkEnabledWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeWatermarkEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeOSDEnabledWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeOSDEnabledWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeOSDEnabledWithValue:(NSArray * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeOSDEnabledWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeOSDEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRBaseClusterCameraAVStreamManagement (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Camera AV Settings User Level Management + * + * This cluster provides an interface into controls associated with the operation of a device that provides pan, tilt, and zoom functions, either mechanically, or against a digital image. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterCameraAVSettingsUserLevelManagement : MTRGenericBaseCluster + +/** + * Command MptzSet + * + * This command SHALL set the values for the pan, tilt, and zoom in the mechanical PTZ. + */ +- (void)mptzSetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)mptzSetWithCompletion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; +/** + * Command MptzRelativeMove + * + * This command SHALL move the device by the values for pan, tilt, and zoom relative to the currently defined position. + */ +- (void)mptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SetAsPreset + * + * This command SHALL set the next available index in the PresetMptzTable to the current, known, values of pan, tilt, and zoom on the camera. + */ +- (void)setAsPresetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setAsPresetWithCompletion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; +/** + * Command DptzSetViewport + * + * This command SHALL set the viewport in the digital PTZ for a specific Video Stream. + */ +- (void)dptzSetViewportWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command DptzRelativeMove + * + * This command SHALL change the viewports location by the amount specified in a relative fashion. + */ +- (void)dptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMptzWithCompletion:(void (^)(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMptzWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMptzWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMaxPresetsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMaxPresetsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMaxPresetsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributePresetMptzTableWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributePresetMptzTableWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributePresetMptzTableWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeMptzRelativeMoveWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeMptzRelativeMoveWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeMptzRelativeMoveWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeDptzRelativeMoveWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeDptzRelativeMoveWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeDptzRelativeMoveWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRBaseClusterCameraAVSettingsUserLevelManagement (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster WebRTC Transport Provider + * + * The WebRTC transport provider cluster provides a way for stream providers (e.g. Cameras) to stream or receive their data through WebRTC. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterWebRTCTransportProvider : MTRGenericBaseCluster + +/** + * Command WebRTCSolicitOffer + * + * Requests that the Provider initiates a new session with the Offer / Answer flow in a way that allows for options to be passed and work with devices needing the standby flow. + */ +- (void)webRTCSolicitOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams *)params completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command WebRTCProvideOffer + * + * This command allows an SDP Offer to be set and start a new session. + */ +- (void)webRTCProvideOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams *)params completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command WebRTCProvideAnswer + * + * This command will be initiated from a local Node as a response to an offer that was previously provided by the remote peer. + */ +- (void)webRTCProvideAnswerWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command WebRTCProvideICECandidate + * + * This command allows for https://www.rfc-editor.org/rfc/rfc8839#section-4.2.1.2 nominated after the initial Offer / Answer exchange to be added to a session during the gathering phase. + */ +- (void)webRTCProvideICECandidateWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command WebRTCEndSession + * + * This command instructs the stream provider to end the WebRTC session. + */ +- (void)webRTCEndSessionWithParams:(MTRWebRTCTransportProviderClusterWebRTCEndSessionParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeCurrentSessionsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeCurrentSessionsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeCurrentSessionsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRBaseClusterWebRTCTransportProvider (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster WebRTC Transport Requestor + * + * The WebRTC transport requestor cluster provides a way for stream consumers (e.g. Matter Stream Viewer) to establish a WebRTC connection with a stream provider that implements the WebRTC Transport Provider Cluster + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterWebRTCTransportRequestor : MTRGenericBaseCluster + +/** + * Command WebRTCOffer + * + * This command provides the stream requestor with WebRTC session details. + */ +- (void)webRTCOfferWithParams:(MTRWebRTCTransportRequestorClusterWebRTCOfferParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command WebRTCAnswer + * + * This command provides the stream requestor with the WebRTC session details (i.e. + */ +- (void)webRTCAnswerWithParams:(MTRWebRTCTransportRequestorClusterWebRTCAnswerParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command WebRTCICECandidate + * + * This command provides an ICE candidate to the stream requestor in a WebRTC session. + */ +- (void)webRTCICECandidateWithParams:(MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command WebRTCEnd + * + * This command notifies the stream requestor that the provider has ended the WebRTC session. + */ +- (void)webRTCEndWithParams:(MTRWebRTCTransportRequestorClusterWebRTCEndParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeCurrentSessionsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeCurrentSessionsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeCurrentSessionsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRBaseClusterWebRTCTransportRequestor (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Push AV Stream Transport + * + * This cluster implements the upload of Audio and Video streams from the Camera AV Stream Management Cluster using suitable push-based transports. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterPushAVStreamTransport : MTRGenericBaseCluster + +/** + * Command AllocatePushTransport + * + * This command SHALL allocate a transport and return a PushTransportConnectionID. + */ +- (void)allocatePushTransportWithParams:(MTRPushAVStreamTransportClusterAllocatePushTransportParams *)params completion:(void (^)(MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command DeallocatePushTransport + * + * This command SHALL be generated to request the Node deallocates the specified transport. + */ +- (void)deallocatePushTransportWithParams:(MTRPushAVStreamTransportClusterDeallocatePushTransportParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command ModifyPushTransport + * + * This command is used to request the Node modifies the configuration of the specified push transport. + */ +- (void)modifyPushTransportWithParams:(MTRPushAVStreamTransportClusterModifyPushTransportParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command SetTransportStatus + * + * This command SHALL be generated to request the Node modifies the Transport Status of the transport. + */ +- (void)setTransportStatusWithParams:(MTRPushAVStreamTransportClusterSetTransportStatusParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command ManuallyTriggerTransport + * + * This command SHALL be generated to request the Node to manually start the specified push transport. + */ +- (void)manuallyTriggerTransportWithParams:(MTRPushAVStreamTransportClusterManuallyTriggerTransportParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +/** + * Command FindStreamConfiguration + * + * This command SHALL return the Stream Options Configuration for the specified push transport. + */ +- (void)findStreamConfigurationWithParams:(MTRPushAVStreamTransportClusterFindStreamConfigurationParams * _Nullable)params completion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)findStreamConfigurationWithCompletion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion + MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSupportedContainerFormatsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSupportedContainerFormatsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSupportedContainerFormatsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeSupportedIngestMethodsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeSupportedIngestMethodsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeSupportedIngestMethodsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeCurrentConnectionsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeCurrentConnectionsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeCurrentConnectionsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRBaseClusterPushAVStreamTransport (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Chime + * + * This cluster provides facilities to configure and play Chime sounds, such as those used in a doorbell. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterChime : MTRGenericBaseCluster + +/** + * Command PlayChimeSound + * + * + */ +- (void)playChimeSoundWithParams:(MTRChimeClusterPlayChimeSoundParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)playChimeSoundWithCompletion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeInstalledChimeSoundsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeInstalledChimeSoundsWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeInstalledChimeSoundsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeActiveChimeSoundIdWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeActiveChimeSoundIdWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeActiveChimeSoundIdWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeEnabledWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeEnabledWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeEnabledWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeEnabledWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams *)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE; ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRBaseClusterChime (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + /** * Cluster Ecosystem Information * @@ -17413,6 +18438,13 @@ typedef NS_ENUM(uint8_t, MTRDataTypeTestGlobalEnum) { MTRDataTypeTestGlobalEnumFinalValue MTR_PROVISIONALLY_AVAILABLE = 0x02, } MTR_PROVISIONALLY_AVAILABLE; +typedef NS_ENUM(uint8_t, MTRDataTypeThreeLevelAutoEnum) { + MTRDataTypeThreeLevelAutoEnumLow MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRDataTypeThreeLevelAutoEnumMedium MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRDataTypeThreeLevelAutoEnumHigh MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRDataTypeThreeLevelAutoEnumAutomatic MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + typedef NS_ENUM(uint8_t, MTRIdentifyEffectIdentifier) { MTRIdentifyEffectIdentifierBlink MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00, MTRIdentifyEffectIdentifierBreathe MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, @@ -21188,6 +22220,178 @@ typedef NS_ENUM(uint8_t, MTRContentAppObserverStatus) { MTRContentAppObserverStatusUnexpectedData MTR_PROVISIONALLY_AVAILABLE = 0x01, } MTR_PROVISIONALLY_AVAILABLE; +typedef NS_ENUM(uint8_t, MTRCameraAVStreamManagementAudioCodec) { + MTRCameraAVStreamManagementAudioCodecOPUS MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRCameraAVStreamManagementAudioCodecAACLC MTR_PROVISIONALLY_AVAILABLE = 0x01, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRCameraAVStreamManagementImageCodec) { + MTRCameraAVStreamManagementImageCodecJPEG MTR_PROVISIONALLY_AVAILABLE = 0x00, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRCameraAVStreamManagementStreamType) { + MTRCameraAVStreamManagementStreamTypeInternal MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRCameraAVStreamManagementStreamTypeRecording MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRCameraAVStreamManagementStreamTypeAnalysis MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRCameraAVStreamManagementStreamTypeLiveView MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRCameraAVStreamManagementTriStateAuto) { + MTRCameraAVStreamManagementTriStateAutoOff MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRCameraAVStreamManagementTriStateAutoOn MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRCameraAVStreamManagementTriStateAutoAuto MTR_PROVISIONALLY_AVAILABLE = 0x02, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRCameraAVStreamManagementTwowayTalkSupportType) { + MTRCameraAVStreamManagementTwowayTalkSupportTypeNotSupported MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRCameraAVStreamManagementTwowayTalkSupportTypeHalfDuplex MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRCameraAVStreamManagementTwowayTalkSupportTypeFullDuplex MTR_PROVISIONALLY_AVAILABLE = 0x02, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRCameraAVStreamManagementVideoCodec) { + MTRCameraAVStreamManagementVideoCodecH264 MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRCameraAVStreamManagementVideoCodecHEVC MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRCameraAVStreamManagementVideoCodecVVC MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRCameraAVStreamManagementVideoCodecAV1 MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_OPTIONS(uint32_t, MTRCameraAVStreamManagementFeature) { + MTRCameraAVStreamManagementFeaturePrivacy MTR_PROVISIONALLY_AVAILABLE = 0x1, + MTRCameraAVStreamManagementFeatureSensorControl MTR_PROVISIONALLY_AVAILABLE = 0x2, + MTRCameraAVStreamManagementFeatureAudio MTR_PROVISIONALLY_AVAILABLE = 0x4, + MTRCameraAVStreamManagementFeatureImageControl MTR_PROVISIONALLY_AVAILABLE = 0x8, + MTRCameraAVStreamManagementFeatureVideo MTR_PROVISIONALLY_AVAILABLE = 0x10, + MTRCameraAVStreamManagementFeatureSnapshot MTR_PROVISIONALLY_AVAILABLE = 0x20, + MTRCameraAVStreamManagementFeatureLocalStorage MTR_PROVISIONALLY_AVAILABLE = 0x40, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_OPTIONS(uint32_t, MTRCameraAVSettingsUserLevelManagementFeature) { + MTRCameraAVSettingsUserLevelManagementFeatureMechanicalPTZ MTR_PROVISIONALLY_AVAILABLE = 0x1, + MTRCameraAVSettingsUserLevelManagementFeatureDigitalPTZ MTR_PROVISIONALLY_AVAILABLE = 0x2, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRWebRTCTransportProviderStreamType) { + MTRWebRTCTransportProviderStreamTypeInternal MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRWebRTCTransportProviderStreamTypeRecording MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRWebRTCTransportProviderStreamTypeAnalysis MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRWebRTCTransportProviderStreamTypeLiveView MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRWebRTCTransportProviderStreamType) { + MTRWebRTCTransportProviderStreamTypeInternal MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRWebRTCTransportProviderStreamTypeRecording MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRWebRTCTransportProviderStreamTypeAnalysis MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRWebRTCTransportProviderStreamTypeLiveView MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRWebRTCTransportProviderWebRTCEndReason) { + MTRWebRTCTransportProviderWebRTCEndReasonICEFAILED MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRWebRTCTransportProviderWebRTCEndReasonICETIMEOUT MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRWebRTCTransportProviderWebRTCEndReasonUSERHANGUP MTR_PROVISIONALLY_AVAILABLE = 0x03, + MTRWebRTCTransportProviderWebRTCEndReasonUSERBUSY MTR_PROVISIONALLY_AVAILABLE = 0x04, + MTRWebRTCTransportProviderWebRTCEndReasonREPLACED MTR_PROVISIONALLY_AVAILABLE = 0x05, + MTRWebRTCTransportProviderWebRTCEndReasonNOUSERMEDIA MTR_PROVISIONALLY_AVAILABLE = 0x06, + MTRWebRTCTransportProviderWebRTCEndReasonINVITETIMEOUT MTR_PROVISIONALLY_AVAILABLE = 0x07, + MTRWebRTCTransportProviderWebRTCEndReasonANSWEREDELSEWHERE MTR_PROVISIONALLY_AVAILABLE = 0x08, + MTRWebRTCTransportProviderWebRTCEndReasonOUTOFRESOURCES MTR_PROVISIONALLY_AVAILABLE = 0x09, + MTRWebRTCTransportProviderWebRTCEndReasonMEDIATIMEOUT MTR_PROVISIONALLY_AVAILABLE = 0x0A, + MTRWebRTCTransportProviderWebRTCEndReasonLOWPOWER MTR_PROVISIONALLY_AVAILABLE = 0x0B, + MTRWebRTCTransportProviderWebRTCEndReasonUNKNOWNERROR MTR_PROVISIONALLY_AVAILABLE = 0x0C, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_OPTIONS(uint8_t, MTRWebRTCTransportProviderWebRTCMetadataOptions) { + MTRWebRTCTransportProviderWebRTCMetadataOptionsDataTLV MTR_PROVISIONALLY_AVAILABLE = 0x1, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRWebRTCTransportRequestorStreamType) { + MTRWebRTCTransportRequestorStreamTypeInternal MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRWebRTCTransportRequestorStreamTypeRecording MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRWebRTCTransportRequestorStreamTypeAnalysis MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRWebRTCTransportRequestorStreamTypeLiveView MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRWebRTCTransportRequestorStreamType) { + MTRWebRTCTransportRequestorStreamTypeInternal MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRWebRTCTransportRequestorStreamTypeRecording MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRWebRTCTransportRequestorStreamTypeAnalysis MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRWebRTCTransportRequestorStreamTypeLiveView MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRWebRTCTransportRequestorWebRTCEndReason) { + MTRWebRTCTransportRequestorWebRTCEndReasonICEFAILED MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRWebRTCTransportRequestorWebRTCEndReasonICETIMEOUT MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRWebRTCTransportRequestorWebRTCEndReasonUSERHANGUP MTR_PROVISIONALLY_AVAILABLE = 0x03, + MTRWebRTCTransportRequestorWebRTCEndReasonUSERBUSY MTR_PROVISIONALLY_AVAILABLE = 0x04, + MTRWebRTCTransportRequestorWebRTCEndReasonREPLACED MTR_PROVISIONALLY_AVAILABLE = 0x05, + MTRWebRTCTransportRequestorWebRTCEndReasonNOUSERMEDIA MTR_PROVISIONALLY_AVAILABLE = 0x06, + MTRWebRTCTransportRequestorWebRTCEndReasonINVITETIMEOUT MTR_PROVISIONALLY_AVAILABLE = 0x07, + MTRWebRTCTransportRequestorWebRTCEndReasonANSWEREDELSEWHERE MTR_PROVISIONALLY_AVAILABLE = 0x08, + MTRWebRTCTransportRequestorWebRTCEndReasonOUTOFRESOURCES MTR_PROVISIONALLY_AVAILABLE = 0x09, + MTRWebRTCTransportRequestorWebRTCEndReasonMEDIATIMEOUT MTR_PROVISIONALLY_AVAILABLE = 0x0A, + MTRWebRTCTransportRequestorWebRTCEndReasonLOWPOWER MTR_PROVISIONALLY_AVAILABLE = 0x0B, + MTRWebRTCTransportRequestorWebRTCEndReasonUNKNOWNERROR MTR_PROVISIONALLY_AVAILABLE = 0x0C, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_OPTIONS(uint8_t, MTRWebRTCTransportRequestorWebRTCMetadataOptions) { + MTRWebRTCTransportRequestorWebRTCMetadataOptionsDataTLV MTR_PROVISIONALLY_AVAILABLE = 0x1, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportContainerFormat) { + MTRPushAVStreamTransportContainerFormatCMAF MTR_PROVISIONALLY_AVAILABLE = 0x00, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportIngestMethod) { + MTRPushAVStreamTransportIngestMethodCMAFIngest MTR_PROVISIONALLY_AVAILABLE = 0x00, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportStatus) { + MTRPushAVStreamTransportStatusActive MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRPushAVStreamTransportStatusInactive MTR_PROVISIONALLY_AVAILABLE = 0x01, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportStreamMultiplexing) { + MTRPushAVStreamTransportStreamMultiplexingInterleaved MTR_PROVISIONALLY_AVAILABLE = 0x00, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportTriggerActivationReason) { + MTRPushAVStreamTransportTriggerActivationReasonUserInitiated MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRPushAVStreamTransportTriggerActivationReasonAutomation MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRPushAVStreamTransportTriggerActivationReasonEmergency MTR_PROVISIONALLY_AVAILABLE = 0x02, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportTriggerType) { + MTRPushAVStreamTransportTriggerTypeCommand MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRPushAVStreamTransportTriggerTypeMotion MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRPushAVStreamTransportTriggerTypeContinuous MTR_PROVISIONALLY_AVAILABLE = 0x02, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportStatusCode) { + MTRPushAVStreamTransportStatusCodeALLOCATIONNOTPERMITTED MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRPushAVStreamTransportStatusCodeINVALIDPARAMETERS MTR_PROVISIONALLY_AVAILABLE = 0x03, + MTRPushAVStreamTransportStatusCodeINVALIDURL MTR_PROVISIONALLY_AVAILABLE = 0x04, + MTRPushAVStreamTransportStatusCodeINVALIDTRIGGEROPTIONS MTR_PROVISIONALLY_AVAILABLE = 0x05, + MTRPushAVStreamTransportStatusCodeUNSUPPORTEDCONTAINERFORMAT MTR_PROVISIONALLY_AVAILABLE = 0x06, + MTRPushAVStreamTransportStatusCodeUNSUPPORTEDINGESTMETHOD MTR_PROVISIONALLY_AVAILABLE = 0x07, + MTRPushAVStreamTransportStatusCodePAVSTNOTINUSE MTR_PROVISIONALLY_AVAILABLE = 0x08, + MTRPushAVStreamTransportStatusCodeINVALIDTRIGGERFORMAT MTR_PROVISIONALLY_AVAILABLE = 0x09, + MTRPushAVStreamTransportStatusCodeINVALIDTRANSPORTSTATUS MTR_PROVISIONALLY_AVAILABLE = 0x10, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_ENUM(uint8_t, MTRPushAVStreamTransportStreamType) { + MTRPushAVStreamTransportStreamTypeInternal MTR_PROVISIONALLY_AVAILABLE = 0x00, + MTRPushAVStreamTransportStreamTypeRecording MTR_PROVISIONALLY_AVAILABLE = 0x01, + MTRPushAVStreamTransportStreamTypeAnalysis MTR_PROVISIONALLY_AVAILABLE = 0x02, + MTRPushAVStreamTransportStreamTypeLiveView MTR_PROVISIONALLY_AVAILABLE = 0x03, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_OPTIONS(uint8_t, MTRPushAVStreamTransportSupportedContainerFormatsBitmap) { + MTRPushAVStreamTransportSupportedContainerFormatsBitmapCMAF MTR_PROVISIONALLY_AVAILABLE = 0x1, +} MTR_PROVISIONALLY_AVAILABLE; + +typedef NS_OPTIONS(uint8_t, MTRPushAVStreamTransportSupportedIngestMethodsBitmap) { + MTRPushAVStreamTransportSupportedIngestMethodsBitmapCMAFIngest MTR_PROVISIONALLY_AVAILABLE = 0x1, +} MTR_PROVISIONALLY_AVAILABLE; + typedef NS_OPTIONS(uint32_t, MTRCommissionerControlSupportedDeviceCategoryBitmap) { MTRCommissionerControlSupportedDeviceCategoryBitmapFabricSynchronization MTR_PROVISIONALLY_AVAILABLE = 0x1, } MTR_PROVISIONALLY_AVAILABLE; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm index 84e03c5adeb430..ecbce4bec7b493 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm @@ -105330,6 +105330,5293 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @end +@implementation MTRBaseClusterCameraAVStreamManagement + +- (void)audioStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamAllocateParams *)params completion:(void (^)(MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterAudioStreamAllocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::AudioStreamAllocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)audioStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::AudioStreamDeallocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)videoStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamAllocateParams *)params completion:(void (^)(MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterVideoStreamAllocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::VideoStreamAllocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)videoStreamModifyWithParams:(MTRCameraAVStreamManagementClusterVideoStreamModifyParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterVideoStreamModifyParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::VideoStreamModify::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)videoStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::VideoStreamDeallocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)snapshotStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams *)params completion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)snapshotStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)setStreamPriorityWithCompletion:(MTRStatusCompletion)completion +{ + [self setStreamPriorityWithParams:nil completion:completion]; +} +- (void)setStreamPriorityWithParams:(MTRCameraAVStreamManagementClusterSetStreamPriorityParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetStreamPriorityParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetStreamPriority::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)captureSnapshotWithParams:(MTRCameraAVStreamManagementClusterCaptureSnapshotParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterCaptureSnapshotParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::CaptureSnapshot::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)setViewportWithParams:(MTRCameraAVStreamManagementClusterSetViewportParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetViewportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetViewport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)setImageRotationWithParams:(MTRCameraAVStreamManagementClusterSetImageRotationParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetImageRotationParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetImageRotation::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)setImageFlipHorizontalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)setImageFlipVerticalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetImageFlipVertical::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)readAttributeMaxConcurrentVideoEncodersWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxConcurrentVideoEncoders::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMaxConcurrentVideoEncodersWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxConcurrentVideoEncoders::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMaxConcurrentVideoEncodersWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxConcurrentVideoEncoders::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMaxEncodedPixelRateWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxEncodedPixelRate::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMaxEncodedPixelRateWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxEncodedPixelRate::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMaxEncodedPixelRateWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxEncodedPixelRate::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeVideoSensorParamsWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::VideoSensorParams::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeVideoSensorParamsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::VideoSensorParams::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeVideoSensorParamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::VideoSensorParams::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeNightVisionCapableWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVisionCapable::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeNightVisionCapableWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVisionCapable::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeNightVisionCapableWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVisionCapable::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMinViewPortWidthWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MinViewPortWidth::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMinViewPortWidthWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MinViewPortWidth::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMinViewPortWidthWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MinViewPortWidth::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMinViewPortHeightWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MinViewPortHeight::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMinViewPortHeightWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MinViewPortHeight::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMinViewPortHeightWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MinViewPortHeight::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeRateDistortionTradeOffPointsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::RateDistortionTradeOffPoints::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeRateDistortionTradeOffPointsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::RateDistortionTradeOffPoints::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeRateDistortionTradeOffPointsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::RateDistortionTradeOffPoints::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMaxPreRollBufferSizeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxPreRollBufferSize::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMaxPreRollBufferSizeWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxPreRollBufferSize::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMaxPreRollBufferSizeWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxPreRollBufferSize::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMicrophoneCapabilitiesWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicrophoneCapabilities::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMicrophoneCapabilitiesWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicrophoneCapabilities::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMicrophoneCapabilitiesWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicrophoneCapabilities::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSpeakerCapabilitiesWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpeakerCapabilities::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeSpeakerCapabilitiesWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpeakerCapabilities::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSpeakerCapabilitiesWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpeakerCapabilities::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeTwoWayTalkSupportWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::TwoWayTalkSupport::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeTwoWayTalkSupportWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::TwoWayTalkSupport::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeTwoWayTalkSupportWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::TwoWayTalkSupport::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSupportedSnapshotParamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SupportedSnapshotParams::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeSupportedSnapshotParamsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SupportedSnapshotParams::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSupportedSnapshotParamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SupportedSnapshotParams::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeHDRCapableWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HDRCapable::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeHDRCapableWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HDRCapable::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeHDRCapableWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HDRCapable::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMaxNetworkBandwidthWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxNetworkBandwidth::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMaxNetworkBandwidthWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxNetworkBandwidth::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMaxNetworkBandwidthWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MaxNetworkBandwidth::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeCurrentFrameRateWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentFrameRate::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeCurrentFrameRateWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentFrameRate::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeCurrentFrameRateWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentFrameRate::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeHDRModeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HDRMode::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeHDRModeWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeHDRModeWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeHDRModeWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::HDRMode::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeHDRModeWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HDRMode::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeHDRModeWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HDRMode::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeCurrentVideoCodecsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentVideoCodecs::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeCurrentVideoCodecsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentVideoCodecs::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeCurrentVideoCodecsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentVideoCodecs::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeCurrentSnapshotConfigWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentSnapshotConfig::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeCurrentSnapshotConfigWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentSnapshotConfig::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeCurrentSnapshotConfigWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::CurrentSnapshotConfig::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeFabricsUsingCameraWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::FabricsUsingCamera::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeFabricsUsingCameraWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::FabricsUsingCamera::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeFabricsUsingCameraWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::FabricsUsingCamera::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAllocatedVideoStreamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedVideoStreams::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAllocatedVideoStreamsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedVideoStreams::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAllocatedVideoStreamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedVideoStreams::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAllocatedAudioStreamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedAudioStreams::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAllocatedAudioStreamsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedAudioStreams::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAllocatedAudioStreamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedAudioStreams::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAllocatedSnapshotStreamsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedSnapshotStreams::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAllocatedSnapshotStreamsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedSnapshotStreams::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAllocatedSnapshotStreamsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AllocatedSnapshotStreams::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeRankedVideoStreamPrioritiesListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSArray * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSArray * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::TypeInfo; + TypeInfo::Type cppValue; + { + using ListType_0 = std::remove_reference_t; + using ListMemberType_0 = ListMemberTypeGetter::Type; + if (value.count != 0) { + auto * listHolder_0 = new ListHolder(value.count); + if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_0); + for (size_t i_0 = 0; i_0 < value.count; ++i_0) { + if ( ! [value[i_0] isKindOfClass: [NSNumber class]] ) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_0 = (NSNumber *)value[i_0]; + listHolder_0->mList[i_0] = static_castmList[i_0])>>(element_0.unsignedCharValue); + } + cppValue = ListType_0(listHolder_0->mList, value.count); + } else { + cppValue = ListType_0(); + } + } + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeRankedVideoStreamPrioritiesListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeRankedVideoStreamPrioritiesListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSoftRecordingPrivacyModeSettingWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeSoftRecordingPrivacyModeSettingWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSoftRecordingPrivacyModeSettingWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSoftLivestreamPrivacyModeSettingWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeSoftLivestreamPrivacyModeSettingWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSoftLivestreamPrivacyModeSettingWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeHardPrivacyModeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HardPrivacyMode::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeHardPrivacyModeWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HardPrivacyMode::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeHardPrivacyModeWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::HardPrivacyMode::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeNightVisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVision::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeNightVisionWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeNightVisionWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeNightVisionWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::NightVision::TypeInfo; + TypeInfo::Type cppValue; + cppValue = static_cast>(value.unsignedCharValue); + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeNightVisionWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVision::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeNightVisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVision::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeNightVisionIllumWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVisionIllum::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeNightVisionIllumWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeNightVisionIllumWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeNightVisionIllumWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::NightVisionIllum::TypeInfo; + TypeInfo::Type cppValue; + cppValue = static_cast>(value.unsignedCharValue); + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeNightVisionIllumWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVisionIllum::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeNightVisionIllumWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::NightVisionIllum::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAWBWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Awb::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeAWBWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeAWBWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeAWBWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::Awb::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeAWBWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Awb::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAWBWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Awb::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeShutterSpeedWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ShutterSpeed::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeShutterSpeedWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeShutterSpeedWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeShutterSpeedWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::ShutterSpeed::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeShutterSpeedWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ShutterSpeed::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeShutterSpeedWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ShutterSpeed::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeISOWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Iso::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeISOWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeISOWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeISOWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::Iso::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeISOWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Iso::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeISOWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Iso::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeViewportWithCompletion:(void (^)(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Viewport::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeViewportWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Viewport::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeViewportWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::Viewport::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSpkrOnOffWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrOnOff::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeSpkrOnOffWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeSpkrOnOffWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeSpkrOnOffWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrOnOff::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeSpkrOnOffWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrOnOff::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSpkrOnOffWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrOnOff::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSpkrVolumeLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrVolumeLevel::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeSpkrVolumeLevelWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrVolumeLevel::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.unsignedCharValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeSpkrVolumeLevelWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrVolumeLevel::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSpkrVolumeLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrVolumeLevel::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSpkrMaxLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMaxLevel::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeSpkrMaxLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeSpkrMaxLevelWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeSpkrMaxLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMaxLevel::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.unsignedCharValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeSpkrMaxLevelWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMaxLevel::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSpkrMaxLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMaxLevel::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSpkrMinLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMinLevel::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeSpkrMinLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeSpkrMinLevelWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeSpkrMinLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMinLevel::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.unsignedCharValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeSpkrMinLevelWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMinLevel::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSpkrMinLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::SpkrMinLevel::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMicOnOffWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicOnOff::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeMicOnOffWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeMicOnOffWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeMicOnOffWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::MicOnOff::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeMicOnOffWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicOnOff::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMicOnOffWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicOnOff::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMicCurrentLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicCurrentLevel::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeMicCurrentLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeMicCurrentLevelWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeMicCurrentLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::MicCurrentLevel::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.unsignedCharValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeMicCurrentLevelWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicCurrentLevel::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMicCurrentLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicCurrentLevel::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMicMaxLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicMaxLevel::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeMicMaxLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeMicMaxLevelWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeMicMaxLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::MicMaxLevel::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.unsignedCharValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeMicMaxLevelWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicMaxLevel::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMicMaxLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicMaxLevel::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMicMinLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicMinLevel::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeMicMinLevelWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeMicMinLevelWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeMicMinLevelWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::MicMinLevel::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.unsignedCharValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeMicMinLevelWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicMinLevel::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMicMinLevelWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicMinLevel::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMicAGCWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicAGC::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeMicAGCWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeMicAGCWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeMicAGCWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::MicAGC::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeMicAGCWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicAGC::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMicAGCWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::MicAGC::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeImageRotationWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageRotation::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeImageRotationWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageRotation::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeImageRotationWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageRotation::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeImageFlipHorizontalWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageFlipHorizontal::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeImageFlipHorizontalWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageFlipHorizontal::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeImageFlipHorizontalWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageFlipHorizontal::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeImageFlipVerticalWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageFlipVertical::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeImageFlipVerticalWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageFlipVertical::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeImageFlipVerticalWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ImageFlipVertical::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeLocalVideoRecordingEnabledWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeLocalVideoRecordingEnabledWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeLocalVideoRecordingEnabledWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeLocalVideoRecordingEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeLocalSnapshotRecordingEnabledWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeLocalSnapshotRecordingEnabledWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeLocalSnapshotRecordingEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeStatusLightWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLight::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeStatusLightWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeStatusLightWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeStatusLightWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLight::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeStatusLightWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLight::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeStatusLightWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLight::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeStatusLightBrightnessWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLightBrightness::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeStatusLightBrightnessWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeStatusLightBrightnessWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeStatusLightBrightnessWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLightBrightness::TypeInfo; + TypeInfo::Type cppValue; + cppValue = static_cast>(value.unsignedCharValue); + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeStatusLightBrightnessWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLightBrightness::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeStatusLightBrightnessWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::StatusLightBrightness::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeDepthSensorStatusWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::DepthSensorStatus::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeDepthSensorStatusWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeDepthSensorStatusWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeDepthSensorStatusWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::DepthSensorStatus::TypeInfo; + TypeInfo::Type cppValue; + cppValue = static_cast>(value.unsignedCharValue); + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeDepthSensorStatusWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::DepthSensorStatus::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeDepthSensorStatusWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::DepthSensorStatus::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeWatermarkEnabledWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::WatermarkEnabled::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeWatermarkEnabledWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeWatermarkEnabledWithValue:(NSArray * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeWatermarkEnabledWithValue:(NSArray * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::WatermarkEnabled::TypeInfo; + TypeInfo::Type cppValue; + { + using ListType_0 = std::remove_reference_t; + using ListMemberType_0 = ListMemberTypeGetter::Type; + if (value.count != 0) { + auto * listHolder_0 = new ListHolder(value.count); + if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_0); + for (size_t i_0 = 0; i_0 < value.count; ++i_0) { + if ( ! [value[i_0] isKindOfClass: [MTRCameraAVStreamManagementClusterPerStreamStruct class]] ) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_0 = (MTRCameraAVStreamManagementClusterPerStreamStruct *)value[i_0]; + listHolder_0->mList[i_0].streamID = element_0.streamID.unsignedShortValue; + listHolder_0->mList[i_0].onOff = element_0.onOff.boolValue; + } + cppValue = ListType_0(listHolder_0->mList, value.count); + } else { + cppValue = ListType_0(); + } + } + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeWatermarkEnabledWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::WatermarkEnabled::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeWatermarkEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::WatermarkEnabled::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeOSDEnabledWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::OSDEnabled::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeOSDEnabledWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeOSDEnabledWithValue:(NSArray * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeOSDEnabledWithValue:(NSArray * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = CameraAvStreamManagement::Attributes::OSDEnabled::TypeInfo; + TypeInfo::Type cppValue; + { + using ListType_0 = std::remove_reference_t; + using ListMemberType_0 = ListMemberTypeGetter::Type; + if (value.count != 0) { + auto * listHolder_0 = new ListHolder(value.count); + if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_0); + for (size_t i_0 = 0; i_0 < value.count; ++i_0) { + if ( ! [value[i_0] isKindOfClass: [MTRCameraAVStreamManagementClusterPerStreamStruct class]] ) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_0 = (MTRCameraAVStreamManagementClusterPerStreamStruct *)value[i_0]; + listHolder_0->mList[i_0].streamID = element_0.streamID.unsignedShortValue; + listHolder_0->mList[i_0].onOff = element_0.onOff.boolValue; + } + cppValue = ListType_0(listHolder_0->mList, value.count); + } else { + cppValue = ListType_0(); + } + } + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeOSDEnabledWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::OSDEnabled::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeOSDEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::OSDEnabled::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::GeneratedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::GeneratedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::GeneratedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AcceptedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AcceptedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AcceptedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::EventList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::EventList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::EventList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AttributeList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AttributeList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::AttributeList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::FeatureMap::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::FeatureMap::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::FeatureMap::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ClusterRevision::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ClusterRevision::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvStreamManagement::Attributes::ClusterRevision::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +@end + +@implementation MTRBaseClusterCameraAVSettingsUserLevelManagement + +- (void)mptzSetWithCompletion:(MTRStatusCompletion)completion +{ + [self mptzSetWithParams:nil completion:completion]; +} +- (void)mptzSetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::MptzSet::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)mptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)setAsPresetWithCompletion:(MTRStatusCompletion)completion +{ + [self setAsPresetWithParams:nil completion:completion]; +} +- (void)setAsPresetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)dptzSetViewportWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)dptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)readAttributeMptzWithCompletion:(void (^)(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::Mptz::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMptzWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::Mptz::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMptzWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::Mptz::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMaxPresetsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::MaxPresets::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMaxPresetsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::MaxPresets::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMaxPresetsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::MaxPresets::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributePresetMptzTableWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::PresetMptzTable::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributePresetMptzTableWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::PresetMptzTable::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributePresetMptzTableWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::PresetMptzTable::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeMptzRelativeMoveWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::MptzRelativeMove::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeMptzRelativeMoveWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::MptzRelativeMove::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeMptzRelativeMoveWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::MptzRelativeMove::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeDptzRelativeMoveWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::DptzRelativeMove::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeDptzRelativeMoveWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::DptzRelativeMove::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeDptzRelativeMoveWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::DptzRelativeMove::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::GeneratedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::GeneratedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::GeneratedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::AcceptedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::AcceptedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::AcceptedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::EventList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::EventList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::EventList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::AttributeList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::AttributeList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::AttributeList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::FeatureMap::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::FeatureMap::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::FeatureMap::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::ClusterRevision::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::ClusterRevision::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = CameraAvSettingsUserLevelManagement::Attributes::ClusterRevision::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +@end + +@implementation MTRBaseClusterWebRTCTransportProvider + +- (void)webRTCSolicitOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams *)params completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)webRTCProvideOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams *)params completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCProvideOffer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)webRTCProvideAnswerWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)webRTCProvideICECandidateWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)webRTCEndSessionWithParams:(MTRWebRTCTransportProviderClusterWebRTCEndSessionParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCEndSessionParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCEndSession::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)readAttributeCurrentSessionsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::CurrentSessions::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeCurrentSessionsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportProvider::Attributes::CurrentSessions::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeCurrentSessionsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::CurrentSessions::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::GeneratedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportProvider::Attributes::GeneratedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::GeneratedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::AcceptedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportProvider::Attributes::AcceptedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::AcceptedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::EventList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportProvider::Attributes::EventList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::EventList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::AttributeList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportProvider::Attributes::AttributeList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::AttributeList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::FeatureMap::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportProvider::Attributes::FeatureMap::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::FeatureMap::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::ClusterRevision::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportProvider::Attributes::ClusterRevision::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportProvider::Attributes::ClusterRevision::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +@end + +@implementation MTRBaseClusterWebRTCTransportRequestor + +- (void)webRTCOfferWithParams:(MTRWebRTCTransportRequestorClusterWebRTCOfferParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCOfferParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCOffer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)webRTCAnswerWithParams:(MTRWebRTCTransportRequestorClusterWebRTCAnswerParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCAnswerParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCAnswer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)webRTCICECandidateWithParams:(MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCICECandidate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)webRTCEndWithParams:(MTRWebRTCTransportRequestorClusterWebRTCEndParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCEndParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCEnd::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)readAttributeCurrentSessionsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::CurrentSessions::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeCurrentSessionsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::CurrentSessions::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeCurrentSessionsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::CurrentSessions::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::GeneratedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::GeneratedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::GeneratedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::AcceptedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::AcceptedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::AcceptedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::EventList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::EventList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::EventList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::AttributeList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::AttributeList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::AttributeList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::FeatureMap::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::FeatureMap::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::FeatureMap::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::ClusterRevision::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::ClusterRevision::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = WebRTCTransportRequestor::Attributes::ClusterRevision::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +@end + +@implementation MTRBaseClusterPushAVStreamTransport + +- (void)allocatePushTransportWithParams:(MTRPushAVStreamTransportClusterAllocatePushTransportParams *)params completion:(void (^)(MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterAllocatePushTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::AllocatePushTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)deallocatePushTransportWithParams:(MTRPushAVStreamTransportClusterDeallocatePushTransportParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterDeallocatePushTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::DeallocatePushTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)modifyPushTransportWithParams:(MTRPushAVStreamTransportClusterModifyPushTransportParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterModifyPushTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::ModifyPushTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)setTransportStatusWithParams:(MTRPushAVStreamTransportClusterSetTransportStatusParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterSetTransportStatusParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::SetTransportStatus::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)manuallyTriggerTransportWithParams:(MTRPushAVStreamTransportClusterManuallyTriggerTransportParams *)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterManuallyTriggerTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::ManuallyTriggerTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} +- (void)findStreamConfigurationWithCompletion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + [self findStreamConfigurationWithParams:nil completion:completion]; +} +- (void)findStreamConfigurationWithParams:(MTRPushAVStreamTransportClusterFindStreamConfigurationParams * _Nullable)params completion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterFindStreamConfigurationParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::FindStreamConfiguration::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)readAttributeSupportedContainerFormatsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::SupportedContainerFormats::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeSupportedContainerFormatsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::SupportedContainerFormats::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSupportedContainerFormatsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::SupportedContainerFormats::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeSupportedIngestMethodsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::SupportedIngestMethods::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeSupportedIngestMethodsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::SupportedIngestMethods::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeSupportedIngestMethodsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::SupportedIngestMethods::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeCurrentConnectionsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::CurrentConnections::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeCurrentConnectionsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::CurrentConnections::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeCurrentConnectionsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::CurrentConnections::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::GeneratedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::GeneratedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::GeneratedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::AcceptedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::AcceptedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::AcceptedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::EventList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::EventList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::EventList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::AttributeList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::AttributeList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::AttributeList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::FeatureMap::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::FeatureMap::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::FeatureMap::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::ClusterRevision::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = PushAvStreamTransport::Attributes::ClusterRevision::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = PushAvStreamTransport::Attributes::ClusterRevision::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +@end + +@implementation MTRBaseClusterChime + +- (void)playChimeSoundWithCompletion:(MTRStatusCompletion)completion +{ + [self playChimeSoundWithParams:nil completion:completion]; +} +- (void)playChimeSoundWithParams:(MTRChimeClusterPlayChimeSoundParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRChimeClusterPlayChimeSoundParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = Chime::Commands::PlayChimeSound::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)readAttributeInstalledChimeSoundsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::InstalledChimeSounds::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeInstalledChimeSoundsWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::InstalledChimeSounds::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeInstalledChimeSoundsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::InstalledChimeSounds::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeActiveChimeSoundIdWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::ActiveChimeSoundId::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeActiveChimeSoundIdWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = Chime::Attributes::ActiveChimeSoundId::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.unsignedCharValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeActiveChimeSoundIdWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::ActiveChimeSoundId::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeActiveChimeSoundIdWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::ActiveChimeSoundId::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeEnabledWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::Enabled::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)writeAttributeEnabledWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion +{ + [self writeAttributeEnabledWithValue:(NSNumber * _Nonnull) value params:nil completion:completion]; +} +- (void)writeAttributeEnabledWithValue:(NSNumber * _Nonnull)value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion +{ + // Make a copy of params before we go async. + params = [params copy]; + value = [value copy]; + + auto * bridge = new MTRDefaultSuccessCallbackBridge(self.callbackQueue, ^(id _Nullable ignored, NSError * _Nullable error) { completion(error); }, ^(ExchangeManager & exchangeManager, const SessionHandle & session, DefaultSuccessCallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) { + chip::Optional timedWriteTimeout; + if (params != nil) { + if (params.timedWriteTimeout != nil){ + timedWriteTimeout.SetValue(params.timedWriteTimeout.unsignedShortValue); + } + } + + ListFreer listFreer; + using TypeInfo = Chime::Attributes::Enabled::TypeInfo; + TypeInfo::Type cppValue; + cppValue = value.boolValue; + + chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue); + return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); }); + std::move(*bridge).DispatchAction(self.device); +} + +- (void)subscribeAttributeEnabledWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::Enabled::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeEnabledWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::Enabled::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::GeneratedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::GeneratedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeGeneratedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::GeneratedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAcceptedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::AcceptedCommandList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAcceptedCommandListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::AcceptedCommandList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAcceptedCommandListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::AcceptedCommandList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeEventListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::EventList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeEventListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::EventList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeEventListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::EventList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeAttributeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::AttributeList::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeAttributeListWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::AttributeList::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeAttributeListWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::AttributeList::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeFeatureMapWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::FeatureMap::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeFeatureMapWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::FeatureMap::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeFeatureMapWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::FeatureMap::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +- (void)readAttributeClusterRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::ClusterRevision::TypeInfo; + [self.device _readKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:nil + queue:self.callbackQueue + completion:completion]; +} + +- (void)subscribeAttributeClusterRevisionWithParams:(MTRSubscribeParams * _Nonnull)params + subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished + reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler +{ + using TypeInfo = Chime::Attributes::ClusterRevision::TypeInfo; + [self.device _subscribeToKnownAttributeWithEndpointID:self.endpointID + clusterID:@(TypeInfo::GetClusterId()) + attributeID:@(TypeInfo::GetAttributeId()) + params:params + queue:self.callbackQueue + reportHandler:reportHandler + subscriptionEstablished:subscriptionEstablished]; +} + ++ (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion +{ + using TypeInfo = Chime::Attributes::ClusterRevision::TypeInfo; + [clusterStateCacheContainer + _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue]) + clusterID:TypeInfo::GetClusterId() + attributeID:TypeInfo::GetAttributeId() + queue:queue + completion:completion]; +} + +@end + @implementation MTRBaseClusterEcosystemInformation - (void)readAttributeDeviceDirectoryWithParams:(MTRReadParams * _Nullable)params completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h index 3ab34174b53453..4cbd73e84e0599 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h @@ -204,6 +204,12 @@ typedef NS_ENUM(uint32_t, MTRClusterIDType) { MTRClusterIDTypeAccountLoginID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x0000050E, MTRClusterIDTypeContentControlID MTR_PROVISIONALLY_AVAILABLE = 0x0000050F, MTRClusterIDTypeContentAppObserverID MTR_PROVISIONALLY_AVAILABLE = 0x00000510, + MTRClusterIDTypeCameraAVStreamManagementID MTR_PROVISIONALLY_AVAILABLE = 0x00000551, + MTRClusterIDTypeCameraAVSettingsUserLevelManagementID MTR_PROVISIONALLY_AVAILABLE = 0x00000552, + MTRClusterIDTypeWebRTCTransportProviderID MTR_PROVISIONALLY_AVAILABLE = 0x00000553, + MTRClusterIDTypeWebRTCTransportRequestorID MTR_PROVISIONALLY_AVAILABLE = 0x00000554, + MTRClusterIDTypePushAVStreamTransportID MTR_PROVISIONALLY_AVAILABLE = 0x00000555, + MTRClusterIDTypeChimeID MTR_PROVISIONALLY_AVAILABLE = 0x00000556, MTRClusterIDTypeEcosystemInformationID MTR_PROVISIONALLY_AVAILABLE = 0x00000750, MTRClusterIDTypeCommissionerControlID MTR_PROVISIONALLY_AVAILABLE = 0x00000751, MTRClusterIDTypeElectricalMeasurementID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000B04, @@ -4896,6 +4902,118 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) { MTRAttributeIDTypeClusterContentAppObserverAttributeFeatureMapID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeFeatureMapID, MTRAttributeIDTypeClusterContentAppObserverAttributeClusterRevisionID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeClusterRevisionID, + // Cluster CameraAVStreamManagement attributes + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxConcurrentVideoEncodersID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxEncodedPixelRateID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeVideoSensorParamsID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionCapableID MTR_PROVISIONALLY_AVAILABLE = 0x00000003, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMinViewPortWidthID MTR_PROVISIONALLY_AVAILABLE = 0x00000004, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMinViewPortHeightID MTR_PROVISIONALLY_AVAILABLE = 0x00000005, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeRateDistortionTradeOffPointsID MTR_PROVISIONALLY_AVAILABLE = 0x00000006, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxPreRollBufferSizeID MTR_PROVISIONALLY_AVAILABLE = 0x00000007, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicrophoneCapabilitiesID MTR_PROVISIONALLY_AVAILABLE = 0x00000008, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpeakerCapabilitiesID MTR_PROVISIONALLY_AVAILABLE = 0x00000009, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeTwoWayTalkSupportID MTR_PROVISIONALLY_AVAILABLE = 0x0000000A, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSupportedSnapshotParamsID MTR_PROVISIONALLY_AVAILABLE = 0x0000000B, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHDRCapableID MTR_PROVISIONALLY_AVAILABLE = 0x0000000C, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxNetworkBandwidthID MTR_PROVISIONALLY_AVAILABLE = 0x0000000D, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentFrameRateID MTR_PROVISIONALLY_AVAILABLE = 0x0000000E, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHDRModeID MTR_PROVISIONALLY_AVAILABLE = 0x0000000F, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentVideoCodecsID MTR_PROVISIONALLY_AVAILABLE = 0x00000010, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentSnapshotConfigID MTR_PROVISIONALLY_AVAILABLE = 0x00000011, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeFabricsUsingCameraID MTR_PROVISIONALLY_AVAILABLE = 0x00000012, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedVideoStreamsID MTR_PROVISIONALLY_AVAILABLE = 0x00000013, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedAudioStreamsID MTR_PROVISIONALLY_AVAILABLE = 0x00000014, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedSnapshotStreamsID MTR_PROVISIONALLY_AVAILABLE = 0x00000015, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeRankedVideoStreamPrioritiesListID MTR_PROVISIONALLY_AVAILABLE = 0x00000016, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftRecordingPrivacyModeSettingID MTR_PROVISIONALLY_AVAILABLE = 0x00000017, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftLivestreamPrivacyModeSettingID MTR_PROVISIONALLY_AVAILABLE = 0x00000018, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHardPrivacyModeID MTR_PROVISIONALLY_AVAILABLE = 0x00000019, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionID MTR_PROVISIONALLY_AVAILABLE = 0x0000001A, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionIllumID MTR_PROVISIONALLY_AVAILABLE = 0x0000001B, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAWBID MTR_PROVISIONALLY_AVAILABLE = 0x0000001C, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeShutterSpeedID MTR_PROVISIONALLY_AVAILABLE = 0x0000001D, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeISOID MTR_PROVISIONALLY_AVAILABLE = 0x0000001E, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeViewportID MTR_PROVISIONALLY_AVAILABLE = 0x0000001F, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrOnOffID MTR_PROVISIONALLY_AVAILABLE = 0x00000020, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrVolumeLevelID MTR_PROVISIONALLY_AVAILABLE = 0x00000021, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMaxLevelID MTR_PROVISIONALLY_AVAILABLE = 0x00000022, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMinLevelID MTR_PROVISIONALLY_AVAILABLE = 0x00000023, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicOnOffID MTR_PROVISIONALLY_AVAILABLE = 0x00000024, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicCurrentLevelID MTR_PROVISIONALLY_AVAILABLE = 0x00000025, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMaxLevelID MTR_PROVISIONALLY_AVAILABLE = 0x00000026, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMinLevelID MTR_PROVISIONALLY_AVAILABLE = 0x00000027, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicAGCID MTR_PROVISIONALLY_AVAILABLE = 0x00000028, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageRotationID MTR_PROVISIONALLY_AVAILABLE = 0x00000029, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageFlipHorizontalID MTR_PROVISIONALLY_AVAILABLE = 0x0000002A, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageFlipVerticalID MTR_PROVISIONALLY_AVAILABLE = 0x0000002B, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalVideoRecordingEnabledID MTR_PROVISIONALLY_AVAILABLE = 0x0000002C, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalSnapshotRecordingEnabledID MTR_PROVISIONALLY_AVAILABLE = 0x0000002D, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightID MTR_PROVISIONALLY_AVAILABLE = 0x0000002E, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightBrightnessID MTR_PROVISIONALLY_AVAILABLE = 0x0000002F, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeDepthSensorStatusID MTR_PROVISIONALLY_AVAILABLE = 0x00000030, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeWatermarkEnabledID MTR_PROVISIONALLY_AVAILABLE = 0x00000031, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeOSDEnabledID MTR_PROVISIONALLY_AVAILABLE = 0x00000032, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAttributeListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAttributeListID, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeFeatureMapID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeFeatureMapID, + MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeClusterRevisionID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeClusterRevisionID, + + // Cluster CameraAVSettingsUserLevelManagement attributes + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMptzID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMaxPresetsID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributePresetMptzTableID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMptzRelativeMoveID MTR_PROVISIONALLY_AVAILABLE = 0x00000003, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeDptzRelativeMoveID MTR_PROVISIONALLY_AVAILABLE = 0x00000004, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAttributeListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAttributeListID, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeFeatureMapID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeFeatureMapID, + MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeClusterRevisionID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeClusterRevisionID, + + // Cluster WebRTCTransportProvider attributes + MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeCurrentSessionsID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID, + MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID, + MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID, + MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeAttributeListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAttributeListID, + MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeFeatureMapID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeFeatureMapID, + MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeClusterRevisionID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeClusterRevisionID, + + // Cluster WebRTCTransportRequestor attributes + MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeCurrentSessionsID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID, + MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID, + MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID, + MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeAttributeListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAttributeListID, + MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeFeatureMapID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeFeatureMapID, + MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeClusterRevisionID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeClusterRevisionID, + + // Cluster PushAVStreamTransport attributes + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeSupportedContainerFormatsID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeSupportedIngestMethodsID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeCurrentConnectionsID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeAttributeListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAttributeListID, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeFeatureMapID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeFeatureMapID, + MTRAttributeIDTypeClusterPushAVStreamTransportAttributeClusterRevisionID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeClusterRevisionID, + + // Cluster Chime attributes + MTRAttributeIDTypeClusterChimeAttributeInstalledChimeSoundsID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRAttributeIDTypeClusterChimeAttributeActiveChimeSoundIdID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRAttributeIDTypeClusterChimeAttributeEnabledID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRAttributeIDTypeClusterChimeAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID, + MTRAttributeIDTypeClusterChimeAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID, + MTRAttributeIDTypeClusterChimeAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID, + MTRAttributeIDTypeClusterChimeAttributeAttributeListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAttributeListID, + MTRAttributeIDTypeClusterChimeAttributeFeatureMapID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeFeatureMapID, + MTRAttributeIDTypeClusterChimeAttributeClusterRevisionID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeClusterRevisionID, + // Cluster EcosystemInformation attributes MTRAttributeIDTypeClusterEcosystemInformationAttributeDeviceDirectoryID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, MTRAttributeIDTypeClusterEcosystemInformationAttributeLocationDirectoryID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, @@ -6947,6 +7065,60 @@ typedef NS_ENUM(uint32_t, MTRCommandIDType) { MTRCommandIDTypeClusterContentAppObserverCommandContentAppMessageID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, MTRCommandIDTypeClusterContentAppObserverCommandContentAppMessageResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + // Cluster CameraAVStreamManagement commands + MTRCommandIDTypeClusterCameraAVStreamManagementCommandAudioStreamAllocateID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandAudioStreamAllocateResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandAudioStreamDeallocateID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandVideoStreamAllocateID MTR_PROVISIONALLY_AVAILABLE = 0x00000003, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandVideoStreamAllocateResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000004, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandVideoStreamModifyID MTR_PROVISIONALLY_AVAILABLE = 0x00000005, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandVideoStreamDeallocateID MTR_PROVISIONALLY_AVAILABLE = 0x00000006, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSnapshotStreamAllocateID MTR_PROVISIONALLY_AVAILABLE = 0x00000007, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSnapshotStreamAllocateResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000008, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSnapshotStreamDeallocateID MTR_PROVISIONALLY_AVAILABLE = 0x00000009, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSetStreamPriorityID MTR_PROVISIONALLY_AVAILABLE = 0x0000000A, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandCaptureSnapshotID MTR_PROVISIONALLY_AVAILABLE = 0x0000000B, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandCaptureSnapshotResponseID MTR_PROVISIONALLY_AVAILABLE = 0x0000000C, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSetViewportID MTR_PROVISIONALLY_AVAILABLE = 0x0000000D, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSetImageRotationID MTR_PROVISIONALLY_AVAILABLE = 0x0000000E, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSetImageFlipHorizontalID MTR_PROVISIONALLY_AVAILABLE = 0x0000000F, + MTRCommandIDTypeClusterCameraAVStreamManagementCommandSetImageFlipVerticalID MTR_PROVISIONALLY_AVAILABLE = 0x00000010, + + // Cluster CameraAVSettingsUserLevelManagement commands + MTRCommandIDTypeClusterCameraAVSettingsUserLevelManagementCommandMptzSetID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRCommandIDTypeClusterCameraAVSettingsUserLevelManagementCommandMptzRelativeMoveID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRCommandIDTypeClusterCameraAVSettingsUserLevelManagementCommandSetAsPresetID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRCommandIDTypeClusterCameraAVSettingsUserLevelManagementCommandDptzSetViewportID MTR_PROVISIONALLY_AVAILABLE = 0x00000003, + MTRCommandIDTypeClusterCameraAVSettingsUserLevelManagementCommandDptzRelativeMoveID MTR_PROVISIONALLY_AVAILABLE = 0x00000004, + + // Cluster WebRTCTransportProvider commands + MTRCommandIDTypeClusterWebRTCTransportProviderCommandWebRTCSolicitOfferID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRCommandIDTypeClusterWebRTCTransportProviderCommandWebRTCSolicitOfferResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRCommandIDTypeClusterWebRTCTransportProviderCommandWebRTCProvideOfferID MTR_PROVISIONALLY_AVAILABLE = 0x00000003, + MTRCommandIDTypeClusterWebRTCTransportProviderCommandWebRTCProvideOfferResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000004, + MTRCommandIDTypeClusterWebRTCTransportProviderCommandWebRTCProvideAnswerID MTR_PROVISIONALLY_AVAILABLE = 0x00000005, + MTRCommandIDTypeClusterWebRTCTransportProviderCommandWebRTCProvideICECandidateID MTR_PROVISIONALLY_AVAILABLE = 0x00000006, + MTRCommandIDTypeClusterWebRTCTransportProviderCommandWebRTCEndSessionID MTR_PROVISIONALLY_AVAILABLE = 0x00000007, + + // Cluster WebRTCTransportRequestor commands + MTRCommandIDTypeClusterWebRTCTransportRequestorCommandWebRTCOfferID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRCommandIDTypeClusterWebRTCTransportRequestorCommandWebRTCAnswerID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRCommandIDTypeClusterWebRTCTransportRequestorCommandWebRTCICECandidateID MTR_PROVISIONALLY_AVAILABLE = 0x00000003, + MTRCommandIDTypeClusterWebRTCTransportRequestorCommandWebRTCEndID MTR_PROVISIONALLY_AVAILABLE = 0x00000004, + + // Cluster PushAVStreamTransport commands + MTRCommandIDTypeClusterPushAVStreamTransportCommandAllocatePushTransportID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTRCommandIDTypeClusterPushAVStreamTransportCommandAllocatePushTransportResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTRCommandIDTypeClusterPushAVStreamTransportCommandDeallocatePushTransportID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + MTRCommandIDTypeClusterPushAVStreamTransportCommandModifyPushTransportID MTR_PROVISIONALLY_AVAILABLE = 0x00000003, + MTRCommandIDTypeClusterPushAVStreamTransportCommandSetTransportStatusID MTR_PROVISIONALLY_AVAILABLE = 0x00000004, + MTRCommandIDTypeClusterPushAVStreamTransportCommandManuallyTriggerTransportID MTR_PROVISIONALLY_AVAILABLE = 0x00000005, + MTRCommandIDTypeClusterPushAVStreamTransportCommandFindStreamConfigurationID MTR_PROVISIONALLY_AVAILABLE = 0x00000006, + MTRCommandIDTypeClusterPushAVStreamTransportCommandFindStreamConfigurationResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000007, + + // Cluster Chime commands + MTRCommandIDTypeClusterChimeCommandPlayChimeSoundID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + // Cluster CommissionerControl commands MTRCommandIDTypeClusterCommissionerControlCommandRequestCommissioningApprovalID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, MTRCommandIDTypeClusterCommissionerControlCommandCommissionNodeID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, @@ -7517,6 +7689,15 @@ typedef NS_ENUM(uint32_t, MTREventIDType) { // Cluster ContentControl events MTREventIDTypeClusterContentControlEventRemainingScreenTimeExpiredID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + // Cluster CameraAVStreamManagement events + MTREventIDTypeClusterCameraAVStreamManagementEventVideoStreamChangedID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTREventIDTypeClusterCameraAVStreamManagementEventAudioStreamChangedID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + MTREventIDTypeClusterCameraAVStreamManagementEventSnapshotStreamChangedID MTR_PROVISIONALLY_AVAILABLE = 0x00000002, + + // Cluster PushAVStreamTransport events + MTREventIDTypeClusterPushAVStreamTransportEventPushTransportBeginID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, + MTREventIDTypeClusterPushAVStreamTransportEventPushTransportEndID MTR_PROVISIONALLY_AVAILABLE = 0x00000001, + // Cluster CommissionerControl events MTREventIDTypeClusterCommissionerControlEventCommissioningRequestResultID MTR_PROVISIONALLY_AVAILABLE = 0x00000000, diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm index f5beab931c57fa..2c53ef33294d4e 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm @@ -378,6 +378,24 @@ case MTRClusterIDTypeContentAppObserverID: result = @"ContentAppObserver"; break; + case MTRClusterIDTypeCameraAVStreamManagementID: + result = @"CameraAVStreamManagement"; + break; + case MTRClusterIDTypeCameraAVSettingsUserLevelManagementID: + result = @"CameraAVSettingsUserLevelManagement"; + break; + case MTRClusterIDTypeWebRTCTransportProviderID: + result = @"WebRTCTransportProvider"; + break; + case MTRClusterIDTypeWebRTCTransportRequestorID: + result = @"WebRTCTransportRequestor"; + break; + case MTRClusterIDTypePushAVStreamTransportID: + result = @"PushAVStreamTransport"; + break; + case MTRClusterIDTypeChimeID: + result = @"Chime"; + break; case MTRClusterIDTypeEcosystemInformationID: result = @"EcosystemInformation"; break; @@ -8337,6 +8355,472 @@ } break; + case MTRClusterIDTypeCameraAVStreamManagementID: + + switch (attributeID) { + + // Cluster CameraAVStreamManagement attributes + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxConcurrentVideoEncodersID: + result = @"MaxConcurrentVideoEncoders"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxEncodedPixelRateID: + result = @"MaxEncodedPixelRate"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeVideoSensorParamsID: + result = @"VideoSensorParams"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionCapableID: + result = @"NightVisionCapable"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMinViewPortWidthID: + result = @"MinViewPortWidth"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMinViewPortHeightID: + result = @"MinViewPortHeight"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeRateDistortionTradeOffPointsID: + result = @"RateDistortionTradeOffPoints"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxPreRollBufferSizeID: + result = @"MaxPreRollBufferSize"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicrophoneCapabilitiesID: + result = @"MicrophoneCapabilities"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpeakerCapabilitiesID: + result = @"SpeakerCapabilities"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeTwoWayTalkSupportID: + result = @"TwoWayTalkSupport"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSupportedSnapshotParamsID: + result = @"SupportedSnapshotParams"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHDRCapableID: + result = @"HDRCapable"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxNetworkBandwidthID: + result = @"MaxNetworkBandwidth"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentFrameRateID: + result = @"CurrentFrameRate"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHDRModeID: + result = @"HDRMode"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentVideoCodecsID: + result = @"CurrentVideoCodecs"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentSnapshotConfigID: + result = @"CurrentSnapshotConfig"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeFabricsUsingCameraID: + result = @"FabricsUsingCamera"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedVideoStreamsID: + result = @"AllocatedVideoStreams"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedAudioStreamsID: + result = @"AllocatedAudioStreams"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedSnapshotStreamsID: + result = @"AllocatedSnapshotStreams"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeRankedVideoStreamPrioritiesListID: + result = @"RankedVideoStreamPrioritiesList"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftRecordingPrivacyModeSettingID: + result = @"SoftRecordingPrivacyModeSetting"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftLivestreamPrivacyModeSettingID: + result = @"SoftLivestreamPrivacyModeSetting"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHardPrivacyModeID: + result = @"HardPrivacyMode"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionID: + result = @"NightVision"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionIllumID: + result = @"NightVisionIllum"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAWBID: + result = @"AWB"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeShutterSpeedID: + result = @"ShutterSpeed"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeISOID: + result = @"ISO"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeViewportID: + result = @"Viewport"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrOnOffID: + result = @"SpkrOnOff"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrVolumeLevelID: + result = @"SpkrVolumeLevel"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMaxLevelID: + result = @"SpkrMaxLevel"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMinLevelID: + result = @"SpkrMinLevel"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicOnOffID: + result = @"MicOnOff"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicCurrentLevelID: + result = @"MicCurrentLevel"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMaxLevelID: + result = @"MicMaxLevel"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMinLevelID: + result = @"MicMinLevel"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicAGCID: + result = @"MicAGC"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageRotationID: + result = @"ImageRotation"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageFlipHorizontalID: + result = @"ImageFlipHorizontal"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageFlipVerticalID: + result = @"ImageFlipVertical"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalVideoRecordingEnabledID: + result = @"LocalVideoRecordingEnabled"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalSnapshotRecordingEnabledID: + result = @"LocalSnapshotRecordingEnabled"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightID: + result = @"StatusLight"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightBrightnessID: + result = @"StatusLightBrightness"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeDepthSensorStatusID: + result = @"DepthSensorStatus"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeWatermarkEnabledID: + result = @"WatermarkEnabled"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeOSDEnabledID: + result = @"OSDEnabled"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeGeneratedCommandListID: + result = @"GeneratedCommandList"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAcceptedCommandListID: + result = @"AcceptedCommandList"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeEventListID: + result = @"EventList"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAttributeListID: + result = @"AttributeList"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeFeatureMapID: + result = @"FeatureMap"; + break; + + case MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeClusterRevisionID: + result = @"ClusterRevision"; + break; + + default: + result = [NSString stringWithFormat:@"", attributeID]; + break; + } + break; + + case MTRClusterIDTypeCameraAVSettingsUserLevelManagementID: + + switch (attributeID) { + + // Cluster CameraAVSettingsUserLevelManagement attributes + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMptzID: + result = @"Mptz"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMaxPresetsID: + result = @"MaxPresets"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributePresetMptzTableID: + result = @"PresetMptzTable"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMptzRelativeMoveID: + result = @"MptzRelativeMove"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeDptzRelativeMoveID: + result = @"DptzRelativeMove"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeGeneratedCommandListID: + result = @"GeneratedCommandList"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAcceptedCommandListID: + result = @"AcceptedCommandList"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeEventListID: + result = @"EventList"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAttributeListID: + result = @"AttributeList"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeFeatureMapID: + result = @"FeatureMap"; + break; + + case MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeClusterRevisionID: + result = @"ClusterRevision"; + break; + + default: + result = [NSString stringWithFormat:@"", attributeID]; + break; + } + break; + + case MTRClusterIDTypeWebRTCTransportProviderID: + + switch (attributeID) { + + // Cluster WebRTCTransportProvider attributes + case MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeCurrentSessionsID: + result = @"CurrentSessions"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeGeneratedCommandListID: + result = @"GeneratedCommandList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeAcceptedCommandListID: + result = @"AcceptedCommandList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeEventListID: + result = @"EventList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeAttributeListID: + result = @"AttributeList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeFeatureMapID: + result = @"FeatureMap"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeClusterRevisionID: + result = @"ClusterRevision"; + break; + + default: + result = [NSString stringWithFormat:@"", attributeID]; + break; + } + break; + + case MTRClusterIDTypeWebRTCTransportRequestorID: + + switch (attributeID) { + + // Cluster WebRTCTransportRequestor attributes + case MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeCurrentSessionsID: + result = @"CurrentSessions"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeGeneratedCommandListID: + result = @"GeneratedCommandList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeAcceptedCommandListID: + result = @"AcceptedCommandList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeEventListID: + result = @"EventList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeAttributeListID: + result = @"AttributeList"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeFeatureMapID: + result = @"FeatureMap"; + break; + + case MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeClusterRevisionID: + result = @"ClusterRevision"; + break; + + default: + result = [NSString stringWithFormat:@"", attributeID]; + break; + } + break; + + case MTRClusterIDTypePushAVStreamTransportID: + + switch (attributeID) { + + // Cluster PushAVStreamTransport attributes + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeSupportedContainerFormatsID: + result = @"SupportedContainerFormats"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeSupportedIngestMethodsID: + result = @"SupportedIngestMethods"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeCurrentConnectionsID: + result = @"CurrentConnections"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeGeneratedCommandListID: + result = @"GeneratedCommandList"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeAcceptedCommandListID: + result = @"AcceptedCommandList"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeEventListID: + result = @"EventList"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeAttributeListID: + result = @"AttributeList"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeFeatureMapID: + result = @"FeatureMap"; + break; + + case MTRAttributeIDTypeClusterPushAVStreamTransportAttributeClusterRevisionID: + result = @"ClusterRevision"; + break; + + default: + result = [NSString stringWithFormat:@"", attributeID]; + break; + } + break; + + case MTRClusterIDTypeChimeID: + + switch (attributeID) { + + // Cluster Chime attributes + case MTRAttributeIDTypeClusterChimeAttributeInstalledChimeSoundsID: + result = @"InstalledChimeSounds"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeActiveChimeSoundIdID: + result = @"ActiveChimeSoundId"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeEnabledID: + result = @"Enabled"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeGeneratedCommandListID: + result = @"GeneratedCommandList"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeAcceptedCommandListID: + result = @"AcceptedCommandList"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeEventListID: + result = @"EventList"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeAttributeListID: + result = @"AttributeList"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeFeatureMapID: + result = @"FeatureMap"; + break; + + case MTRAttributeIDTypeClusterChimeAttributeClusterRevisionID: + result = @"ClusterRevision"; + break; + + default: + result = [NSString stringWithFormat:@"", attributeID]; + break; + } + break; + case MTRClusterIDTypeEcosystemInformationID: switch (attributeID) { @@ -11065,6 +11549,88 @@ } break; + case MTRClusterIDTypeCameraAVStreamManagementID: + + switch (eventID) { + + // Cluster CameraAVStreamManagement events + case MTREventIDTypeClusterCameraAVStreamManagementEventVideoStreamChangedID: + result = @"VideoStreamChanged"; + break; + + case MTREventIDTypeClusterCameraAVStreamManagementEventAudioStreamChangedID: + result = @"AudioStreamChanged"; + break; + + case MTREventIDTypeClusterCameraAVStreamManagementEventSnapshotStreamChangedID: + result = @"SnapshotStreamChanged"; + break; + + default: + result = [NSString stringWithFormat:@"", eventID]; + break; + } + break; + + case MTRClusterIDTypeCameraAVSettingsUserLevelManagementID: + + switch (eventID) { + + default: + result = [NSString stringWithFormat:@"", eventID]; + break; + } + break; + + case MTRClusterIDTypeWebRTCTransportProviderID: + + switch (eventID) { + + default: + result = [NSString stringWithFormat:@"", eventID]; + break; + } + break; + + case MTRClusterIDTypeWebRTCTransportRequestorID: + + switch (eventID) { + + default: + result = [NSString stringWithFormat:@"", eventID]; + break; + } + break; + + case MTRClusterIDTypePushAVStreamTransportID: + + switch (eventID) { + + // Cluster PushAVStreamTransport events + case MTREventIDTypeClusterPushAVStreamTransportEventPushTransportBeginID: + result = @"PushTransportBegin"; + break; + + case MTREventIDTypeClusterPushAVStreamTransportEventPushTransportEndID: + result = @"PushTransportEnd"; + break; + + default: + result = [NSString stringWithFormat:@"", eventID]; + break; + } + break; + + case MTRClusterIDTypeChimeID: + + switch (eventID) { + + default: + result = [NSString stringWithFormat:@"", eventID]; + break; + } + break; + case MTRClusterIDTypeEcosystemInformationID: switch (eventID) { diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h index e2197784a01237..4fabee00f0ffcd 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h @@ -7005,6 +7005,455 @@ MTR_PROVISIONALLY_AVAILABLE @end +/** + * Cluster Camera AV Stream Management + * This cluster is used to allow clients to manage, control, and configure various + audio, video, and snapshot streams on a camera. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterCameraAVStreamManagement : MTRGenericCluster + +- (void)audioStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamAllocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)audioStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)videoStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamAllocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)videoStreamModifyWithParams:(MTRCameraAVStreamManagementClusterVideoStreamModifyParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)videoStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)snapshotStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)snapshotStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setStreamPriorityWithParams:(MTRCameraAVStreamManagementClusterSetStreamPriorityParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setStreamPriorityWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; +- (void)captureSnapshotWithParams:(MTRCameraAVStreamManagementClusterCaptureSnapshotParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setViewportWithParams:(MTRCameraAVStreamManagementClusterSetViewportParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setImageRotationWithParams:(MTRCameraAVStreamManagementClusterSetImageRotationParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setImageFlipHorizontalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setImageFlipVerticalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMaxConcurrentVideoEncodersWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMaxEncodedPixelRateWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeVideoSensorParamsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeNightVisionCapableWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMinViewPortWidthWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMinViewPortHeightWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeRateDistortionTradeOffPointsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMaxPreRollBufferSizeWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMicrophoneCapabilitiesWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSpeakerCapabilitiesWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeTwoWayTalkSupportWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSupportedSnapshotParamsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeHDRCapableWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMaxNetworkBandwidthWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeCurrentFrameRateWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeHDRModeWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeHDRModeWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeHDRModeWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeCurrentVideoCodecsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeCurrentSnapshotConfigWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeFabricsUsingCameraWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAllocatedVideoStreamsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAllocatedAudioStreamsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAllocatedSnapshotStreamsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeRankedVideoStreamPrioritiesListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSoftRecordingPrivacyModeSettingWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSoftLivestreamPrivacyModeSettingWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeHardPrivacyModeWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeNightVisionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeNightVisionIllumWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionIllumWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeNightVisionIllumWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAWBWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeAWBWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeAWBWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeShutterSpeedWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeShutterSpeedWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeShutterSpeedWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeISOWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeISOWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeISOWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeViewportWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSpkrOnOffWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSpkrVolumeLevelWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSpkrMaxLevelWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSpkrMinLevelWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeSpkrMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMicOnOffWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMicCurrentLevelWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicCurrentLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicCurrentLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMicMaxLevelWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMicMinLevelWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMicAGCWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicAGCWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeMicAGCWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeImageRotationWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeImageFlipHorizontalWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeImageFlipVerticalWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeLocalVideoRecordingEnabledWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeLocalSnapshotRecordingEnabledWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeStatusLightWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeStatusLightBrightnessWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightBrightnessWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeStatusLightBrightnessWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeDepthSensorStatusWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeDepthSensorStatusWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeDepthSensorStatusWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeWatermarkEnabledWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeWatermarkEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeWatermarkEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeOSDEnabledWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeOSDEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeOSDEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRClusterCameraAVStreamManagement (Availability) + +/** + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Camera AV Settings User Level Management + * This cluster provides an interface into controls associated with the operation of a device that provides pan, tilt, and zoom functions, either mechanically, or against a digital image. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterCameraAVSettingsUserLevelManagement : MTRGenericCluster + +- (void)mptzSetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)mptzSetWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; +- (void)mptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setAsPresetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setAsPresetWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; +- (void)dptzSetViewportWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)dptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMptzWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMaxPresetsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributePresetMptzTableWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeMptzRelativeMoveWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeDptzRelativeMoveWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRClusterCameraAVSettingsUserLevelManagement (Availability) + +/** + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster WebRTC Transport Provider + * The WebRTC transport provider cluster provides a way for stream providers (e.g. Cameras) to stream or receive their data through WebRTC. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterWebRTCTransportProvider : MTRGenericCluster + +- (void)webRTCSolicitOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)webRTCProvideOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)webRTCProvideAnswerWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)webRTCProvideICECandidateWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)webRTCEndSessionWithParams:(MTRWebRTCTransportProviderClusterWebRTCEndSessionParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeCurrentSessionsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRClusterWebRTCTransportProvider (Availability) + +/** + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster WebRTC Transport Requestor + * The WebRTC transport requestor cluster provides a way for stream consumers (e.g. Matter Stream Viewer) to establish a WebRTC connection with a stream provider that implements the WebRTC Transport Provider Cluster + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterWebRTCTransportRequestor : MTRGenericCluster + +- (void)webRTCOfferWithParams:(MTRWebRTCTransportRequestorClusterWebRTCOfferParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)webRTCAnswerWithParams:(MTRWebRTCTransportRequestorClusterWebRTCAnswerParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)webRTCICECandidateWithParams:(MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)webRTCEndWithParams:(MTRWebRTCTransportRequestorClusterWebRTCEndParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeCurrentSessionsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRClusterWebRTCTransportRequestor (Availability) + +/** + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Push AV Stream Transport + * This cluster implements the upload of Audio and Video streams from the Camera AV Stream Management Cluster using suitable push-based transports. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterPushAVStreamTransport : MTRGenericCluster + +- (void)allocatePushTransportWithParams:(MTRPushAVStreamTransportClusterAllocatePushTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)deallocatePushTransportWithParams:(MTRPushAVStreamTransportClusterDeallocatePushTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)modifyPushTransportWithParams:(MTRPushAVStreamTransportClusterModifyPushTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setTransportStatusWithParams:(MTRPushAVStreamTransportClusterSetTransportStatusParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)manuallyTriggerTransportWithParams:(MTRPushAVStreamTransportClusterManuallyTriggerTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)findStreamConfigurationWithParams:(MTRPushAVStreamTransportClusterFindStreamConfigurationParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)findStreamConfigurationWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion + MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSupportedContainerFormatsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeSupportedIngestMethodsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeCurrentConnectionsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRClusterPushAVStreamTransport (Availability) + +/** + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Chime + * This cluster provides facilities to configure and play Chime sounds, such as those used in a doorbell. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterChime : MTRGenericCluster + +- (void)playChimeSoundWithParams:(MTRChimeClusterPlayChimeSoundParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)playChimeSoundWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion + MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeInstalledChimeSoundsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeActiveChimeSoundIdWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeEnabledWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_PROVISIONALLY_AVAILABLE; +- (void)writeAttributeEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +@end + +@interface MTRClusterChime (Availability) + +/** + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + /** * Cluster Ecosystem Information * Provides extended device information for all the logical devices represented by a Bridged Node. diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm index 26d1ec95ecf1f6..a24a65df3952a9 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm @@ -19998,6 +19998,1765 @@ - (void)contentAppMessageWithParams:(MTRContentAppObserverClusterContentAppMessa @end +@implementation MTRClusterCameraAVStreamManagement + +- (void)audioStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamAllocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterAudioStreamAllocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::AudioStreamAllocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)audioStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::AudioStreamDeallocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)videoStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamAllocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterVideoStreamAllocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::VideoStreamAllocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)videoStreamModifyWithParams:(MTRCameraAVStreamManagementClusterVideoStreamModifyParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterVideoStreamModifyParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::VideoStreamModify::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)videoStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::VideoStreamDeallocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)snapshotStreamAllocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)snapshotStreamDeallocateWithParams:(MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)setStreamPriorityWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + [self setStreamPriorityWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; +} +- (void)setStreamPriorityWithParams:(MTRCameraAVStreamManagementClusterSetStreamPriorityParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetStreamPriorityParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetStreamPriority::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)captureSnapshotWithParams:(MTRCameraAVStreamManagementClusterCaptureSnapshotParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterCaptureSnapshotParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::CaptureSnapshot::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)setViewportWithParams:(MTRCameraAVStreamManagementClusterSetViewportParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetViewportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetViewport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)setImageRotationWithParams:(MTRCameraAVStreamManagementClusterSetImageRotationParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetImageRotationParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetImageRotation::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)setImageFlipHorizontalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)setImageFlipVerticalWithParams:(MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvStreamManagement::Commands::SetImageFlipVertical::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (NSDictionary * _Nullable)readAttributeMaxConcurrentVideoEncodersWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxConcurrentVideoEncodersID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMaxEncodedPixelRateWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxEncodedPixelRateID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeVideoSensorParamsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeVideoSensorParamsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeNightVisionCapableWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionCapableID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMinViewPortWidthWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMinViewPortWidthID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMinViewPortHeightWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMinViewPortHeightID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeRateDistortionTradeOffPointsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeRateDistortionTradeOffPointsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMaxPreRollBufferSizeWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxPreRollBufferSizeID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMicrophoneCapabilitiesWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicrophoneCapabilitiesID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeSpeakerCapabilitiesWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpeakerCapabilitiesID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeTwoWayTalkSupportWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeTwoWayTalkSupportID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeSupportedSnapshotParamsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSupportedSnapshotParamsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeHDRCapableWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHDRCapableID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMaxNetworkBandwidthWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMaxNetworkBandwidthID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeCurrentFrameRateWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentFrameRateID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeHDRModeWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHDRModeID) params:params]; +} + +- (void)writeAttributeHDRModeWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeHDRModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeHDRModeWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHDRModeID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeCurrentVideoCodecsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentVideoCodecsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeCurrentSnapshotConfigWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeCurrentSnapshotConfigID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeFabricsUsingCameraWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeFabricsUsingCameraID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAllocatedVideoStreamsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedVideoStreamsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAllocatedAudioStreamsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedAudioStreamsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAllocatedSnapshotStreamsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAllocatedSnapshotStreamsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeRankedVideoStreamPrioritiesListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeRankedVideoStreamPrioritiesListID) params:params]; +} + +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeRankedVideoStreamPrioritiesListWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeRankedVideoStreamPrioritiesListWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeRankedVideoStreamPrioritiesListID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeSoftRecordingPrivacyModeSettingWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftRecordingPrivacyModeSettingID) params:params]; +} + +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeSoftRecordingPrivacyModeSettingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeSoftRecordingPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftRecordingPrivacyModeSettingID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeSoftLivestreamPrivacyModeSettingWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftLivestreamPrivacyModeSettingID) params:params]; +} + +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeSoftLivestreamPrivacyModeSettingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeSoftLivestreamPrivacyModeSettingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSoftLivestreamPrivacyModeSettingID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeHardPrivacyModeWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeHardPrivacyModeID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeNightVisionWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionID) params:params]; +} + +- (void)writeAttributeNightVisionWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeNightVisionWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeNightVisionWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeNightVisionIllumWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionIllumID) params:params]; +} + +- (void)writeAttributeNightVisionIllumWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeNightVisionIllumWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeNightVisionIllumWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeNightVisionIllumID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeAWBWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAWBID) params:params]; +} + +- (void)writeAttributeAWBWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeAWBWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeAWBWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAWBID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeShutterSpeedWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeShutterSpeedID) params:params]; +} + +- (void)writeAttributeShutterSpeedWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeShutterSpeedWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeShutterSpeedWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeShutterSpeedID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeISOWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeISOID) params:params]; +} + +- (void)writeAttributeISOWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeISOWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeISOWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeISOID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeViewportWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeViewportID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeSpkrOnOffWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrOnOffID) params:params]; +} + +- (void)writeAttributeSpkrOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeSpkrOnOffWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeSpkrOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrOnOffID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeSpkrVolumeLevelWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrVolumeLevelID) params:params]; +} + +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeSpkrVolumeLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeSpkrVolumeLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrVolumeLevelID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeSpkrMaxLevelWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMaxLevelID) params:params]; +} + +- (void)writeAttributeSpkrMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeSpkrMaxLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeSpkrMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMaxLevelID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeSpkrMinLevelWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMinLevelID) params:params]; +} + +- (void)writeAttributeSpkrMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeSpkrMinLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeSpkrMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeSpkrMinLevelID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeMicOnOffWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicOnOffID) params:params]; +} + +- (void)writeAttributeMicOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeMicOnOffWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeMicOnOffWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicOnOffID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeMicCurrentLevelWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicCurrentLevelID) params:params]; +} + +- (void)writeAttributeMicCurrentLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeMicCurrentLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeMicCurrentLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicCurrentLevelID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeMicMaxLevelWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMaxLevelID) params:params]; +} + +- (void)writeAttributeMicMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeMicMaxLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeMicMaxLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMaxLevelID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeMicMinLevelWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMinLevelID) params:params]; +} + +- (void)writeAttributeMicMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeMicMinLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeMicMinLevelWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicMinLevelID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeMicAGCWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicAGCID) params:params]; +} + +- (void)writeAttributeMicAGCWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeMicAGCWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeMicAGCWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeMicAGCID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeImageRotationWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageRotationID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeImageFlipHorizontalWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageFlipHorizontalID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeImageFlipVerticalWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeImageFlipVerticalID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeLocalVideoRecordingEnabledWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalVideoRecordingEnabledID) params:params]; +} + +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeLocalVideoRecordingEnabledWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeLocalVideoRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalVideoRecordingEnabledID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeLocalSnapshotRecordingEnabledWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalSnapshotRecordingEnabledID) params:params]; +} + +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeLocalSnapshotRecordingEnabledWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeLocalSnapshotRecordingEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeLocalSnapshotRecordingEnabledID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeStatusLightWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightID) params:params]; +} + +- (void)writeAttributeStatusLightWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeStatusLightWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeStatusLightWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeStatusLightBrightnessWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightBrightnessID) params:params]; +} + +- (void)writeAttributeStatusLightBrightnessWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeStatusLightBrightnessWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeStatusLightBrightnessWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeStatusLightBrightnessID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeDepthSensorStatusWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeDepthSensorStatusID) params:params]; +} + +- (void)writeAttributeDepthSensorStatusWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeDepthSensorStatusWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeDepthSensorStatusWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeDepthSensorStatusID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeWatermarkEnabledWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeWatermarkEnabledID) params:params]; +} + +- (void)writeAttributeWatermarkEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeWatermarkEnabledWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeWatermarkEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeWatermarkEnabledID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeOSDEnabledWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeOSDEnabledID) params:params]; +} + +- (void)writeAttributeOSDEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeOSDEnabledWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeOSDEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeOSDEnabledID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeGeneratedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAcceptedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeEventListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeAttributeListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeFeatureMapID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVStreamManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVStreamManagementAttributeClusterRevisionID) params:params]; +} + +@end + +@implementation MTRClusterCameraAVSettingsUserLevelManagement + +- (void)mptzSetWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + [self mptzSetWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; +} +- (void)mptzSetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::MptzSet::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)mptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)setAsPresetWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + [self setAsPresetWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; +} +- (void)setAsPresetWithParams:(MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)dptzSetViewportWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)dptzRelativeMoveWithParams:(MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (NSDictionary * _Nullable)readAttributeMptzWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMptzID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMaxPresetsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMaxPresetsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributePresetMptzTableWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributePresetMptzTableID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeMptzRelativeMoveWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMptzRelativeMoveID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeDptzRelativeMoveWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeDptzRelativeMoveID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeGeneratedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAcceptedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeEventListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAttributeListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeFeatureMapID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeCameraAVSettingsUserLevelManagementID) attributeID:@(MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeClusterRevisionID) params:params]; +} + +@end + +@implementation MTRClusterWebRTCTransportProvider + +- (void)webRTCSolicitOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)webRTCProvideOfferWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCProvideOffer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)webRTCProvideAnswerWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)webRTCProvideICECandidateWithParams:(MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)webRTCEndSessionWithParams:(MTRWebRTCTransportProviderClusterWebRTCEndSessionParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportProviderClusterWebRTCEndSessionParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportProvider::Commands::WebRTCEndSession::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (NSDictionary * _Nullable)readAttributeCurrentSessionsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportProviderID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeCurrentSessionsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportProviderID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeGeneratedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportProviderID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeAcceptedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportProviderID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeEventListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportProviderID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeAttributeListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportProviderID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeFeatureMapID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportProviderID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportProviderAttributeClusterRevisionID) params:params]; +} + +@end + +@implementation MTRClusterWebRTCTransportRequestor + +- (void)webRTCOfferWithParams:(MTRWebRTCTransportRequestorClusterWebRTCOfferParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCOfferParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCOffer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)webRTCAnswerWithParams:(MTRWebRTCTransportRequestorClusterWebRTCAnswerParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCAnswerParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCAnswer::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)webRTCICECandidateWithParams:(MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCICECandidate::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)webRTCEndWithParams:(MTRWebRTCTransportRequestorClusterWebRTCEndParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRWebRTCTransportRequestorClusterWebRTCEndParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = WebRTCTransportRequestor::Commands::WebRTCEnd::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (NSDictionary * _Nullable)readAttributeCurrentSessionsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportRequestorID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeCurrentSessionsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportRequestorID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeGeneratedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportRequestorID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeAcceptedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportRequestorID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeEventListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportRequestorID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeAttributeListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportRequestorID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeFeatureMapID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeWebRTCTransportRequestorID) attributeID:@(MTRAttributeIDTypeClusterWebRTCTransportRequestorAttributeClusterRevisionID) params:params]; +} + +@end + +@implementation MTRClusterPushAVStreamTransport + +- (void)allocatePushTransportWithParams:(MTRPushAVStreamTransportClusterAllocatePushTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterAllocatePushTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::AllocatePushTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)deallocatePushTransportWithParams:(MTRPushAVStreamTransportClusterDeallocatePushTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterDeallocatePushTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::DeallocatePushTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)modifyPushTransportWithParams:(MTRPushAVStreamTransportClusterModifyPushTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterModifyPushTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::ModifyPushTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)setTransportStatusWithParams:(MTRPushAVStreamTransportClusterSetTransportStatusParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterSetTransportStatusParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::SetTransportStatus::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)manuallyTriggerTransportWithParams:(MTRPushAVStreamTransportClusterManuallyTriggerTransportParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterManuallyTriggerTransportParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::ManuallyTriggerTransport::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (void)findStreamConfigurationWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + [self findStreamConfigurationWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; +} +- (void)findStreamConfigurationWithParams:(MTRPushAVStreamTransportClusterFindStreamConfigurationParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable data, NSError * _Nullable error))completion +{ + if (params == nil) { + params = [[MTRPushAVStreamTransportClusterFindStreamConfigurationParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(response, error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = PushAvStreamTransport::Commands::FindStreamConfiguration::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams.class + queue:self.callbackQueue + completion:responseHandler]; +} + +- (NSDictionary * _Nullable)readAttributeSupportedContainerFormatsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeSupportedContainerFormatsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeSupportedIngestMethodsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeSupportedIngestMethodsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeCurrentConnectionsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeCurrentConnectionsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeGeneratedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeAcceptedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeEventListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeAttributeListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeFeatureMapID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypePushAVStreamTransportID) attributeID:@(MTRAttributeIDTypeClusterPushAVStreamTransportAttributeClusterRevisionID) params:params]; +} + +@end + +@implementation MTRClusterChime + +- (void)playChimeSoundWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + [self playChimeSoundWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; +} +- (void)playChimeSoundWithParams:(MTRChimeClusterPlayChimeSoundParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +{ + if (params == nil) { + params = [[MTRChimeClusterPlayChimeSoundParams + alloc] init]; + } + + auto responseHandler = ^(id _Nullable response, NSError * _Nullable error) { + completion(error); + }; + + auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; + + using RequestType = Chime::Commands::PlayChimeSound::Type; + [self.device _invokeKnownCommandWithEndpointID:self.endpointID + clusterID:@(RequestType::GetClusterId()) + commandID:@(RequestType::GetCommandId()) + commandPayload:params + expectedValues:expectedValues + expectedValueInterval:expectedValueIntervalMs + timedInvokeTimeout:timedInvokeTimeoutMs + serverSideProcessingTimeout:params.serverSideProcessingTimeout + responseClass:nil + queue:self.callbackQueue + completion:responseHandler]; +} + +- (NSDictionary * _Nullable)readAttributeInstalledChimeSoundsWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeInstalledChimeSoundsID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeActiveChimeSoundIdWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeActiveChimeSoundIdID) params:params]; +} + +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeActiveChimeSoundIdWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeActiveChimeSoundIdWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeActiveChimeSoundIdID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeEnabledWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeEnabledID) params:params]; +} + +- (void)writeAttributeEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs +{ + [self writeAttributeEnabledWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil]; +} +- (void)writeAttributeEnabledWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params +{ + NSNumber * timedWriteTimeout = params.timedWriteTimeout; + + [self.device writeAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeEnabledID) value:dataValueDictionary expectedValueInterval:expectedValueIntervalMs timedWriteTimeout:timedWriteTimeout]; +} + +- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeGeneratedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeAcceptedCommandListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeEventListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeEventListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeAttributeListID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeFeatureMapID) params:params]; +} + +- (NSDictionary * _Nullable)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params +{ + return [self.device readAttributeWithEndpointID:self.endpointID clusterID:@(MTRClusterIDTypeChimeID) attributeID:@(MTRAttributeIDTypeClusterChimeAttributeClusterRevisionID) params:params]; +} + +@end + @implementation MTRClusterEcosystemInformation - (NSDictionary * _Nullable)readAttributeDeviceDirectoryWithParams:(MTRReadParams * _Nullable)params diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h index 05bcb8213b6df9..0b89ad2e44dcbe 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h @@ -10891,6 +10891,1296 @@ MTR_PROVISIONALLY_AVAILABLE error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterAudioStreamAllocateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull audioCodec MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull channelCount MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull sampleRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull bitRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull bitDepth MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterVideoStreamAllocateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull videoCodec MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull minFrameRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull maxFrameRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull minResolution MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull maxResolution MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull minBitRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull maxBitRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull minFragmentLen MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull maxFragmentLen MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterVideoStreamModifyParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull resolution MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull imageCodec MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull frameRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull bitRate MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull minResolution MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull maxResolution MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull quality MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSetStreamPriorityParams : 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterCaptureSnapshotParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull requestedResolution MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams : NSObject + +@property (nonatomic, copy) NSData * _Nonnull data MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull imageCodec MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull resolution MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSetViewportParams : NSObject + +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterViewportStruct * _Nonnull viewport MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSetImageRotationParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull angle MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull onOff MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull onOff MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams : NSObject + +@property (nonatomic, copy, getter=getNewPTZ) MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable newPTZ MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable presetID MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull pan MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull tilt MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull zoom MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams : 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRCameraAVSettingsUserLevelManagementClusterViewportStruct * _Nonnull viewport MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull pan MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull tilt MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull zoom MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSArray * _Nullable iceServers MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nullable iceTransportPolicy MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable metadataOptions MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull deferredOffer MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nullable webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSArray * _Nullable iceServers MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nullable iceTransportPolicy MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable metadataOptions MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nonnull iceCandidate MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCEndSessionParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull reason MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportRequestorClusterWebRTCOfferParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSArray * _Nullable iceServers MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nullable iceTransportPolicy MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportRequestorClusterWebRTCAnswerParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSString * _Nonnull iceCandidate MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportRequestorClusterWebRTCEndParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull reason MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterAllocatePushTransportParams : NSObject + +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct * _Nonnull streamTransportOptions MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull connectionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct * _Nonnull streamTransportOptions MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull transportStatus MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterDeallocatePushTransportParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull connectionID MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterModifyPushTransportParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull connectionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct * _Nonnull streamTransportOptions MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterSetTransportStatusParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nullable connectionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nonnull streamTransportStatus MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterManuallyTriggerTransportParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nonnull connectionID MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) NSNumber * _Nullable activationReason MTR_PROVISIONALLY_AVAILABLE; + +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct * _Nullable timeControl MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterFindStreamConfigurationParams : NSObject + +@property (nonatomic, copy) NSNumber * _Nullable connectionID MTR_PROVISIONALLY_AVAILABLE; +/** + * 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams : NSObject + +@property (nonatomic, copy) NSArray * _Nonnull streamConfigurations MTR_PROVISIONALLY_AVAILABLE; + +/** + * Initialize an MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams with a response-value dictionary + * of the sort that MTRDeviceResponseHandler would receive. + * + * Will return nil and hand out an error if the response-value dictionary is not + * a command data response or is not the right command response. + * + * Will return nil and hand out an error if the data response does not match the known + * schema for this command. + */ +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRChimeClusterPlayChimeSoundParams : 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 (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; + +/** + * Controls how much time, in seconds, we will allow for the server to process the command. + * + * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. + * + * If nil, the framework will try to select an appropriate timeout value itself. + */ +@property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; +@end + MTR_PROVISIONALLY_AVAILABLE @interface MTRCommissionerControlClusterRequestCommissioningApprovalParams : NSObject diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm index 87aacfd377eb82..3a98cc905901b5 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm @@ -31475,6 +31475,4489 @@ - (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::ContentA @end +@implementation MTRCameraAVStreamManagementClusterAudioStreamAllocateParams +- (instancetype)init +{ + if (self = [super init]) { + + _streamType = @(0); + + _audioCodec = @(0); + + _channelCount = @(0); + + _sampleRate = @(0); + + _bitRate = @(0); + + _bitDepth = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterAudioStreamAllocateParams alloc] init]; + + other.streamType = self.streamType; + other.audioCodec = self.audioCodec; + other.channelCount = self.channelCount; + other.sampleRate = self.sampleRate; + other.bitRate = self.bitRate; + other.bitDepth = self.bitDepth; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamType:%@; audioCodec:%@; channelCount:%@; sampleRate:%@; bitRate:%@; bitDepth:%@; >", NSStringFromClass([self class]), _streamType, _audioCodec, _channelCount, _sampleRate, _bitRate, _bitDepth]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterAudioStreamAllocateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.streamType = static_cast>(self.streamType.unsignedCharValue); + } + { + encodableStruct.audioCodec = static_cast>(self.audioCodec.unsignedCharValue); + } + { + encodableStruct.channelCount = self.channelCount.unsignedCharValue; + } + { + encodableStruct.sampleRate = self.sampleRate.unsignedIntValue; + } + { + encodableStruct.bitRate = self.bitRate.unsignedIntValue; + } + { + encodableStruct.bitDepth = self.bitDepth.unsignedCharValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _audioStreamID = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams alloc] init]; + + other.audioStreamID = self.audioStreamID; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: audioStreamID:%@; >", NSStringFromClass([self class]), _audioStreamID]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::DecodableType &)decodableStruct +{ + { + self.audioStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.audioStreamID]; + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams +- (instancetype)init +{ + if (self = [super init]) { + + _audioStreamID = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams alloc] init]; + + other.audioStreamID = self.audioStreamID; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: audioStreamID:%@; >", NSStringFromClass([self class]), _audioStreamID]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.audioStreamID = self.audioStreamID.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamAllocateParams +- (instancetype)init +{ + if (self = [super init]) { + + _streamType = @(0); + + _videoCodec = @(0); + + _minFrameRate = @(0); + + _maxFrameRate = @(0); + + _minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _minBitRate = @(0); + + _maxBitRate = @(0); + + _minFragmentLen = @(0); + + _maxFragmentLen = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterVideoStreamAllocateParams alloc] init]; + + other.streamType = self.streamType; + other.videoCodec = self.videoCodec; + other.minFrameRate = self.minFrameRate; + other.maxFrameRate = self.maxFrameRate; + other.minResolution = self.minResolution; + other.maxResolution = self.maxResolution; + other.minBitRate = self.minBitRate; + other.maxBitRate = self.maxBitRate; + other.minFragmentLen = self.minFragmentLen; + other.maxFragmentLen = self.maxFragmentLen; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamType:%@; videoCodec:%@; minFrameRate:%@; maxFrameRate:%@; minResolution:%@; maxResolution:%@; minBitRate:%@; maxBitRate:%@; minFragmentLen:%@; maxFragmentLen:%@; >", NSStringFromClass([self class]), _streamType, _videoCodec, _minFrameRate, _maxFrameRate, _minResolution, _maxResolution, _minBitRate, _maxBitRate, _minFragmentLen, _maxFragmentLen]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamAllocateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.streamType = static_cast>(self.streamType.unsignedCharValue); + } + { + encodableStruct.videoCodec = static_cast>(self.videoCodec.unsignedCharValue); + } + { + encodableStruct.minFrameRate = self.minFrameRate.unsignedShortValue; + } + { + encodableStruct.maxFrameRate = self.maxFrameRate.unsignedShortValue; + } + { + } + { + } + { + encodableStruct.minBitRate = self.minBitRate.unsignedIntValue; + } + { + encodableStruct.maxBitRate = self.maxBitRate.unsignedIntValue; + } + { + encodableStruct.minFragmentLen = self.minFragmentLen.unsignedShortValue; + } + { + encodableStruct.maxFragmentLen = self.maxFragmentLen.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _videoStreamID = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams alloc] init]; + + other.videoStreamID = self.videoStreamID; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: videoStreamID:%@; >", NSStringFromClass([self class]), _videoStreamID]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::DecodableType &)decodableStruct +{ + { + self.videoStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.videoStreamID]; + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamModifyParams +- (instancetype)init +{ + if (self = [super init]) { + + _videoStreamID = @(0); + + _resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterVideoStreamModifyParams alloc] init]; + + other.videoStreamID = self.videoStreamID; + other.resolution = self.resolution; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: videoStreamID:%@; resolution:%@; >", NSStringFromClass([self class]), _videoStreamID, _resolution]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamModifyParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.videoStreamID = self.videoStreamID.unsignedShortValue; + } + { + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams +- (instancetype)init +{ + if (self = [super init]) { + + _videoStreamID = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams alloc] init]; + + other.videoStreamID = self.videoStreamID; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: videoStreamID:%@; >", NSStringFromClass([self class]), _videoStreamID]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.videoStreamID = self.videoStreamID.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams +- (instancetype)init +{ + if (self = [super init]) { + + _imageCodec = @(0); + + _frameRate = @(0); + + _bitRate = @(0); + + _minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _quality = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams alloc] init]; + + other.imageCodec = self.imageCodec; + other.frameRate = self.frameRate; + other.bitRate = self.bitRate; + other.minResolution = self.minResolution; + other.maxResolution = self.maxResolution; + other.quality = self.quality; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: imageCodec:%@; frameRate:%@; bitRate:%@; minResolution:%@; maxResolution:%@; quality:%@; >", NSStringFromClass([self class]), _imageCodec, _frameRate, _bitRate, _minResolution, _maxResolution, _quality]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.imageCodec = static_cast>(self.imageCodec.unsignedCharValue); + } + { + encodableStruct.frameRate = self.frameRate.unsignedShortValue; + } + { + encodableStruct.bitRate = self.bitRate.unsignedIntValue; + } + { + } + { + } + { + encodableStruct.quality = self.quality.unsignedCharValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _snapshotStreamID = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams alloc] init]; + + other.snapshotStreamID = self.snapshotStreamID; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: snapshotStreamID:%@; >", NSStringFromClass([self class]), _snapshotStreamID]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::DecodableType &)decodableStruct +{ + { + self.snapshotStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.snapshotStreamID]; + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams +- (instancetype)init +{ + if (self = [super init]) { + + _snapshotStreamID = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams alloc] init]; + + other.snapshotStreamID = self.snapshotStreamID; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: snapshotStreamID:%@; >", NSStringFromClass([self class]), _snapshotStreamID]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.snapshotStreamID = self.snapshotStreamID.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterSetStreamPriorityParams +- (instancetype)init +{ + if (self = [super init]) { + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSetStreamPriorityParams alloc] init]; + + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSetStreamPriorityParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::SetStreamPriority::Type encodableStruct; + ListFreer listFreer; + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterCaptureSnapshotParams +- (instancetype)init +{ + if (self = [super init]) { + + _snapshotStreamID = @(0); + + _requestedResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterCaptureSnapshotParams alloc] init]; + + other.snapshotStreamID = self.snapshotStreamID; + other.requestedResolution = self.requestedResolution; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: snapshotStreamID:%@; requestedResolution:%@; >", NSStringFromClass([self class]), _snapshotStreamID, _requestedResolution]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterCaptureSnapshotParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.snapshotStreamID = self.snapshotStreamID.unsignedShortValue; + } + { + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _data = [NSData data]; + + _imageCodec = @(0); + + _resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams alloc] init]; + + other.data = self.data; + other.imageCodec = self.imageCodec; + other.resolution = self.resolution; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: data:%@; imageCodec:%@; resolution:%@; >", NSStringFromClass([self class]), [_data base64EncodedStringWithOptions:0], _imageCodec, _resolution]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshotResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshotResponse::DecodableType &)decodableStruct +{ + { + self.data = AsData(decodableStruct.data); + } + { + self.imageCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.imageCodec)]; + } + { + self.resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSetViewportParams +- (instancetype)init +{ + if (self = [super init]) { + + _viewport = [MTRCameraAVStreamManagementClusterViewportStruct new]; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSetViewportParams alloc] init]; + + other.viewport = self.viewport; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: viewport:%@; >", NSStringFromClass([self class]), _viewport]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSetViewportParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.viewport.x1 = self.viewport.x1.unsignedShortValue; + encodableStruct.viewport.y1 = self.viewport.y1.unsignedShortValue; + encodableStruct.viewport.x2 = self.viewport.x2.unsignedShortValue; + encodableStruct.viewport.y2 = self.viewport.y2.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterSetImageRotationParams +- (instancetype)init +{ + if (self = [super init]) { + + _angle = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSetImageRotationParams alloc] init]; + + other.angle = self.angle; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: angle:%@; >", NSStringFromClass([self class]), _angle]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSetImageRotationParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.angle = self.angle.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams +- (instancetype)init +{ + if (self = [super init]) { + + _onOff = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams alloc] init]; + + other.onOff = self.onOff; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: onOff:%@; >", NSStringFromClass([self class]), _onOff]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.onOff = self.onOff.boolValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams +- (instancetype)init +{ + if (self = [super init]) { + + _onOff = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams alloc] init]; + + other.onOff = self.onOff; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: onOff:%@; >", NSStringFromClass([self class]), _onOff]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.onOff = self.onOff.boolValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams +- (instancetype)init +{ + if (self = [super init]) { + + _newPTZ = nil; + + _presetID = nil; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams alloc] init]; + + other.newPTZ = self.newPTZ; + other.presetID = self.presetID; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: newPTZ:%@; presetID:%@; >", NSStringFromClass([self class]), _newPTZ, _presetID]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::Type encodableStruct; + ListFreer listFreer; + { + if (self.newPTZ != nil) { + auto & definedValue_0 = encodableStruct.newPTZ.Emplace(); + if (self.newPTZ.mPan != nil) { + auto & definedValue_2 = definedValue_0.MPan.Emplace(); + if (self.newPTZ.mPan == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3 = self.newPTZ.mPan.shortValue; + } + } + if (self.newPTZ.mTilt != nil) { + auto & definedValue_2 = definedValue_0.MTilt.Emplace(); + if (self.newPTZ.mTilt == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3 = self.newPTZ.mTilt.charValue; + } + } + if (self.newPTZ.mZoom != nil) { + auto & definedValue_2 = definedValue_0.MZoom.Emplace(); + if (self.newPTZ.mZoom == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3 = self.newPTZ.mZoom.unsignedShortValue; + } + } + } + } + { + if (self.presetID != nil) { + auto & definedValue_0 = encodableStruct.presetID.Emplace(); + definedValue_0 = self.presetID.unsignedCharValue; + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams +- (instancetype)init +{ + if (self = [super init]) { + + _pan = @(0); + + _tilt = @(0); + + _zoom = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams alloc] init]; + + other.pan = self.pan; + other.tilt = self.tilt; + other.zoom = self.zoom; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: pan:%@; tilt:%@; zoom:%@; >", NSStringFromClass([self class]), _pan, _tilt, _zoom]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.pan = self.pan.shortValue; + } + { + encodableStruct.tilt = self.tilt.shortValue; + } + { + encodableStruct.zoom = self.zoom.shortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams +- (instancetype)init +{ + if (self = [super init]) { + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams alloc] init]; + + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Type encodableStruct; + ListFreer listFreer; + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams +- (instancetype)init +{ + if (self = [super init]) { + + _videoStreamID = @(0); + + _viewport = [MTRCameraAVSettingsUserLevelManagementClusterViewportStruct new]; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams alloc] init]; + + other.videoStreamID = self.videoStreamID; + other.viewport = self.viewport; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: videoStreamID:%@; viewport:%@; >", NSStringFromClass([self class]), _videoStreamID, _viewport]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.videoStreamID = self.videoStreamID.unsignedShortValue; + } + { + encodableStruct.viewport.x1 = self.viewport.x1.unsignedShortValue; + encodableStruct.viewport.y1 = self.viewport.y1.unsignedShortValue; + encodableStruct.viewport.x2 = self.viewport.x2.unsignedShortValue; + encodableStruct.viewport.y2 = self.viewport.y2.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams +- (instancetype)init +{ + if (self = [super init]) { + + _videoStreamID = @(0); + + _pan = @(0); + + _tilt = @(0); + + _zoom = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams alloc] init]; + + other.videoStreamID = self.videoStreamID; + other.pan = self.pan; + other.tilt = self.tilt; + other.zoom = self.zoom; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: videoStreamID:%@; pan:%@; tilt:%@; zoom:%@; >", NSStringFromClass([self class]), _videoStreamID, _pan, _tilt, _zoom]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.videoStreamID = self.videoStreamID.unsignedShortValue; + } + { + encodableStruct.pan = self.pan.shortValue; + } + { + encodableStruct.tilt = self.tilt.shortValue; + } + { + encodableStruct.zoom = self.zoom.charValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams +- (instancetype)init +{ + if (self = [super init]) { + + _streamType = @(0); + + _videoStreamID = nil; + + _audioStreamID = nil; + + _iceServers = nil; + + _iceTransportPolicy = nil; + + _metadataOptions = nil; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams alloc] init]; + + other.streamType = self.streamType; + other.videoStreamID = self.videoStreamID; + other.audioStreamID = self.audioStreamID; + other.iceServers = self.iceServers; + other.iceTransportPolicy = self.iceTransportPolicy; + other.metadataOptions = self.metadataOptions; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamType:%@; videoStreamID:%@; audioStreamID:%@; iceServers:%@; iceTransportPolicy:%@; metadataOptions:%@; >", NSStringFromClass([self class]), _streamType, _videoStreamID, _audioStreamID, _iceServers, _iceTransportPolicy, _metadataOptions]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.streamType = static_cast>(self.streamType.unsignedCharValue); + } + { + if (self.videoStreamID != nil) { + auto & definedValue_0 = encodableStruct.videoStreamID.Emplace(); + if (self.videoStreamID == nil) { + definedValue_0.SetNull(); + } else { + auto & nonNullValue_1 = definedValue_0.SetNonNull(); + nonNullValue_1 = self.videoStreamID.unsignedShortValue; + } + } + } + { + if (self.audioStreamID != nil) { + auto & definedValue_0 = encodableStruct.audioStreamID.Emplace(); + if (self.audioStreamID == nil) { + definedValue_0.SetNull(); + } else { + auto & nonNullValue_1 = definedValue_0.SetNonNull(); + nonNullValue_1 = self.audioStreamID.unsignedShortValue; + } + } + } + { + if (self.iceServers != nil) { + auto & definedValue_0 = encodableStruct.ICEServers.Emplace(); + { + using ListType_1 = std::remove_reference_t; + using ListMemberType_1 = ListMemberTypeGetter::Type; + if (self.iceServers.count != 0) { + auto * listHolder_1 = new ListHolder(self.iceServers.count); + if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_1); + for (size_t i_1 = 0; i_1 < self.iceServers.count; ++i_1) { + if (![self.iceServers[i_1] isKindOfClass:[MTRWebRTCTransportProviderClusterICEServerStruct class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_1 = (MTRWebRTCTransportProviderClusterICEServerStruct *) self.iceServers[i_1]; + { + using ListType_3 = std::remove_reference_tmList[i_1].urls)>; + using ListMemberType_3 = ListMemberTypeGetter::Type; + if (element_1.urls.count != 0) { + auto * listHolder_3 = new ListHolder(element_1.urls.count); + if (listHolder_3 == nullptr || listHolder_3->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_3); + for (size_t i_3 = 0; i_3 < element_1.urls.count; ++i_3) { + if (![element_1.urls[i_3] isKindOfClass:[NSString class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_3 = (NSString *) element_1.urls[i_3]; + listHolder_3->mList[i_3] = AsCharSpan(element_3); + } + listHolder_1->mList[i_1].urls = ListType_3(listHolder_3->mList, element_1.urls.count); + } else { + listHolder_1->mList[i_1].urls = ListType_3(); + } + } + if (element_1.username != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].username.Emplace(); + definedValue_3 = AsCharSpan(element_1.username); + } + if (element_1.credential != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].credential.Emplace(); + definedValue_3 = AsCharSpan(element_1.credential); + } + if (element_1.caid != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].caid.Emplace(); + definedValue_3 = element_1.caid.unsignedShortValue; + } + } + definedValue_0 = ListType_1(listHolder_1->mList, self.iceServers.count); + } else { + definedValue_0 = ListType_1(); + } + } + } + } + { + if (self.iceTransportPolicy != nil) { + auto & definedValue_0 = encodableStruct.ICETransportPolicy.Emplace(); + definedValue_0 = AsCharSpan(self.iceTransportPolicy); + } + } + { + if (self.metadataOptions != nil) { + auto & definedValue_0 = encodableStruct.metadataOptions.Emplace(); + definedValue_0 = static_cast>(self.metadataOptions.unsignedCharValue); + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _deferredOffer = @(0); + + _videoStreamID = nil; + + _audioStreamID = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.deferredOffer = self.deferredOffer; + other.videoStreamID = self.videoStreamID; + other.audioStreamID = self.audioStreamID; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; deferredOffer:%@; videoStreamID:%@; audioStreamID:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _deferredOffer, _videoStreamID, _audioStreamID]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::DecodableType &)decodableStruct +{ + { + self.webRTCSessionID = [NSNumber numberWithUnsignedShort:decodableStruct.webRTCSessionID]; + } + { + self.deferredOffer = [NSNumber numberWithBool:decodableStruct.deferredOffer]; + } + { + if (decodableStruct.videoStreamID.HasValue()) { + if (decodableStruct.videoStreamID.Value().IsNull()) { + self.videoStreamID = nil; + } else { + self.videoStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.videoStreamID.Value().Value()]; + } + } else { + self.videoStreamID = nil; + } + } + { + if (decodableStruct.audioStreamID.HasValue()) { + if (decodableStruct.audioStreamID.Value().IsNull()) { + self.audioStreamID = nil; + } else { + self.audioStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.audioStreamID.Value().Value()]; + } + } else { + self.audioStreamID = nil; + } + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = nil; + + _sdp = @""; + + _streamType = @(0); + + _videoStreamID = nil; + + _audioStreamID = nil; + + _iceServers = nil; + + _iceTransportPolicy = nil; + + _metadataOptions = nil; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.sdp = self.sdp; + other.streamType = self.streamType; + other.videoStreamID = self.videoStreamID; + other.audioStreamID = self.audioStreamID; + other.iceServers = self.iceServers; + other.iceTransportPolicy = self.iceTransportPolicy; + other.metadataOptions = self.metadataOptions; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; sdp:%@; streamType:%@; videoStreamID:%@; audioStreamID:%@; iceServers:%@; iceTransportPolicy:%@; metadataOptions:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _sdp, _streamType, _videoStreamID, _audioStreamID, _iceServers, _iceTransportPolicy, _metadataOptions]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::Type encodableStruct; + ListFreer listFreer; + { + if (self.webRTCSessionID == nil) { + encodableStruct.webRTCSessionID.SetNull(); + } else { + auto & nonNullValue_0 = encodableStruct.webRTCSessionID.SetNonNull(); + nonNullValue_0 = self.webRTCSessionID.unsignedShortValue; + } + } + { + encodableStruct.sdp = AsCharSpan(self.sdp); + } + { + encodableStruct.streamType = static_cast>(self.streamType.unsignedCharValue); + } + { + if (self.videoStreamID != nil) { + auto & definedValue_0 = encodableStruct.videoStreamID.Emplace(); + if (self.videoStreamID == nil) { + definedValue_0.SetNull(); + } else { + auto & nonNullValue_1 = definedValue_0.SetNonNull(); + nonNullValue_1 = self.videoStreamID.unsignedShortValue; + } + } + } + { + if (self.audioStreamID != nil) { + auto & definedValue_0 = encodableStruct.audioStreamID.Emplace(); + if (self.audioStreamID == nil) { + definedValue_0.SetNull(); + } else { + auto & nonNullValue_1 = definedValue_0.SetNonNull(); + nonNullValue_1 = self.audioStreamID.unsignedShortValue; + } + } + } + { + if (self.iceServers != nil) { + auto & definedValue_0 = encodableStruct.ICEServers.Emplace(); + { + using ListType_1 = std::remove_reference_t; + using ListMemberType_1 = ListMemberTypeGetter::Type; + if (self.iceServers.count != 0) { + auto * listHolder_1 = new ListHolder(self.iceServers.count); + if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_1); + for (size_t i_1 = 0; i_1 < self.iceServers.count; ++i_1) { + if (![self.iceServers[i_1] isKindOfClass:[MTRWebRTCTransportProviderClusterICEServerStruct class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_1 = (MTRWebRTCTransportProviderClusterICEServerStruct *) self.iceServers[i_1]; + { + using ListType_3 = std::remove_reference_tmList[i_1].urls)>; + using ListMemberType_3 = ListMemberTypeGetter::Type; + if (element_1.urls.count != 0) { + auto * listHolder_3 = new ListHolder(element_1.urls.count); + if (listHolder_3 == nullptr || listHolder_3->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_3); + for (size_t i_3 = 0; i_3 < element_1.urls.count; ++i_3) { + if (![element_1.urls[i_3] isKindOfClass:[NSString class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_3 = (NSString *) element_1.urls[i_3]; + listHolder_3->mList[i_3] = AsCharSpan(element_3); + } + listHolder_1->mList[i_1].urls = ListType_3(listHolder_3->mList, element_1.urls.count); + } else { + listHolder_1->mList[i_1].urls = ListType_3(); + } + } + if (element_1.username != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].username.Emplace(); + definedValue_3 = AsCharSpan(element_1.username); + } + if (element_1.credential != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].credential.Emplace(); + definedValue_3 = AsCharSpan(element_1.credential); + } + if (element_1.caid != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].caid.Emplace(); + definedValue_3 = element_1.caid.unsignedShortValue; + } + } + definedValue_0 = ListType_1(listHolder_1->mList, self.iceServers.count); + } else { + definedValue_0 = ListType_1(); + } + } + } + } + { + if (self.iceTransportPolicy != nil) { + auto & definedValue_0 = encodableStruct.ICETransportPolicy.Emplace(); + definedValue_0 = AsCharSpan(self.iceTransportPolicy); + } + } + { + if (self.metadataOptions != nil) { + auto & definedValue_0 = encodableStruct.metadataOptions.Emplace(); + definedValue_0 = static_cast>(self.metadataOptions.unsignedCharValue); + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _videoStreamID = @(0); + + _audioStreamID = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.videoStreamID = self.videoStreamID; + other.audioStreamID = self.audioStreamID; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; videoStreamID:%@; audioStreamID:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _videoStreamID, _audioStreamID]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::DecodableType &)decodableStruct +{ + { + self.webRTCSessionID = [NSNumber numberWithUnsignedShort:decodableStruct.webRTCSessionID]; + } + { + self.videoStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.videoStreamID]; + } + { + self.audioStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.audioStreamID]; + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _sdp = @""; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.sdp = self.sdp; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; sdp:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _sdp]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.webRTCSessionID = self.webRTCSessionID.unsignedShortValue; + } + { + encodableStruct.sdp = AsCharSpan(self.sdp); + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _iceCandidate = @""; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.iceCandidate = self.iceCandidate; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; iceCandidate:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _iceCandidate]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.webRTCSessionID = self.webRTCSessionID.unsignedShortValue; + } + { + encodableStruct.ICECandidate = AsCharSpan(self.iceCandidate); + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCEndSessionParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _reason = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCEndSessionParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.reason = self.reason; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; reason:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _reason]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCEndSessionParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.webRTCSessionID = self.webRTCSessionID.unsignedShortValue; + } + { + encodableStruct.reason = static_cast>(self.reason.unsignedCharValue); + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCOfferParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _sdp = @""; + + _iceServers = nil; + + _iceTransportPolicy = nil; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportRequestorClusterWebRTCOfferParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.sdp = self.sdp; + other.iceServers = self.iceServers; + other.iceTransportPolicy = self.iceTransportPolicy; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; sdp:%@; iceServers:%@; iceTransportPolicy:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _sdp, _iceServers, _iceTransportPolicy]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCOfferParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.webRTCSessionID = self.webRTCSessionID.unsignedShortValue; + } + { + encodableStruct.sdp = AsCharSpan(self.sdp); + } + { + if (self.iceServers != nil) { + auto & definedValue_0 = encodableStruct.ICEServers.Emplace(); + { + using ListType_1 = std::remove_reference_t; + using ListMemberType_1 = ListMemberTypeGetter::Type; + if (self.iceServers.count != 0) { + auto * listHolder_1 = new ListHolder(self.iceServers.count); + if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_1); + for (size_t i_1 = 0; i_1 < self.iceServers.count; ++i_1) { + if (![self.iceServers[i_1] isKindOfClass:[MTRWebRTCTransportRequestorClusterICEServerStruct class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_1 = (MTRWebRTCTransportRequestorClusterICEServerStruct *) self.iceServers[i_1]; + { + using ListType_3 = std::remove_reference_tmList[i_1].urls)>; + using ListMemberType_3 = ListMemberTypeGetter::Type; + if (element_1.urls.count != 0) { + auto * listHolder_3 = new ListHolder(element_1.urls.count); + if (listHolder_3 == nullptr || listHolder_3->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_3); + for (size_t i_3 = 0; i_3 < element_1.urls.count; ++i_3) { + if (![element_1.urls[i_3] isKindOfClass:[NSString class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_3 = (NSString *) element_1.urls[i_3]; + listHolder_3->mList[i_3] = AsCharSpan(element_3); + } + listHolder_1->mList[i_1].urls = ListType_3(listHolder_3->mList, element_1.urls.count); + } else { + listHolder_1->mList[i_1].urls = ListType_3(); + } + } + if (element_1.username != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].username.Emplace(); + definedValue_3 = AsCharSpan(element_1.username); + } + if (element_1.credential != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].credential.Emplace(); + definedValue_3 = AsCharSpan(element_1.credential); + } + if (element_1.caid != nil) { + auto & definedValue_3 = listHolder_1->mList[i_1].caid.Emplace(); + definedValue_3 = element_1.caid.unsignedShortValue; + } + } + definedValue_0 = ListType_1(listHolder_1->mList, self.iceServers.count); + } else { + definedValue_0 = ListType_1(); + } + } + } + } + { + if (self.iceTransportPolicy != nil) { + auto & definedValue_0 = encodableStruct.ICETransportPolicy.Emplace(); + definedValue_0 = AsCharSpan(self.iceTransportPolicy); + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCAnswerParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _sdp = @""; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportRequestorClusterWebRTCAnswerParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.sdp = self.sdp; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; sdp:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _sdp]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCAnswerParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.webRTCSessionID = self.webRTCSessionID.unsignedShortValue; + } + { + encodableStruct.sdp = AsCharSpan(self.sdp); + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _iceCandidate = @""; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.iceCandidate = self.iceCandidate; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; iceCandidate:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _iceCandidate]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.webRTCSessionID = self.webRTCSessionID.unsignedShortValue; + } + { + encodableStruct.ICECandidate = AsCharSpan(self.iceCandidate); + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCEndParams +- (instancetype)init +{ + if (self = [super init]) { + + _webRTCSessionID = @(0); + + _reason = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRWebRTCTransportRequestorClusterWebRTCEndParams alloc] init]; + + other.webRTCSessionID = self.webRTCSessionID; + other.reason = self.reason; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: webRTCSessionID:%@; reason:%@; >", NSStringFromClass([self class]), _webRTCSessionID, _reason]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCEndParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.webRTCSessionID = self.webRTCSessionID.unsignedShortValue; + } + { + encodableStruct.reason = static_cast>(self.reason.unsignedCharValue); + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRPushAVStreamTransportClusterAllocatePushTransportParams +- (instancetype)init +{ + if (self = [super init]) { + + _streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterAllocatePushTransportParams alloc] init]; + + other.streamTransportOptions = self.streamTransportOptions; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamTransportOptions:%@; >", NSStringFromClass([self class]), _streamTransportOptions]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterAllocatePushTransportParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.streamTransportOptions.streamType = static_cast>(self.streamTransportOptions.streamType.unsignedCharValue); + if (self.streamTransportOptions.videoStreamID != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.videoStreamID.Emplace(); + if (self.streamTransportOptions.videoStreamID == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2 = self.streamTransportOptions.videoStreamID.unsignedShortValue; + } + } + if (self.streamTransportOptions.audioStreamID != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.audioStreamID.Emplace(); + if (self.streamTransportOptions.audioStreamID == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2 = self.streamTransportOptions.audioStreamID.unsignedShortValue; + } + } + encodableStruct.streamTransportOptions.TLSEndpointID = self.streamTransportOptions.tlsEndpointID.unsignedShortValue; + encodableStruct.streamTransportOptions.url = AsCharSpan(self.streamTransportOptions.url); + encodableStruct.streamTransportOptions.triggerOptions.triggerType = static_cast>(self.streamTransportOptions.triggerOptions.triggerType.unsignedCharValue); + if (self.streamTransportOptions.triggerOptions.motionZones != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.motionZones.Emplace(); + if (self.streamTransportOptions.triggerOptions.motionZones == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + { + using ListType_4 = std::remove_reference_t; + using ListMemberType_4 = ListMemberTypeGetter::Type; + if (self.streamTransportOptions.triggerOptions.motionZones.count != 0) { + auto * listHolder_4 = new ListHolder(self.streamTransportOptions.triggerOptions.motionZones.count); + if (listHolder_4 == nullptr || listHolder_4->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_4); + for (size_t i_4 = 0; i_4 < self.streamTransportOptions.triggerOptions.motionZones.count; ++i_4) { + if (![self.streamTransportOptions.triggerOptions.motionZones[i_4] isKindOfClass:[NSNumber class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_4 = (NSNumber *) self.streamTransportOptions.triggerOptions.motionZones[i_4]; + listHolder_4->mList[i_4] = element_4.unsignedShortValue; + } + nonNullValue_3 = ListType_4(listHolder_4->mList, self.streamTransportOptions.triggerOptions.motionZones.count); + } else { + nonNullValue_3 = ListType_4(); + } + } + } + } + if (self.streamTransportOptions.triggerOptions.motionSensitivity != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.motionSensitivity.Emplace(); + if (self.streamTransportOptions.triggerOptions.motionSensitivity == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3 = self.streamTransportOptions.triggerOptions.motionSensitivity.unsignedCharValue; + } + } + if (self.streamTransportOptions.triggerOptions.motionTimeControl != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.Emplace(); + if (self.streamTransportOptions.triggerOptions.motionTimeControl == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3.initialDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.initialDuration.unsignedShortValue; + nonNullValue_3.augmentationDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.augmentationDuration.unsignedShortValue; + nonNullValue_3.maxDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.maxDuration.unsignedIntValue; + nonNullValue_3.blindDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.blindDuration.unsignedShortValue; + } + } + if (self.streamTransportOptions.triggerOptions.activationReason != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.activationReason.Emplace(); + if (self.streamTransportOptions.triggerOptions.activationReason == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3 = static_cast>(self.streamTransportOptions.triggerOptions.activationReason.unsignedCharValue); + } + } + encodableStruct.streamTransportOptions.containerFormat = static_cast>(self.streamTransportOptions.containerFormat.unsignedCharValue); + encodableStruct.streamTransportOptions.ingestMethod = static_cast>(self.streamTransportOptions.ingestMethod.unsignedCharValue); + encodableStruct.streamTransportOptions.containerOptions.containerType = static_cast>(self.streamTransportOptions.containerOptions.containerType.unsignedCharValue); + if (self.streamTransportOptions.containerOptions.cmafContainerOptions != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.Emplace(); + if (self.streamTransportOptions.containerOptions.cmafContainerOptions == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3.chunkDuration = self.streamTransportOptions.containerOptions.cmafContainerOptions.chunkDuration.unsignedShortValue; + if (self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey != nil) { + auto & definedValue_5 = nonNullValue_3.CENCKey.Emplace(); + if (self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey == nil) { + definedValue_5.SetNull(); + } else { + auto & nonNullValue_6 = definedValue_5.SetNonNull(); + nonNullValue_6 = AsByteSpan(self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey); + } + } + } + } + if (self.streamTransportOptions.metadataOptions != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.metadataOptions.Emplace(); + if (self.streamTransportOptions.metadataOptions == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2.multiplexing = static_cast>(self.streamTransportOptions.metadataOptions.multiplexing.unsignedCharValue); + nonNullValue_2.includeMotionZones = self.streamTransportOptions.metadataOptions.includeMotionZones.boolValue; + nonNullValue_2.enableMetadataPrivacySensitive = self.streamTransportOptions.metadataOptions.enableMetadataPrivacySensitive.boolValue; + } + } + if (self.streamTransportOptions.expiryTime != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.expiryTime.Emplace(); + if (self.streamTransportOptions.expiryTime == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2 = self.streamTransportOptions.expiryTime.unsignedIntValue; + } + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = @(0); + + _streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + + _transportStatus = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams alloc] init]; + + other.connectionID = self.connectionID; + other.streamTransportOptions = self.streamTransportOptions; + other.transportStatus = self.transportStatus; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; streamTransportOptions:%@; transportStatus:%@; >", NSStringFromClass([self class]), _connectionID, _streamTransportOptions, _transportStatus]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::DecodableType &)decodableStruct +{ + { + self.connectionID = [NSNumber numberWithUnsignedShort:decodableStruct.connectionID]; + } + { + self.streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + self.streamTransportOptions.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.streamTransportOptions.streamType)]; + if (decodableStruct.streamTransportOptions.videoStreamID.HasValue()) { + if (decodableStruct.streamTransportOptions.videoStreamID.Value().IsNull()) { + self.streamTransportOptions.videoStreamID = nil; + } else { + self.streamTransportOptions.videoStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.streamTransportOptions.videoStreamID.Value().Value()]; + } + } else { + self.streamTransportOptions.videoStreamID = nil; + } + if (decodableStruct.streamTransportOptions.audioStreamID.HasValue()) { + if (decodableStruct.streamTransportOptions.audioStreamID.Value().IsNull()) { + self.streamTransportOptions.audioStreamID = nil; + } else { + self.streamTransportOptions.audioStreamID = [NSNumber numberWithUnsignedShort:decodableStruct.streamTransportOptions.audioStreamID.Value().Value()]; + } + } else { + self.streamTransportOptions.audioStreamID = nil; + } + self.streamTransportOptions.tlsEndpointID = [NSNumber numberWithUnsignedShort:decodableStruct.streamTransportOptions.TLSEndpointID]; + self.streamTransportOptions.url = AsString(decodableStruct.streamTransportOptions.url); + if (self.streamTransportOptions.url == nil) { + CHIP_ERROR err = CHIP_ERROR_INVALID_ARGUMENT; + return err; + } + self.streamTransportOptions.triggerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct new]; + self.streamTransportOptions.triggerOptions.triggerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.streamTransportOptions.triggerOptions.triggerType)]; + if (decodableStruct.streamTransportOptions.triggerOptions.motionZones.HasValue()) { + if (decodableStruct.streamTransportOptions.triggerOptions.motionZones.Value().IsNull()) { + self.streamTransportOptions.triggerOptions.motionZones = nil; + } else { + { // Scope for our temporary variables + auto * array_4 = [NSMutableArray new]; + auto iter_4 = decodableStruct.streamTransportOptions.triggerOptions.motionZones.Value().Value().begin(); + while (iter_4.Next()) { + auto & entry_4 = iter_4.GetValue(); + NSNumber * newElement_4; + newElement_4 = [NSNumber numberWithUnsignedShort:entry_4]; + [array_4 addObject:newElement_4]; + } + CHIP_ERROR err = iter_4.GetStatus(); + if (err != CHIP_NO_ERROR) { + return err; + } + self.streamTransportOptions.triggerOptions.motionZones = array_4; + } + } + } else { + self.streamTransportOptions.triggerOptions.motionZones = nil; + } + if (decodableStruct.streamTransportOptions.triggerOptions.motionSensitivity.HasValue()) { + if (decodableStruct.streamTransportOptions.triggerOptions.motionSensitivity.Value().IsNull()) { + self.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } else { + self.streamTransportOptions.triggerOptions.motionSensitivity = [NSNumber numberWithUnsignedChar:decodableStruct.streamTransportOptions.triggerOptions.motionSensitivity.Value().Value()]; + } + } else { + self.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } + if (decodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.HasValue()) { + if (decodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.Value().IsNull()) { + self.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } else { + self.streamTransportOptions.triggerOptions.motionTimeControl = [MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct new]; + self.streamTransportOptions.triggerOptions.motionTimeControl.initialDuration = [NSNumber numberWithUnsignedShort:decodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().initialDuration]; + self.streamTransportOptions.triggerOptions.motionTimeControl.augmentationDuration = [NSNumber numberWithUnsignedShort:decodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().augmentationDuration]; + self.streamTransportOptions.triggerOptions.motionTimeControl.maxDuration = [NSNumber numberWithUnsignedInt:decodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().maxDuration]; + self.streamTransportOptions.triggerOptions.motionTimeControl.blindDuration = [NSNumber numberWithUnsignedShort:decodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().blindDuration]; + } + } else { + self.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } + if (decodableStruct.streamTransportOptions.triggerOptions.activationReason.HasValue()) { + if (decodableStruct.streamTransportOptions.triggerOptions.activationReason.Value().IsNull()) { + self.streamTransportOptions.triggerOptions.activationReason = nil; + } else { + self.streamTransportOptions.triggerOptions.activationReason = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.streamTransportOptions.triggerOptions.activationReason.Value().Value())]; + } + } else { + self.streamTransportOptions.triggerOptions.activationReason = nil; + } + self.streamTransportOptions.containerFormat = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.streamTransportOptions.containerFormat)]; + self.streamTransportOptions.ingestMethod = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.streamTransportOptions.ingestMethod)]; + self.streamTransportOptions.containerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct new]; + self.streamTransportOptions.containerOptions.containerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.streamTransportOptions.containerOptions.containerType)]; + if (decodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.HasValue()) { + if (decodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().IsNull()) { + self.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } else { + self.streamTransportOptions.containerOptions.cmafContainerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct new]; + self.streamTransportOptions.containerOptions.cmafContainerOptions.chunkDuration = [NSNumber numberWithUnsignedShort:decodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().chunkDuration]; + if (decodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.HasValue()) { + if (decodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().IsNull()) { + self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } else { + self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = AsData(decodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().Value()); + } + } else { + self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } + } + } else { + self.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } + if (decodableStruct.streamTransportOptions.metadataOptions.HasValue()) { + if (decodableStruct.streamTransportOptions.metadataOptions.Value().IsNull()) { + self.streamTransportOptions.metadataOptions = nil; + } else { + self.streamTransportOptions.metadataOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct new]; + self.streamTransportOptions.metadataOptions.multiplexing = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.streamTransportOptions.metadataOptions.Value().Value().multiplexing)]; + self.streamTransportOptions.metadataOptions.includeMotionZones = [NSNumber numberWithBool:decodableStruct.streamTransportOptions.metadataOptions.Value().Value().includeMotionZones]; + self.streamTransportOptions.metadataOptions.enableMetadataPrivacySensitive = [NSNumber numberWithBool:decodableStruct.streamTransportOptions.metadataOptions.Value().Value().enableMetadataPrivacySensitive]; + } + } else { + self.streamTransportOptions.metadataOptions = nil; + } + if (decodableStruct.streamTransportOptions.expiryTime.HasValue()) { + if (decodableStruct.streamTransportOptions.expiryTime.Value().IsNull()) { + self.streamTransportOptions.expiryTime = nil; + } else { + self.streamTransportOptions.expiryTime = [NSNumber numberWithUnsignedInt:decodableStruct.streamTransportOptions.expiryTime.Value().Value()]; + } + } else { + self.streamTransportOptions.expiryTime = nil; + } + } + { + self.transportStatus = [NSNumber numberWithUnsignedChar:chip::to_underlying(decodableStruct.transportStatus)]; + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRPushAVStreamTransportClusterDeallocatePushTransportParams +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterDeallocatePushTransportParams alloc] init]; + + other.connectionID = self.connectionID; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; >", NSStringFromClass([self class]), _connectionID]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterDeallocatePushTransportParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.connectionID = self.connectionID.unsignedShortValue; + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRPushAVStreamTransportClusterModifyPushTransportParams +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = @(0); + + _streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterModifyPushTransportParams alloc] init]; + + other.connectionID = self.connectionID; + other.streamTransportOptions = self.streamTransportOptions; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; streamTransportOptions:%@; >", NSStringFromClass([self class]), _connectionID, _streamTransportOptions]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterModifyPushTransportParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.connectionID = self.connectionID.unsignedShortValue; + } + { + encodableStruct.streamTransportOptions.streamType = static_cast>(self.streamTransportOptions.streamType.unsignedCharValue); + if (self.streamTransportOptions.videoStreamID != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.videoStreamID.Emplace(); + if (self.streamTransportOptions.videoStreamID == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2 = self.streamTransportOptions.videoStreamID.unsignedShortValue; + } + } + if (self.streamTransportOptions.audioStreamID != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.audioStreamID.Emplace(); + if (self.streamTransportOptions.audioStreamID == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2 = self.streamTransportOptions.audioStreamID.unsignedShortValue; + } + } + encodableStruct.streamTransportOptions.TLSEndpointID = self.streamTransportOptions.tlsEndpointID.unsignedShortValue; + encodableStruct.streamTransportOptions.url = AsCharSpan(self.streamTransportOptions.url); + encodableStruct.streamTransportOptions.triggerOptions.triggerType = static_cast>(self.streamTransportOptions.triggerOptions.triggerType.unsignedCharValue); + if (self.streamTransportOptions.triggerOptions.motionZones != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.motionZones.Emplace(); + if (self.streamTransportOptions.triggerOptions.motionZones == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + { + using ListType_4 = std::remove_reference_t; + using ListMemberType_4 = ListMemberTypeGetter::Type; + if (self.streamTransportOptions.triggerOptions.motionZones.count != 0) { + auto * listHolder_4 = new ListHolder(self.streamTransportOptions.triggerOptions.motionZones.count); + if (listHolder_4 == nullptr || listHolder_4->mList == nullptr) { + return CHIP_ERROR_INVALID_ARGUMENT; + } + listFreer.add(listHolder_4); + for (size_t i_4 = 0; i_4 < self.streamTransportOptions.triggerOptions.motionZones.count; ++i_4) { + if (![self.streamTransportOptions.triggerOptions.motionZones[i_4] isKindOfClass:[NSNumber class]]) { + // Wrong kind of value. + return CHIP_ERROR_INVALID_ARGUMENT; + } + auto element_4 = (NSNumber *) self.streamTransportOptions.triggerOptions.motionZones[i_4]; + listHolder_4->mList[i_4] = element_4.unsignedShortValue; + } + nonNullValue_3 = ListType_4(listHolder_4->mList, self.streamTransportOptions.triggerOptions.motionZones.count); + } else { + nonNullValue_3 = ListType_4(); + } + } + } + } + if (self.streamTransportOptions.triggerOptions.motionSensitivity != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.motionSensitivity.Emplace(); + if (self.streamTransportOptions.triggerOptions.motionSensitivity == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3 = self.streamTransportOptions.triggerOptions.motionSensitivity.unsignedCharValue; + } + } + if (self.streamTransportOptions.triggerOptions.motionTimeControl != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.motionTimeControl.Emplace(); + if (self.streamTransportOptions.triggerOptions.motionTimeControl == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3.initialDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.initialDuration.unsignedShortValue; + nonNullValue_3.augmentationDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.augmentationDuration.unsignedShortValue; + nonNullValue_3.maxDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.maxDuration.unsignedIntValue; + nonNullValue_3.blindDuration = self.streamTransportOptions.triggerOptions.motionTimeControl.blindDuration.unsignedShortValue; + } + } + if (self.streamTransportOptions.triggerOptions.activationReason != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.triggerOptions.activationReason.Emplace(); + if (self.streamTransportOptions.triggerOptions.activationReason == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3 = static_cast>(self.streamTransportOptions.triggerOptions.activationReason.unsignedCharValue); + } + } + encodableStruct.streamTransportOptions.containerFormat = static_cast>(self.streamTransportOptions.containerFormat.unsignedCharValue); + encodableStruct.streamTransportOptions.ingestMethod = static_cast>(self.streamTransportOptions.ingestMethod.unsignedCharValue); + encodableStruct.streamTransportOptions.containerOptions.containerType = static_cast>(self.streamTransportOptions.containerOptions.containerType.unsignedCharValue); + if (self.streamTransportOptions.containerOptions.cmafContainerOptions != nil) { + auto & definedValue_2 = encodableStruct.streamTransportOptions.containerOptions.CMAFContainerOptions.Emplace(); + if (self.streamTransportOptions.containerOptions.cmafContainerOptions == nil) { + definedValue_2.SetNull(); + } else { + auto & nonNullValue_3 = definedValue_2.SetNonNull(); + nonNullValue_3.chunkDuration = self.streamTransportOptions.containerOptions.cmafContainerOptions.chunkDuration.unsignedShortValue; + if (self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey != nil) { + auto & definedValue_5 = nonNullValue_3.CENCKey.Emplace(); + if (self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey == nil) { + definedValue_5.SetNull(); + } else { + auto & nonNullValue_6 = definedValue_5.SetNonNull(); + nonNullValue_6 = AsByteSpan(self.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey); + } + } + } + } + if (self.streamTransportOptions.metadataOptions != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.metadataOptions.Emplace(); + if (self.streamTransportOptions.metadataOptions == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2.multiplexing = static_cast>(self.streamTransportOptions.metadataOptions.multiplexing.unsignedCharValue); + nonNullValue_2.includeMotionZones = self.streamTransportOptions.metadataOptions.includeMotionZones.boolValue; + nonNullValue_2.enableMetadataPrivacySensitive = self.streamTransportOptions.metadataOptions.enableMetadataPrivacySensitive.boolValue; + } + } + if (self.streamTransportOptions.expiryTime != nil) { + auto & definedValue_1 = encodableStruct.streamTransportOptions.expiryTime.Emplace(); + if (self.streamTransportOptions.expiryTime == nil) { + definedValue_1.SetNull(); + } else { + auto & nonNullValue_2 = definedValue_1.SetNonNull(); + nonNullValue_2 = self.streamTransportOptions.expiryTime.unsignedIntValue; + } + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRPushAVStreamTransportClusterSetTransportStatusParams +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = nil; + + _streamTransportStatus = @(0); + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterSetTransportStatusParams alloc] init]; + + other.connectionID = self.connectionID; + other.streamTransportStatus = self.streamTransportStatus; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; streamTransportStatus:%@; >", NSStringFromClass([self class]), _connectionID, _streamTransportStatus]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterSetTransportStatusParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::Type encodableStruct; + ListFreer listFreer; + { + if (self.connectionID == nil) { + encodableStruct.connectionID.SetNull(); + } else { + auto & nonNullValue_0 = encodableStruct.connectionID.SetNonNull(); + nonNullValue_0 = self.connectionID.unsignedShortValue; + } + } + { + encodableStruct.streamTransportStatus = static_cast>(self.streamTransportStatus.unsignedCharValue); + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRPushAVStreamTransportClusterManuallyTriggerTransportParams +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = @(0); + + _activationReason = nil; + + _timeControl = nil; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterManuallyTriggerTransportParams alloc] init]; + + other.connectionID = self.connectionID; + other.activationReason = self.activationReason; + other.timeControl = self.timeControl; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; activationReason:%@; timeControl:%@; >", NSStringFromClass([self class]), _connectionID, _activationReason, _timeControl]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterManuallyTriggerTransportParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::Type encodableStruct; + ListFreer listFreer; + { + encodableStruct.connectionID = self.connectionID.unsignedShortValue; + } + { + if (self.activationReason == nil) { + encodableStruct.activationReason.SetNull(); + } else { + auto & nonNullValue_0 = encodableStruct.activationReason.SetNonNull(); + nonNullValue_0 = static_cast>(self.activationReason.unsignedCharValue); + } + } + { + if (self.timeControl != nil) { + auto & definedValue_0 = encodableStruct.timeControl.Emplace(); + if (self.timeControl == nil) { + definedValue_0.SetNull(); + } else { + auto & nonNullValue_1 = definedValue_0.SetNonNull(); + nonNullValue_1.initialDuration = self.timeControl.initialDuration.unsignedShortValue; + nonNullValue_1.augmentationDuration = self.timeControl.augmentationDuration.unsignedShortValue; + nonNullValue_1.maxDuration = self.timeControl.maxDuration.unsignedIntValue; + nonNullValue_1.blindDuration = self.timeControl.blindDuration.unsignedShortValue; + } + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRPushAVStreamTransportClusterFindStreamConfigurationParams +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = nil; + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterFindStreamConfigurationParams alloc] init]; + + other.connectionID = self.connectionID; + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; >", NSStringFromClass([self class]), _connectionID]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterFindStreamConfigurationParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::Type encodableStruct; + ListFreer listFreer; + { + if (self.connectionID != nil) { + auto & definedValue_0 = encodableStruct.connectionID.Emplace(); + if (self.connectionID == nil) { + definedValue_0.SetNull(); + } else { + auto & nonNullValue_1 = definedValue_0.SetNonNull(); + nonNullValue_1 = self.connectionID.unsignedShortValue; + } + } + } + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + +@implementation MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams +- (instancetype)init +{ + if (self = [super init]) { + + _streamConfigurations = [NSArray array]; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams alloc] init]; + + other.streamConfigurations = self.streamConfigurations; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamConfigurations:%@; >", NSStringFromClass([self class]), _streamConfigurations]; + return descriptionString; +} + +- (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue + error:(NSError * __autoreleasing *)error +{ + if (!(self = [super init])) { + return nil; + } + + using DecodableType = chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::DecodableType; + chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue + clusterID:DecodableType::GetClusterId() + commandID:DecodableType::GetCommandId() + error:error]; + if (buffer.IsNull()) { + return nil; + } + + chip::TLV::TLVReader reader; + reader.Init(buffer->Start(), buffer->DataLength()); + + CHIP_ERROR err = reader.Next(chip::TLV::AnonymousTag()); + if (err == CHIP_NO_ERROR) { + DecodableType decodedStruct; + err = chip::app::DataModel::Decode(reader, decodedStruct); + if (err == CHIP_NO_ERROR) { + err = [self _setFieldsFromDecodableStruct:decodedStruct]; + if (err == CHIP_NO_ERROR) { + return self; + } + } + } + + NSString * errorStr = [NSString stringWithFormat:@"Command payload decoding failed: %s", err.AsString()]; + MTR_LOG_ERROR("%s", errorStr.UTF8String); + if (error != nil) { + NSDictionary * userInfo = @{ NSLocalizedFailureReasonErrorKey : NSLocalizedString(errorStr, nil) }; + *error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeSchemaMismatch userInfo:userInfo]; + } + return nil; +} + +@end + +@implementation MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::DecodableType &)decodableStruct +{ + { + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + auto iter_0 = decodableStruct.streamConfigurations.begin(); + while (iter_0.Next()) { + auto & entry_0 = iter_0.GetValue(); + MTRPushAVStreamTransportClusterPushAVStreamConfigurationStruct * newElement_0; + newElement_0 = [MTRPushAVStreamTransportClusterPushAVStreamConfigurationStruct new]; + newElement_0.connectionID = [NSNumber numberWithUnsignedShort:entry_0.connectionID]; + newElement_0.streamTransportStatus = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportStatus)]; + newElement_0.streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + newElement_0.streamTransportOptions.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportOptions.streamType)]; + if (entry_0.streamTransportOptions.videoStreamID.HasValue()) { + if (entry_0.streamTransportOptions.videoStreamID.Value().IsNull()) { + newElement_0.streamTransportOptions.videoStreamID = nil; + } else { + newElement_0.streamTransportOptions.videoStreamID = [NSNumber numberWithUnsignedShort:entry_0.streamTransportOptions.videoStreamID.Value().Value()]; + } + } else { + newElement_0.streamTransportOptions.videoStreamID = nil; + } + if (entry_0.streamTransportOptions.audioStreamID.HasValue()) { + if (entry_0.streamTransportOptions.audioStreamID.Value().IsNull()) { + newElement_0.streamTransportOptions.audioStreamID = nil; + } else { + newElement_0.streamTransportOptions.audioStreamID = [NSNumber numberWithUnsignedShort:entry_0.streamTransportOptions.audioStreamID.Value().Value()]; + } + } else { + newElement_0.streamTransportOptions.audioStreamID = nil; + } + newElement_0.streamTransportOptions.tlsEndpointID = [NSNumber numberWithUnsignedShort:entry_0.streamTransportOptions.TLSEndpointID]; + newElement_0.streamTransportOptions.url = AsString(entry_0.streamTransportOptions.url); + if (newElement_0.streamTransportOptions.url == nil) { + CHIP_ERROR err = CHIP_ERROR_INVALID_ARGUMENT; + return err; + } + newElement_0.streamTransportOptions.triggerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct new]; + newElement_0.streamTransportOptions.triggerOptions.triggerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportOptions.triggerOptions.triggerType)]; + if (entry_0.streamTransportOptions.triggerOptions.motionZones.HasValue()) { + if (entry_0.streamTransportOptions.triggerOptions.motionZones.Value().IsNull()) { + newElement_0.streamTransportOptions.triggerOptions.motionZones = nil; + } else { + { // Scope for our temporary variables + auto * array_6 = [NSMutableArray new]; + auto iter_6 = entry_0.streamTransportOptions.triggerOptions.motionZones.Value().Value().begin(); + while (iter_6.Next()) { + auto & entry_6 = iter_6.GetValue(); + NSNumber * newElement_6; + newElement_6 = [NSNumber numberWithUnsignedShort:entry_6]; + [array_6 addObject:newElement_6]; + } + CHIP_ERROR err = iter_6.GetStatus(); + if (err != CHIP_NO_ERROR) { + return err; + } + newElement_0.streamTransportOptions.triggerOptions.motionZones = array_6; + } + } + } else { + newElement_0.streamTransportOptions.triggerOptions.motionZones = nil; + } + if (entry_0.streamTransportOptions.triggerOptions.motionSensitivity.HasValue()) { + if (entry_0.streamTransportOptions.triggerOptions.motionSensitivity.Value().IsNull()) { + newElement_0.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } else { + newElement_0.streamTransportOptions.triggerOptions.motionSensitivity = [NSNumber numberWithUnsignedChar:entry_0.streamTransportOptions.triggerOptions.motionSensitivity.Value().Value()]; + } + } else { + newElement_0.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } + if (entry_0.streamTransportOptions.triggerOptions.motionTimeControl.HasValue()) { + if (entry_0.streamTransportOptions.triggerOptions.motionTimeControl.Value().IsNull()) { + newElement_0.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } else { + newElement_0.streamTransportOptions.triggerOptions.motionTimeControl = [MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct new]; + newElement_0.streamTransportOptions.triggerOptions.motionTimeControl.initialDuration = [NSNumber numberWithUnsignedShort:entry_0.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().initialDuration]; + newElement_0.streamTransportOptions.triggerOptions.motionTimeControl.augmentationDuration = [NSNumber numberWithUnsignedShort:entry_0.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().augmentationDuration]; + newElement_0.streamTransportOptions.triggerOptions.motionTimeControl.maxDuration = [NSNumber numberWithUnsignedInt:entry_0.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().maxDuration]; + newElement_0.streamTransportOptions.triggerOptions.motionTimeControl.blindDuration = [NSNumber numberWithUnsignedShort:entry_0.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().blindDuration]; + } + } else { + newElement_0.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } + if (entry_0.streamTransportOptions.triggerOptions.activationReason.HasValue()) { + if (entry_0.streamTransportOptions.triggerOptions.activationReason.Value().IsNull()) { + newElement_0.streamTransportOptions.triggerOptions.activationReason = nil; + } else { + newElement_0.streamTransportOptions.triggerOptions.activationReason = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportOptions.triggerOptions.activationReason.Value().Value())]; + } + } else { + newElement_0.streamTransportOptions.triggerOptions.activationReason = nil; + } + newElement_0.streamTransportOptions.containerFormat = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportOptions.containerFormat)]; + newElement_0.streamTransportOptions.ingestMethod = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportOptions.ingestMethod)]; + newElement_0.streamTransportOptions.containerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct new]; + newElement_0.streamTransportOptions.containerOptions.containerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportOptions.containerOptions.containerType)]; + if (entry_0.streamTransportOptions.containerOptions.CMAFContainerOptions.HasValue()) { + if (entry_0.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().IsNull()) { + newElement_0.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } else { + newElement_0.streamTransportOptions.containerOptions.cmafContainerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct new]; + newElement_0.streamTransportOptions.containerOptions.cmafContainerOptions.chunkDuration = [NSNumber numberWithUnsignedShort:entry_0.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().chunkDuration]; + if (entry_0.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.HasValue()) { + if (entry_0.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().IsNull()) { + newElement_0.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } else { + newElement_0.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = AsData(entry_0.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().Value()); + } + } else { + newElement_0.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } + } + } else { + newElement_0.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } + if (entry_0.streamTransportOptions.metadataOptions.HasValue()) { + if (entry_0.streamTransportOptions.metadataOptions.Value().IsNull()) { + newElement_0.streamTransportOptions.metadataOptions = nil; + } else { + newElement_0.streamTransportOptions.metadataOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct new]; + newElement_0.streamTransportOptions.metadataOptions.multiplexing = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.streamTransportOptions.metadataOptions.Value().Value().multiplexing)]; + newElement_0.streamTransportOptions.metadataOptions.includeMotionZones = [NSNumber numberWithBool:entry_0.streamTransportOptions.metadataOptions.Value().Value().includeMotionZones]; + newElement_0.streamTransportOptions.metadataOptions.enableMetadataPrivacySensitive = [NSNumber numberWithBool:entry_0.streamTransportOptions.metadataOptions.Value().Value().enableMetadataPrivacySensitive]; + } + } else { + newElement_0.streamTransportOptions.metadataOptions = nil; + } + if (entry_0.streamTransportOptions.expiryTime.HasValue()) { + if (entry_0.streamTransportOptions.expiryTime.Value().IsNull()) { + newElement_0.streamTransportOptions.expiryTime = nil; + } else { + newElement_0.streamTransportOptions.expiryTime = [NSNumber numberWithUnsignedInt:entry_0.streamTransportOptions.expiryTime.Value().Value()]; + } + } else { + newElement_0.streamTransportOptions.expiryTime = nil; + } + [array_0 addObject:newElement_0]; + } + CHIP_ERROR err = iter_0.GetStatus(); + if (err != CHIP_NO_ERROR) { + return err; + } + self.streamConfigurations = array_0; + } + } + return CHIP_NO_ERROR; +} + +@end + +@implementation MTRChimeClusterPlayChimeSoundParams +- (instancetype)init +{ + if (self = [super init]) { + _timedInvokeTimeoutMs = nil; + _serverSideProcessingTimeout = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone; +{ + auto other = [[MTRChimeClusterPlayChimeSoundParams alloc] init]; + + other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; + other.serverSideProcessingTimeout = self.serverSideProcessingTimeout; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; + return descriptionString; +} + +@end + +@implementation MTRChimeClusterPlayChimeSoundParams (InternalMethods) + +- (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader +{ + chip::app::Clusters::Chime::Commands::PlayChimeSound::Type encodableStruct; + ListFreer listFreer; + + auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0); + if (buffer.IsNull()) { + return CHIP_ERROR_NO_MEMORY; + } + + chip::System::PacketBufferTLVWriter writer; + // Commands never need chained buffers, since they cannot be chunked. + writer.Init(std::move(buffer), /* useChainedBuffers = */ false); + + ReturnErrorOnFailure(chip::app::DataModel::Encode(writer, chip::TLV::AnonymousTag(), encodableStruct)); + + ReturnErrorOnFailure(writer.Finalize(&buffer)); + + reader.Init(std::move(buffer)); + return reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); +} + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error +{ + chip::System::PacketBufferTLVReader reader; + CHIP_ERROR err = [self _encodeToTLVReader:reader]; + if (err != CHIP_NO_ERROR) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:err]; + } + return nil; + } + + auto decodedObj = MTRDecodeDataValueDictionaryFromCHIPTLV(&reader); + if (decodedObj == nil) { + if (error) { + *error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE]; + } + } + return decodedObj; +} +@end + @implementation MTRCommissionerControlClusterRequestCommissioningApprovalParams - (instancetype)init { diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h index 91e4e865355198..f735ef9a7f5525 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h @@ -2044,6 +2044,258 @@ NS_ASSUME_NONNULL_BEGIN @end +@interface MTRCameraAVStreamManagementClusterAudioStreamAllocateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterVideoStreamAllocateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRCameraAVStreamManagementClusterVideoStreamModifyParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterSetStreamPriorityParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterCaptureSnapshotParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshotResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRCameraAVStreamManagementClusterSetViewportParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterSetImageRotationParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportProviderClusterWebRTCEndSessionParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportRequestorClusterWebRTCOfferParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportRequestorClusterWebRTCAnswerParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRWebRTCTransportRequestorClusterWebRTCEndParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRPushAVStreamTransportClusterAllocatePushTransportParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRPushAVStreamTransportClusterDeallocatePushTransportParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRPushAVStreamTransportClusterModifyPushTransportParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRPushAVStreamTransportClusterSetTransportStatusParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRPushAVStreamTransportClusterManuallyTriggerTransportParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRPushAVStreamTransportClusterFindStreamConfigurationParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + +@interface MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams (InternalMethods) + +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::DecodableType &)decodableStruct; + +@end + +@interface MTRChimeClusterPlayChimeSoundParams (InternalMethods) + +- (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; + +@end + @interface MTRCommissionerControlClusterRequestCommissioningApprovalParams (InternalMethods) - (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandTimedCheck.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCommandTimedCheck.mm index 6dc2c38f8447ef..fe1f13b31a07ec 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandTimedCheck.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandTimedCheck.mm @@ -1151,6 +1151,60 @@ static BOOL CommandNeedsTimedInvokeInContentAppObserverCluster(AttributeId aAttr } } } +static BOOL CommandNeedsTimedInvokeInCameraAVStreamManagementCluster(AttributeId aAttributeId) +{ + using namespace Clusters::CameraAvStreamManagement; + switch (aAttributeId) { + default: { + return NO; + } + } +} +static BOOL CommandNeedsTimedInvokeInCameraAVSettingsUserLevelManagementCluster(AttributeId aAttributeId) +{ + using namespace Clusters::CameraAvSettingsUserLevelManagement; + switch (aAttributeId) { + default: { + return NO; + } + } +} +static BOOL CommandNeedsTimedInvokeInWebRTCTransportProviderCluster(AttributeId aAttributeId) +{ + using namespace Clusters::WebRTCTransportProvider; + switch (aAttributeId) { + default: { + return NO; + } + } +} +static BOOL CommandNeedsTimedInvokeInWebRTCTransportRequestorCluster(AttributeId aAttributeId) +{ + using namespace Clusters::WebRTCTransportRequestor; + switch (aAttributeId) { + default: { + return NO; + } + } +} +static BOOL CommandNeedsTimedInvokeInPushAVStreamTransportCluster(AttributeId aAttributeId) +{ + using namespace Clusters::PushAvStreamTransport; + switch (aAttributeId) { + default: { + return NO; + } + } +} +static BOOL CommandNeedsTimedInvokeInChimeCluster(AttributeId aAttributeId) +{ + using namespace Clusters::Chime; + switch (aAttributeId) { + default: { + return NO; + } + } +} static BOOL CommandNeedsTimedInvokeInEcosystemInformationCluster(AttributeId aAttributeId) { using namespace Clusters::EcosystemInformation; @@ -1557,6 +1611,24 @@ BOOL MTRCommandNeedsTimedInvoke(NSNumber * _Nonnull aClusterID, NSNumber * _Nonn case Clusters::ContentAppObserver::Id: { return CommandNeedsTimedInvokeInContentAppObserverCluster(commandID); } + case Clusters::CameraAvStreamManagement::Id: { + return CommandNeedsTimedInvokeInCameraAVStreamManagementCluster(commandID); + } + case Clusters::CameraAvSettingsUserLevelManagement::Id: { + return CommandNeedsTimedInvokeInCameraAVSettingsUserLevelManagementCluster(commandID); + } + case Clusters::WebRTCTransportProvider::Id: { + return CommandNeedsTimedInvokeInWebRTCTransportProviderCluster(commandID); + } + case Clusters::WebRTCTransportRequestor::Id: { + return CommandNeedsTimedInvokeInWebRTCTransportRequestorCluster(commandID); + } + case Clusters::PushAvStreamTransport::Id: { + return CommandNeedsTimedInvokeInPushAVStreamTransportCluster(commandID); + } + case Clusters::Chime::Id: { + return CommandNeedsTimedInvokeInChimeCluster(commandID); + } case Clusters::EcosystemInformation::Id: { return CommandNeedsTimedInvokeInEcosystemInformationCluster(commandID); } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm index 6ecc072f6b44a6..7eea7850583141 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm @@ -4579,6 +4579,416 @@ static id _Nullable DecodeEventPayloadForContentAppObserverCluster(EventId aEven *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; return nil; } +static id _Nullable DecodeEventPayloadForCameraAVStreamManagementCluster(EventId aEventId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::CameraAvStreamManagement; + switch (aEventId) { + case Events::VideoStreamChanged::Id: { + Events::VideoStreamChanged::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + + __auto_type * value = [MTRCameraAVStreamManagementClusterVideoStreamChangedEvent new]; + + do { + NSNumber * _Nonnull memberValue; + memberValue = [NSNumber numberWithUnsignedShort:cppValue.videoStreamID]; + value.videoStreamID = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.streamType.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.streamType.Value())]; + } else { + memberValue = nil; + } + value.streamType = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.videoCodec.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.videoCodec.Value())]; + } else { + memberValue = nil; + } + value.videoCodec = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.minFrameRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedShort:cppValue.minFrameRate.Value()]; + } else { + memberValue = nil; + } + value.minFrameRate = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.maxFrameRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedShort:cppValue.maxFrameRate.Value()]; + } else { + memberValue = nil; + } + value.maxFrameRate = memberValue; + } while (0); + do { + MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable memberValue; + if (cppValue.minResolution.HasValue()) { + memberValue = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + } else { + memberValue = nil; + } + value.minResolution = memberValue; + } while (0); + do { + MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable memberValue; + if (cppValue.maxResolution.HasValue()) { + memberValue = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + } else { + memberValue = nil; + } + value.maxResolution = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.minBitRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedShort:cppValue.minBitRate.Value()]; + } else { + memberValue = nil; + } + value.minBitRate = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.maxBitRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedShort:cppValue.maxBitRate.Value()]; + } else { + memberValue = nil; + } + value.maxBitRate = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.minFragmentLen.HasValue()) { + memberValue = [NSNumber numberWithUnsignedShort:cppValue.minFragmentLen.Value()]; + } else { + memberValue = nil; + } + value.minFragmentLen = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.maxFragmentLen.HasValue()) { + memberValue = [NSNumber numberWithUnsignedShort:cppValue.maxFragmentLen.Value()]; + } else { + memberValue = nil; + } + value.maxFragmentLen = memberValue; + } while (0); + + return value; + } + case Events::AudioStreamChanged::Id: { + Events::AudioStreamChanged::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + + __auto_type * value = [MTRCameraAVStreamManagementClusterAudioStreamChangedEvent new]; + + do { + NSNumber * _Nonnull memberValue; + memberValue = [NSNumber numberWithUnsignedShort:cppValue.audioStreamID]; + value.audioStreamID = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.streamType.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.streamType.Value())]; + } else { + memberValue = nil; + } + value.streamType = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.audioCodec.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.audioCodec.Value())]; + } else { + memberValue = nil; + } + value.audioCodec = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.channelCount.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:cppValue.channelCount.Value()]; + } else { + memberValue = nil; + } + value.channelCount = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.sampleRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedInt:cppValue.sampleRate.Value()]; + } else { + memberValue = nil; + } + value.sampleRate = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.bitRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedInt:cppValue.bitRate.Value()]; + } else { + memberValue = nil; + } + value.bitRate = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.bitDepth.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:cppValue.bitDepth.Value()]; + } else { + memberValue = nil; + } + value.bitDepth = memberValue; + } while (0); + + return value; + } + case Events::SnapshotStreamChanged::Id: { + Events::SnapshotStreamChanged::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + + __auto_type * value = [MTRCameraAVStreamManagementClusterSnapshotStreamChangedEvent new]; + + do { + NSNumber * _Nonnull memberValue; + memberValue = [NSNumber numberWithUnsignedShort:cppValue.snapshotStreamID]; + value.snapshotStreamID = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.imageCodec.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.imageCodec.Value())]; + } else { + memberValue = nil; + } + value.imageCodec = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.frameRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedShort:cppValue.frameRate.Value()]; + } else { + memberValue = nil; + } + value.frameRate = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.bitRate.HasValue()) { + memberValue = [NSNumber numberWithUnsignedInt:cppValue.bitRate.Value()]; + } else { + memberValue = nil; + } + value.bitRate = memberValue; + } while (0); + do { + MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable memberValue; + if (cppValue.minResolution.HasValue()) { + memberValue = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + } else { + memberValue = nil; + } + value.minResolution = memberValue; + } while (0); + do { + MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable memberValue; + if (cppValue.maxResolution.HasValue()) { + memberValue = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + } else { + memberValue = nil; + } + value.maxResolution = memberValue; + } while (0); + do { + NSNumber * _Nullable memberValue; + if (cppValue.quality.HasValue()) { + memberValue = [NSNumber numberWithUnsignedChar:cppValue.quality.Value()]; + } else { + memberValue = nil; + } + value.quality = memberValue; + } while (0); + + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + return nil; +} +static id _Nullable DecodeEventPayloadForCameraAVSettingsUserLevelManagementCluster(EventId aEventId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::CameraAvSettingsUserLevelManagement; + switch (aEventId) { + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + return nil; +} +static id _Nullable DecodeEventPayloadForWebRTCTransportProviderCluster(EventId aEventId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::WebRTCTransportProvider; + switch (aEventId) { + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + return nil; +} +static id _Nullable DecodeEventPayloadForWebRTCTransportRequestorCluster(EventId aEventId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::WebRTCTransportRequestor; + switch (aEventId) { + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + return nil; +} +static id _Nullable DecodeEventPayloadForPushAVStreamTransportCluster(EventId aEventId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::PushAvStreamTransport; + switch (aEventId) { + case Events::PushTransportBegin::Id: { + Events::PushTransportBegin::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + + __auto_type * value = [MTRPushAVStreamTransportClusterPushTransportBeginEvent new]; + + return value; + } + case Events::PushTransportEnd::Id: { + Events::PushTransportEnd::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + + __auto_type * value = [MTRPushAVStreamTransportClusterPushTransportEndEvent new]; + + do { + NSNumber * _Nonnull memberValue; + memberValue = [NSNumber numberWithUnsignedShort:cppValue.connectionID]; + value.connectionID = memberValue; + } while (0); + do { + MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct * _Nonnull memberValue; + memberValue = [MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct new]; + memberValue.triggerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.triggerDetails.triggerType)]; + if (cppValue.triggerDetails.motionZones.HasValue()) { + if (cppValue.triggerDetails.motionZones.Value().IsNull()) { + memberValue.motionZones = nil; + } else { + { // Scope for our temporary variables + auto * array_3 = [NSMutableArray new]; + auto iter_3 = cppValue.triggerDetails.motionZones.Value().Value().begin(); + while (iter_3.Next()) { + auto & entry_3 = iter_3.GetValue(); + NSNumber * newElement_3; + newElement_3 = [NSNumber numberWithUnsignedShort:entry_3]; + [array_3 addObject:newElement_3]; + } + CHIP_ERROR err = iter_3.GetStatus(); + if (err != CHIP_NO_ERROR) { + *aError = err; + return nil; + } + memberValue.motionZones = array_3; + } + } + } else { + memberValue.motionZones = nil; + } + if (cppValue.triggerDetails.motionSensitivity.HasValue()) { + if (cppValue.triggerDetails.motionSensitivity.Value().IsNull()) { + memberValue.motionSensitivity = nil; + } else { + memberValue.motionSensitivity = [NSNumber numberWithUnsignedChar:cppValue.triggerDetails.motionSensitivity.Value().Value()]; + } + } else { + memberValue.motionSensitivity = nil; + } + if (cppValue.triggerDetails.motionTimeControl.HasValue()) { + if (cppValue.triggerDetails.motionTimeControl.Value().IsNull()) { + memberValue.motionTimeControl = nil; + } else { + memberValue.motionTimeControl = [MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct new]; + memberValue.motionTimeControl.initialDuration = [NSNumber numberWithUnsignedShort:cppValue.triggerDetails.motionTimeControl.Value().Value().initialDuration]; + memberValue.motionTimeControl.augmentationDuration = [NSNumber numberWithUnsignedShort:cppValue.triggerDetails.motionTimeControl.Value().Value().augmentationDuration]; + memberValue.motionTimeControl.maxDuration = [NSNumber numberWithUnsignedInt:cppValue.triggerDetails.motionTimeControl.Value().Value().maxDuration]; + memberValue.motionTimeControl.blindDuration = [NSNumber numberWithUnsignedShort:cppValue.triggerDetails.motionTimeControl.Value().Value().blindDuration]; + } + } else { + memberValue.motionTimeControl = nil; + } + if (cppValue.triggerDetails.activationReason.HasValue()) { + if (cppValue.triggerDetails.activationReason.Value().IsNull()) { + memberValue.activationReason = nil; + } else { + memberValue.activationReason = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.triggerDetails.activationReason.Value().Value())]; + } + } else { + memberValue.activationReason = nil; + } + value.triggerDetails = memberValue; + } while (0); + + return value; + } + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + return nil; +} +static id _Nullable DecodeEventPayloadForChimeCluster(EventId aEventId, TLV::TLVReader & aReader, CHIP_ERROR * aError) +{ + using namespace Clusters::Chime; + switch (aEventId) { + default: { + break; + } + } + + *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB; + return nil; +} static id _Nullable DecodeEventPayloadForEcosystemInformationCluster(EventId aEventId, TLV::TLVReader & aReader, CHIP_ERROR * aError) { using namespace Clusters::EcosystemInformation; @@ -5190,6 +5600,24 @@ id _Nullable MTRDecodeEventPayload(const ConcreteEventPath & aPath, TLV::TLVRead case Clusters::ContentAppObserver::Id: { return DecodeEventPayloadForContentAppObserverCluster(aPath.mEventId, aReader, aError); } + case Clusters::CameraAvStreamManagement::Id: { + return DecodeEventPayloadForCameraAVStreamManagementCluster(aPath.mEventId, aReader, aError); + } + case Clusters::CameraAvSettingsUserLevelManagement::Id: { + return DecodeEventPayloadForCameraAVSettingsUserLevelManagementCluster(aPath.mEventId, aReader, aError); + } + case Clusters::WebRTCTransportProvider::Id: { + return DecodeEventPayloadForWebRTCTransportProviderCluster(aPath.mEventId, aReader, aError); + } + case Clusters::WebRTCTransportRequestor::Id: { + return DecodeEventPayloadForWebRTCTransportRequestorCluster(aPath.mEventId, aReader, aError); + } + case Clusters::PushAvStreamTransport::Id: { + return DecodeEventPayloadForPushAVStreamTransportCluster(aPath.mEventId, aReader, aError); + } + case Clusters::Chime::Id: { + return DecodeEventPayloadForChimeCluster(aPath.mEventId, aReader, aError); + } case Clusters::EcosystemInformation::Id: { return DecodeEventPayloadForEcosystemInformationCluster(aPath.mEventId, aReader, aError); } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h index 61aa5161dced29..6db22c2eff5eeb 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h @@ -2117,6 +2117,261 @@ MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterRemainingScreenTimeExpiredEvent : NSObject @end +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull maxNumberOfChannels MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSArray * _Nonnull supportedCodecs MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSArray * _Nonnull supportedSampleRates MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSArray * _Nonnull supportedBitDepths MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterAudioStreamStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull audioCodec MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull channelCount MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull sampleRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull bitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull bitDepth MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull referenceCount MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterPerStreamStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull streamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull onOff MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterRateDistortionTradeOffPointsStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull codec MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull resolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull minBitRate MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSnapshotParamsStruct : NSObject +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull resolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull maxFrameRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull imageCodec MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSnapshotStreamStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull imageCodec MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull frameRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull bitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull minResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull maxResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull quality MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull referenceCount MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterVideoSensorParamsStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull sensorWidth MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull sensorHeight MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull hdrCapable MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull maxFPS MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull maxHDRFPS MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterVideoStreamStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull videoCodec MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull minFrameRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull maxFrameRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull minResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nonnull maxResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull minBitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull maxBitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull minFragmentLen MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull maxFragmentLen MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull referenceCount MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterViewportStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull x1 MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull y1 MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull x2 MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull y2 MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterVideoStreamChangedEvent : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable streamType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable videoCodec MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable minFrameRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable maxFrameRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable minResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable maxResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable minBitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable maxBitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable minFragmentLen MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable maxFragmentLen MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterAudioStreamChangedEvent : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable streamType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable audioCodec MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable channelCount MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable sampleRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable bitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable bitDepth MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVStreamManagementClusterSnapshotStreamChangedEvent : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable imageCodec MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable frameRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable bitRate MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable minResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable maxResolution MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable quality MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nullable mPan MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable mTilt MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable mZoom MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterPerStreamStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull streamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull onOff MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRCameraAVSettingsUserLevelManagementClusterViewportStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull x1 MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull y1 MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull x2 MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull y2 MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterICEServerStruct : NSObject +@property (nonatomic, copy) NSArray * _Nonnull urls MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSString * _Nullable username MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSString * _Nullable credential MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable caid MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportProviderClusterWebRTCSessionStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull id MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull peerNodeId MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull peerFabricIndex MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull metadataOptions MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportRequestorClusterICEServerStruct : NSObject +@property (nonatomic, copy) NSArray * _Nonnull urls MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSString * _Nullable username MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSString * _Nullable credential MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable caid MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRWebRTCTransportRequestorClusterWebRTCSessionStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull id MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull peerNodeId MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull peerFabricIndex MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull metadataOptions MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull initialDuration MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull augmentationDuration MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull maxDuration MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull blindDuration MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull multiplexing MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull includeMotionZones MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull enableMetadataPrivacySensitive MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull triggerType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSArray * _Nullable motionZones MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable motionSensitivity MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct * _Nullable motionTimeControl MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable activationReason MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull chunkDuration MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSData * _Nullable cencKey MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull containerType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct * _Nullable cmafContainerOptions MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull tlsEndpointID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSString * _Nonnull url MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct * _Nonnull triggerOptions MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull containerFormat MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull ingestMethod MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct * _Nonnull containerOptions MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct * _Nullable metadataOptions MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nullable expiryTime MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushAVStreamConfigurationStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull connectionID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull streamTransportStatus MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct * _Nonnull streamTransportOptions MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushTransportBeginEvent : NSObject +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRPushAVStreamTransportClusterPushTransportEndEvent : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull connectionID MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct * _Nonnull triggerDetails MTR_PROVISIONALLY_AVAILABLE; +@end + +MTR_PROVISIONALLY_AVAILABLE +@interface MTRChimeClusterChimeSoundStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull chimeId MTR_PROVISIONALLY_AVAILABLE; +@property (nonatomic, copy) NSString * _Nonnull name MTR_PROVISIONALLY_AVAILABLE; +@end + MTR_PROVISIONALLY_AVAILABLE @interface MTREcosystemInformationClusterDeviceTypeStruct : NSObject @property (nonatomic, copy) NSNumber * _Nonnull deviceType MTR_PROVISIONALLY_AVAILABLE; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm index 5cb5806c112a69..f1168b7a4d6865 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm @@ -8768,6 +8768,1118 @@ - (NSString *)description @end +@implementation MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct +- (instancetype)init +{ + if (self = [super init]) { + + _maxNumberOfChannels = @(0); + + _supportedCodecs = [NSArray array]; + + _supportedSampleRates = [NSArray array]; + + _supportedBitDepths = [NSArray array]; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct alloc] init]; + + other.maxNumberOfChannels = self.maxNumberOfChannels; + other.supportedCodecs = self.supportedCodecs; + other.supportedSampleRates = self.supportedSampleRates; + other.supportedBitDepths = self.supportedBitDepths; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: maxNumberOfChannels:%@; supportedCodecs:%@; supportedSampleRates:%@; supportedBitDepths:%@; >", NSStringFromClass([self class]), _maxNumberOfChannels, _supportedCodecs, _supportedSampleRates, _supportedBitDepths]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterAudioStreamStruct +- (instancetype)init +{ + if (self = [super init]) { + + _audioStreamID = @(0); + + _streamType = @(0); + + _audioCodec = @(0); + + _channelCount = @(0); + + _sampleRate = @(0); + + _bitRate = @(0); + + _bitDepth = @(0); + + _referenceCount = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterAudioStreamStruct alloc] init]; + + other.audioStreamID = self.audioStreamID; + other.streamType = self.streamType; + other.audioCodec = self.audioCodec; + other.channelCount = self.channelCount; + other.sampleRate = self.sampleRate; + other.bitRate = self.bitRate; + other.bitDepth = self.bitDepth; + other.referenceCount = self.referenceCount; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: audioStreamID:%@; streamType:%@; audioCodec:%@; channelCount:%@; sampleRate:%@; bitRate:%@; bitDepth:%@; referenceCount:%@; >", NSStringFromClass([self class]), _audioStreamID, _streamType, _audioCodec, _channelCount, _sampleRate, _bitRate, _bitDepth, _referenceCount]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterPerStreamStruct +- (instancetype)init +{ + if (self = [super init]) { + + _streamID = @(0); + + _onOff = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterPerStreamStruct alloc] init]; + + other.streamID = self.streamID; + other.onOff = self.onOff; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamID:%@; onOff:%@; >", NSStringFromClass([self class]), _streamID, _onOff]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterRateDistortionTradeOffPointsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _codec = @(0); + + _resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _minBitRate = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterRateDistortionTradeOffPointsStruct alloc] init]; + + other.codec = self.codec; + other.resolution = self.resolution; + other.minBitRate = self.minBitRate; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: codec:%@; resolution:%@; minBitRate:%@; >", NSStringFromClass([self class]), _codec, _resolution, _minBitRate]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotParamsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _maxFrameRate = @(0); + + _imageCodec = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterSnapshotParamsStruct alloc] init]; + + other.resolution = self.resolution; + other.maxFrameRate = self.maxFrameRate; + other.imageCodec = self.imageCodec; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: resolution:%@; maxFrameRate:%@; imageCodec:%@; >", NSStringFromClass([self class]), _resolution, _maxFrameRate, _imageCodec]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamStruct +- (instancetype)init +{ + if (self = [super init]) { + + _snapshotStreamID = @(0); + + _imageCodec = @(0); + + _frameRate = @(0); + + _bitRate = @(0); + + _minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _quality = @(0); + + _referenceCount = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterSnapshotStreamStruct alloc] init]; + + other.snapshotStreamID = self.snapshotStreamID; + other.imageCodec = self.imageCodec; + other.frameRate = self.frameRate; + other.bitRate = self.bitRate; + other.minResolution = self.minResolution; + other.maxResolution = self.maxResolution; + other.quality = self.quality; + other.referenceCount = self.referenceCount; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: snapshotStreamID:%@; imageCodec:%@; frameRate:%@; bitRate:%@; minResolution:%@; maxResolution:%@; quality:%@; referenceCount:%@; >", NSStringFromClass([self class]), _snapshotStreamID, _imageCodec, _frameRate, _bitRate, _minResolution, _maxResolution, _quality, _referenceCount]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoSensorParamsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _sensorWidth = @(0); + + _sensorHeight = @(0); + + _hdrCapable = @(0); + + _maxFPS = @(0); + + _maxHDRFPS = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterVideoSensorParamsStruct alloc] init]; + + other.sensorWidth = self.sensorWidth; + other.sensorHeight = self.sensorHeight; + other.hdrCapable = self.hdrCapable; + other.maxFPS = self.maxFPS; + other.maxHDRFPS = self.maxHDRFPS; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: sensorWidth:%@; sensorHeight:%@; hdrCapable:%@; maxFPS:%@; maxHDRFPS:%@; >", NSStringFromClass([self class]), _sensorWidth, _sensorHeight, _hdrCapable, _maxFPS, _maxHDRFPS]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamStruct +- (instancetype)init +{ + if (self = [super init]) { + + _videoStreamID = @(0); + + _streamType = @(0); + + _videoCodec = @(0); + + _minFrameRate = @(0); + + _maxFrameRate = @(0); + + _minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; + + _minBitRate = @(0); + + _maxBitRate = @(0); + + _minFragmentLen = @(0); + + _maxFragmentLen = @(0); + + _referenceCount = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterVideoStreamStruct alloc] init]; + + other.videoStreamID = self.videoStreamID; + other.streamType = self.streamType; + other.videoCodec = self.videoCodec; + other.minFrameRate = self.minFrameRate; + other.maxFrameRate = self.maxFrameRate; + other.minResolution = self.minResolution; + other.maxResolution = self.maxResolution; + other.minBitRate = self.minBitRate; + other.maxBitRate = self.maxBitRate; + other.minFragmentLen = self.minFragmentLen; + other.maxFragmentLen = self.maxFragmentLen; + other.referenceCount = self.referenceCount; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: videoStreamID:%@; streamType:%@; videoCodec:%@; minFrameRate:%@; maxFrameRate:%@; minResolution:%@; maxResolution:%@; minBitRate:%@; maxBitRate:%@; minFragmentLen:%@; maxFragmentLen:%@; referenceCount:%@; >", NSStringFromClass([self class]), _videoStreamID, _streamType, _videoCodec, _minFrameRate, _maxFrameRate, _minResolution, _maxResolution, _minBitRate, _maxBitRate, _minFragmentLen, _maxFragmentLen, _referenceCount]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterViewportStruct +- (instancetype)init +{ + if (self = [super init]) { + + _x1 = @(0); + + _y1 = @(0); + + _x2 = @(0); + + _y2 = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterViewportStruct alloc] init]; + + other.x1 = self.x1; + other.y1 = self.y1; + other.x2 = self.x2; + other.y2 = self.y2; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: x1:%@; y1:%@; x2:%@; y2:%@; >", NSStringFromClass([self class]), _x1, _y1, _x2, _y2]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterVideoStreamChangedEvent +- (instancetype)init +{ + if (self = [super init]) { + + _videoStreamID = @(0); + + _streamType = nil; + + _videoCodec = nil; + + _minFrameRate = nil; + + _maxFrameRate = nil; + + _minResolution = nil; + + _maxResolution = nil; + + _minBitRate = nil; + + _maxBitRate = nil; + + _minFragmentLen = nil; + + _maxFragmentLen = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterVideoStreamChangedEvent alloc] init]; + + other.videoStreamID = self.videoStreamID; + other.streamType = self.streamType; + other.videoCodec = self.videoCodec; + other.minFrameRate = self.minFrameRate; + other.maxFrameRate = self.maxFrameRate; + other.minResolution = self.minResolution; + other.maxResolution = self.maxResolution; + other.minBitRate = self.minBitRate; + other.maxBitRate = self.maxBitRate; + other.minFragmentLen = self.minFragmentLen; + other.maxFragmentLen = self.maxFragmentLen; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: videoStreamID:%@; streamType:%@; videoCodec:%@; minFrameRate:%@; maxFrameRate:%@; minResolution:%@; maxResolution:%@; minBitRate:%@; maxBitRate:%@; minFragmentLen:%@; maxFragmentLen:%@; >", NSStringFromClass([self class]), _videoStreamID, _streamType, _videoCodec, _minFrameRate, _maxFrameRate, _minResolution, _maxResolution, _minBitRate, _maxBitRate, _minFragmentLen, _maxFragmentLen]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterAudioStreamChangedEvent +- (instancetype)init +{ + if (self = [super init]) { + + _audioStreamID = @(0); + + _streamType = nil; + + _audioCodec = nil; + + _channelCount = nil; + + _sampleRate = nil; + + _bitRate = nil; + + _bitDepth = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterAudioStreamChangedEvent alloc] init]; + + other.audioStreamID = self.audioStreamID; + other.streamType = self.streamType; + other.audioCodec = self.audioCodec; + other.channelCount = self.channelCount; + other.sampleRate = self.sampleRate; + other.bitRate = self.bitRate; + other.bitDepth = self.bitDepth; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: audioStreamID:%@; streamType:%@; audioCodec:%@; channelCount:%@; sampleRate:%@; bitRate:%@; bitDepth:%@; >", NSStringFromClass([self class]), _audioStreamID, _streamType, _audioCodec, _channelCount, _sampleRate, _bitRate, _bitDepth]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVStreamManagementClusterSnapshotStreamChangedEvent +- (instancetype)init +{ + if (self = [super init]) { + + _snapshotStreamID = @(0); + + _imageCodec = nil; + + _frameRate = nil; + + _bitRate = nil; + + _minResolution = nil; + + _maxResolution = nil; + + _quality = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVStreamManagementClusterSnapshotStreamChangedEvent alloc] init]; + + other.snapshotStreamID = self.snapshotStreamID; + other.imageCodec = self.imageCodec; + other.frameRate = self.frameRate; + other.bitRate = self.bitRate; + other.minResolution = self.minResolution; + other.maxResolution = self.maxResolution; + other.quality = self.quality; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: snapshotStreamID:%@; imageCodec:%@; frameRate:%@; bitRate:%@; minResolution:%@; maxResolution:%@; quality:%@; >", NSStringFromClass([self class]), _snapshotStreamID, _imageCodec, _frameRate, _bitRate, _minResolution, _maxResolution, _quality]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct +- (instancetype)init +{ + if (self = [super init]) { + + _mPan = nil; + + _mTilt = nil; + + _mZoom = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct alloc] init]; + + other.mPan = self.mPan; + other.mTilt = self.mTilt; + other.mZoom = self.mZoom; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: mPan:%@; mTilt:%@; mZoom:%@; >", NSStringFromClass([self class]), _mPan, _mTilt, _mZoom]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterPerStreamStruct +- (instancetype)init +{ + if (self = [super init]) { + + _streamID = @(0); + + _onOff = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterPerStreamStruct alloc] init]; + + other.streamID = self.streamID; + other.onOff = self.onOff; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamID:%@; onOff:%@; >", NSStringFromClass([self class]), _streamID, _onOff]; + return descriptionString; +} + +@end + +@implementation MTRCameraAVSettingsUserLevelManagementClusterViewportStruct +- (instancetype)init +{ + if (self = [super init]) { + + _x1 = @(0); + + _y1 = @(0); + + _x2 = @(0); + + _y2 = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRCameraAVSettingsUserLevelManagementClusterViewportStruct alloc] init]; + + other.x1 = self.x1; + other.y1 = self.y1; + other.x2 = self.x2; + other.y2 = self.y2; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: x1:%@; y1:%@; x2:%@; y2:%@; >", NSStringFromClass([self class]), _x1, _y1, _x2, _y2]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterICEServerStruct +- (instancetype)init +{ + if (self = [super init]) { + + _urls = [NSArray array]; + + _username = nil; + + _credential = nil; + + _caid = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRWebRTCTransportProviderClusterICEServerStruct alloc] init]; + + other.urls = self.urls; + other.username = self.username; + other.credential = self.credential; + other.caid = self.caid; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: urls:%@; username:%@; credential:%@; caid:%@; >", NSStringFromClass([self class]), _urls, _username, _credential, _caid]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportProviderClusterWebRTCSessionStruct +- (instancetype)init +{ + if (self = [super init]) { + + _id = @(0); + + _peerNodeId = @(0); + + _peerFabricIndex = @(0); + + _streamType = @(0); + + _videoStreamID = nil; + + _audioStreamID = nil; + + _metadataOptions = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRWebRTCTransportProviderClusterWebRTCSessionStruct alloc] init]; + + other.id = self.id; + other.peerNodeId = self.peerNodeId; + other.peerFabricIndex = self.peerFabricIndex; + other.streamType = self.streamType; + other.videoStreamID = self.videoStreamID; + other.audioStreamID = self.audioStreamID; + other.metadataOptions = self.metadataOptions; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: id:%@; peerNodeId:%@; peerFabricIndex:%@; streamType:%@; videoStreamID:%@; audioStreamID:%@; metadataOptions:%@; >", NSStringFromClass([self class]), _id, _peerNodeId, _peerFabricIndex, _streamType, _videoStreamID, _audioStreamID, _metadataOptions]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportRequestorClusterICEServerStruct +- (instancetype)init +{ + if (self = [super init]) { + + _urls = [NSArray array]; + + _username = nil; + + _credential = nil; + + _caid = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRWebRTCTransportRequestorClusterICEServerStruct alloc] init]; + + other.urls = self.urls; + other.username = self.username; + other.credential = self.credential; + other.caid = self.caid; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: urls:%@; username:%@; credential:%@; caid:%@; >", NSStringFromClass([self class]), _urls, _username, _credential, _caid]; + return descriptionString; +} + +@end + +@implementation MTRWebRTCTransportRequestorClusterWebRTCSessionStruct +- (instancetype)init +{ + if (self = [super init]) { + + _id = @(0); + + _peerNodeId = @(0); + + _peerFabricIndex = @(0); + + _streamType = @(0); + + _videoStreamID = nil; + + _audioStreamID = nil; + + _metadataOptions = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRWebRTCTransportRequestorClusterWebRTCSessionStruct alloc] init]; + + other.id = self.id; + other.peerNodeId = self.peerNodeId; + other.peerFabricIndex = self.peerFabricIndex; + other.streamType = self.streamType; + other.videoStreamID = self.videoStreamID; + other.audioStreamID = self.audioStreamID; + other.metadataOptions = self.metadataOptions; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: id:%@; peerNodeId:%@; peerFabricIndex:%@; streamType:%@; videoStreamID:%@; audioStreamID:%@; metadataOptions:%@; >", NSStringFromClass([self class]), _id, _peerNodeId, _peerFabricIndex, _streamType, _videoStreamID, _audioStreamID, _metadataOptions]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct +- (instancetype)init +{ + if (self = [super init]) { + + _initialDuration = @(0); + + _augmentationDuration = @(0); + + _maxDuration = @(0); + + _blindDuration = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct alloc] init]; + + other.initialDuration = self.initialDuration; + other.augmentationDuration = self.augmentationDuration; + other.maxDuration = self.maxDuration; + other.blindDuration = self.blindDuration; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: initialDuration:%@; augmentationDuration:%@; maxDuration:%@; blindDuration:%@; >", NSStringFromClass([self class]), _initialDuration, _augmentationDuration, _maxDuration, _blindDuration]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _multiplexing = @(0); + + _includeMotionZones = @(0); + + _enableMetadataPrivacySensitive = @(0); + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct alloc] init]; + + other.multiplexing = self.multiplexing; + other.includeMotionZones = self.includeMotionZones; + other.enableMetadataPrivacySensitive = self.enableMetadataPrivacySensitive; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: multiplexing:%@; includeMotionZones:%@; enableMetadataPrivacySensitive:%@; >", NSStringFromClass([self class]), _multiplexing, _includeMotionZones, _enableMetadataPrivacySensitive]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _triggerType = @(0); + + _motionZones = nil; + + _motionSensitivity = nil; + + _motionTimeControl = nil; + + _activationReason = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct alloc] init]; + + other.triggerType = self.triggerType; + other.motionZones = self.motionZones; + other.motionSensitivity = self.motionSensitivity; + other.motionTimeControl = self.motionTimeControl; + other.activationReason = self.activationReason; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: triggerType:%@; motionZones:%@; motionSensitivity:%@; motionTimeControl:%@; activationReason:%@; >", NSStringFromClass([self class]), _triggerType, _motionZones, _motionSensitivity, _motionTimeControl, _activationReason]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _chunkDuration = @(0); + + _cencKey = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct alloc] init]; + + other.chunkDuration = self.chunkDuration; + other.cencKey = self.cencKey; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: chunkDuration:%@; cencKey:%@; >", NSStringFromClass([self class]), _chunkDuration, [_cencKey base64EncodedStringWithOptions:0]]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _containerType = @(0); + + _cmafContainerOptions = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct alloc] init]; + + other.containerType = self.containerType; + other.cmafContainerOptions = self.cmafContainerOptions; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: containerType:%@; cmafContainerOptions:%@; >", NSStringFromClass([self class]), _containerType, _cmafContainerOptions]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct +- (instancetype)init +{ + if (self = [super init]) { + + _streamType = @(0); + + _videoStreamID = nil; + + _audioStreamID = nil; + + _tlsEndpointID = @(0); + + _url = @""; + + _triggerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct new]; + + _containerFormat = @(0); + + _ingestMethod = @(0); + + _containerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct new]; + + _metadataOptions = nil; + + _expiryTime = nil; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct alloc] init]; + + other.streamType = self.streamType; + other.videoStreamID = self.videoStreamID; + other.audioStreamID = self.audioStreamID; + other.tlsEndpointID = self.tlsEndpointID; + other.url = self.url; + other.triggerOptions = self.triggerOptions; + other.containerFormat = self.containerFormat; + other.ingestMethod = self.ingestMethod; + other.containerOptions = self.containerOptions; + other.metadataOptions = self.metadataOptions; + other.expiryTime = self.expiryTime; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: streamType:%@; videoStreamID:%@; audioStreamID:%@; tlsEndpointID:%@; url:%@; triggerOptions:%@; containerFormat:%@; ingestMethod:%@; containerOptions:%@; metadataOptions:%@; expiryTime:%@; >", NSStringFromClass([self class]), _streamType, _videoStreamID, _audioStreamID, _tlsEndpointID, _url, _triggerOptions, _containerFormat, _ingestMethod, _containerOptions, _metadataOptions, _expiryTime]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushAVStreamConfigurationStruct +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = @(0); + + _streamTransportStatus = @(0); + + _streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushAVStreamConfigurationStruct alloc] init]; + + other.connectionID = self.connectionID; + other.streamTransportStatus = self.streamTransportStatus; + other.streamTransportOptions = self.streamTransportOptions; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; streamTransportStatus:%@; streamTransportOptions:%@; >", NSStringFromClass([self class]), _connectionID, _streamTransportStatus, _streamTransportOptions]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushTransportBeginEvent +- (instancetype)init +{ + if (self = [super init]) { + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushTransportBeginEvent alloc] init]; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])]; + return descriptionString; +} + +@end + +@implementation MTRPushAVStreamTransportClusterPushTransportEndEvent +- (instancetype)init +{ + if (self = [super init]) { + + _connectionID = @(0); + + _triggerDetails = [MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct new]; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRPushAVStreamTransportClusterPushTransportEndEvent alloc] init]; + + other.connectionID = self.connectionID; + other.triggerDetails = self.triggerDetails; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: connectionID:%@; triggerDetails:%@; >", NSStringFromClass([self class]), _connectionID, _triggerDetails]; + return descriptionString; +} + +@end + +@implementation MTRChimeClusterChimeSoundStruct +- (instancetype)init +{ + if (self = [super init]) { + + _chimeId = @(0); + + _name = @""; + } + return self; +} + +- (id)copyWithZone:(NSZone * _Nullable)zone +{ + auto other = [[MTRChimeClusterChimeSoundStruct alloc] init]; + + other.chimeId = self.chimeId; + other.name = self.name; + + return other; +} + +- (NSString *)description +{ + NSString * descriptionString = [NSString stringWithFormat:@"<%@: chimeId:%@; name:%@; >", NSStringFromClass([self class]), _chimeId, _name]; + return descriptionString; +} + +@end + @implementation MTREcosystemInformationClusterDeviceTypeStruct - (instancetype)init { 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 ed3e70fb6c9d1a..3aca771e9a6ca4 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 @@ -37422,6 +37422,603 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t valu } // namespace Attributes } // namespace ContentAppObserver +namespace CameraAvStreamManagement { +namespace Attributes { + +namespace FeatureMap { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::CameraAvStreamManagement::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvStreamManagement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE, + markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvStreamManagement::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); +} + +} // namespace FeatureMap + +namespace ClusterRevision { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::CameraAvStreamManagement::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvStreamManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE, + markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvStreamManagement::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace CameraAvStreamManagement + +namespace CameraAvSettingsUserLevelManagement { +namespace Attributes { + +namespace FeatureMap { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::CameraAvSettingsUserLevelManagement::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvSettingsUserLevelManagement::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE, markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvSettingsUserLevelManagement::Id, Id, writable, + ZCL_BITMAP32_ATTRIBUTE_TYPE); +} + +} // namespace FeatureMap + +namespace ClusterRevision { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::CameraAvSettingsUserLevelManagement::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvSettingsUserLevelManagement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE, markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::CameraAvSettingsUserLevelManagement::Id, Id, writable, + ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace CameraAvSettingsUserLevelManagement + +namespace WebRTCTransportProvider { +namespace Attributes { + +namespace FeatureMap { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::WebRTCTransportProvider::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportProvider::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE, + markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportProvider::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); +} + +} // namespace FeatureMap + +namespace ClusterRevision { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::WebRTCTransportProvider::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportProvider::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE, + markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportProvider::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace WebRTCTransportProvider + +namespace WebRTCTransportRequestor { +namespace Attributes { + +namespace FeatureMap { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::WebRTCTransportRequestor::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportRequestor::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE, + markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportRequestor::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); +} + +} // namespace FeatureMap + +namespace ClusterRevision { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::WebRTCTransportRequestor::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportRequestor::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE, + markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::WebRTCTransportRequestor::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace WebRTCTransportRequestor + +namespace PushAvStreamTransport { +namespace Attributes { + +namespace FeatureMap { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::PushAvStreamTransport::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::PushAvStreamTransport::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE, + markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::PushAvStreamTransport::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); +} + +} // namespace FeatureMap + +namespace ClusterRevision { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = + emberAfReadAttribute(endpoint, Clusters::PushAvStreamTransport::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::PushAvStreamTransport::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE, markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::PushAvStreamTransport::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace PushAvStreamTransport + +namespace Chime { +namespace Attributes { + +namespace FeatureMap { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = emberAfReadAttribute(endpoint, Clusters::Chime::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::Chime::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE, markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::Chime::Id, Id, writable, ZCL_BITMAP32_ATTRIBUTE_TYPE); +} + +} // namespace FeatureMap + +namespace ClusterRevision { + +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value) +{ + using Traits = NumericAttributeTraits; + Traits::StorageType temp; + uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); + Protocols::InteractionModel::Status status = emberAfReadAttribute(endpoint, Clusters::Chime::Id, Id, readable, sizeof(temp)); + VerifyOrReturnError(Protocols::InteractionModel::Status::Success == status, status); + if (!Traits::CanRepresentValue(/* isNullable = */ false, temp)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + *value = Traits::StorageToWorking(temp); + return status; +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::Chime::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE, markDirty); +} + +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value) +{ + using Traits = NumericAttributeTraits; + if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) + { + return Protocols::InteractionModel::Status::ConstraintError; + } + Traits::StorageType storageValue; + Traits::WorkingToStorage(value, storageValue); + uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); + return emberAfWriteAttribute(endpoint, Clusters::Chime::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); +} + +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace Chime + namespace EcosystemInformation { 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 80b542dbf0c190..da444c118fb846 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 @@ -5809,6 +5809,114 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t valu } // namespace Attributes } // namespace ContentAppObserver +namespace CameraAvStreamManagement { +namespace Attributes { + +namespace FeatureMap { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty); +} // namespace FeatureMap + +namespace ClusterRevision { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value); // int16u +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty); +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace CameraAvStreamManagement + +namespace CameraAvSettingsUserLevelManagement { +namespace Attributes { + +namespace FeatureMap { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty); +} // namespace FeatureMap + +namespace ClusterRevision { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value); // int16u +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty); +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace CameraAvSettingsUserLevelManagement + +namespace WebRTCTransportProvider { +namespace Attributes { + +namespace FeatureMap { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty); +} // namespace FeatureMap + +namespace ClusterRevision { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value); // int16u +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty); +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace WebRTCTransportProvider + +namespace WebRTCTransportRequestor { +namespace Attributes { + +namespace FeatureMap { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty); +} // namespace FeatureMap + +namespace ClusterRevision { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value); // int16u +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty); +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace WebRTCTransportRequestor + +namespace PushAvStreamTransport { +namespace Attributes { + +namespace FeatureMap { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty); +} // namespace FeatureMap + +namespace ClusterRevision { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value); // int16u +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty); +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace PushAvStreamTransport + +namespace Chime { +namespace Attributes { + +namespace FeatureMap { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32 +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint32_t value, MarkAttributeDirty markDirty); +} // namespace FeatureMap + +namespace ClusterRevision { +Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint16_t * value); // int16u +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value); +Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t value, MarkAttributeDirty markDirty); +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace Chime + namespace EcosystemInformation { 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 724e7a7eb88857..6bc27c97ee0b08 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callback.h +++ b/zzz_generated/app-common/app-common/zap-generated/callback.h @@ -633,6 +633,36 @@ void emberAfContentControlClusterInitCallback(chip::EndpointId endpoint); */ void emberAfContentAppObserverClusterInitCallback(chip::EndpointId endpoint); +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfCameraAvStreamManagementClusterInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfCameraAvSettingsUserLevelManagementClusterInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfWebRTCTransportProviderClusterInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfWebRTCTransportRequestorClusterInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfPushAvStreamTransportClusterInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfChimeClusterInitCallback(chip::EndpointId endpoint); + /** * @param endpoint Endpoint that is being initialized */ @@ -5303,6 +5333,236 @@ chip::Protocols::InteractionModel::Status MatterContentAppObserverClusterServerP */ void emberAfContentAppObserverClusterServerTickCallback(chip::EndpointId endpoint); +// +// Camera AV Stream Management Cluster +// + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfCameraAvStreamManagementClusterServerInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being shutdown + */ +void MatterCameraAvStreamManagementClusterServerShutdownCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfCameraAvStreamManagementClusterClientInitCallback(chip::EndpointId endpoint); + +/** + * @param attributePath Concrete attribute path that changed + */ +void MatterCameraAvStreamManagementClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status MatterCameraAvStreamManagementClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** + * @param endpoint Endpoint that is being served + */ +void emberAfCameraAvStreamManagementClusterServerTickCallback(chip::EndpointId endpoint); + +// +// Camera AV Settings User Level Management Cluster +// + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfCameraAvSettingsUserLevelManagementClusterServerInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being shutdown + */ +void MatterCameraAvSettingsUserLevelManagementClusterServerShutdownCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfCameraAvSettingsUserLevelManagementClusterClientInitCallback(chip::EndpointId endpoint); + +/** + * @param attributePath Concrete attribute path that changed + */ +void MatterCameraAvSettingsUserLevelManagementClusterServerAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath); + +/** + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status MatterCameraAvSettingsUserLevelManagementClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** + * @param endpoint Endpoint that is being served + */ +void emberAfCameraAvSettingsUserLevelManagementClusterServerTickCallback(chip::EndpointId endpoint); + +// +// WebRTC Transport Provider Cluster +// + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfWebRTCTransportProviderClusterServerInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being shutdown + */ +void MatterWebRTCTransportProviderClusterServerShutdownCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfWebRTCTransportProviderClusterClientInitCallback(chip::EndpointId endpoint); + +/** + * @param attributePath Concrete attribute path that changed + */ +void MatterWebRTCTransportProviderClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status MatterWebRTCTransportProviderClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** + * @param endpoint Endpoint that is being served + */ +void emberAfWebRTCTransportProviderClusterServerTickCallback(chip::EndpointId endpoint); + +// +// WebRTC Transport Requestor Cluster +// + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfWebRTCTransportRequestorClusterServerInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being shutdown + */ +void MatterWebRTCTransportRequestorClusterServerShutdownCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfWebRTCTransportRequestorClusterClientInitCallback(chip::EndpointId endpoint); + +/** + * @param attributePath Concrete attribute path that changed + */ +void MatterWebRTCTransportRequestorClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status MatterWebRTCTransportRequestorClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** + * @param endpoint Endpoint that is being served + */ +void emberAfWebRTCTransportRequestorClusterServerTickCallback(chip::EndpointId endpoint); + +// +// Push AV Stream Transport Cluster +// + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfPushAvStreamTransportClusterServerInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being shutdown + */ +void MatterPushAvStreamTransportClusterServerShutdownCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfPushAvStreamTransportClusterClientInitCallback(chip::EndpointId endpoint); + +/** + * @param attributePath Concrete attribute path that changed + */ +void MatterPushAvStreamTransportClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status MatterPushAvStreamTransportClusterServerPreAttributeChangedCallback( + const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** + * @param endpoint Endpoint that is being served + */ +void emberAfPushAvStreamTransportClusterServerTickCallback(chip::EndpointId endpoint); + +// +// Chime Cluster +// + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfChimeClusterServerInitCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being shutdown + */ +void MatterChimeClusterServerShutdownCallback(chip::EndpointId endpoint); + +/** + * @param endpoint Endpoint that is being initialized + */ +void emberAfChimeClusterClientInitCallback(chip::EndpointId endpoint); + +/** + * @param attributePath Concrete attribute path that changed + */ +void MatterChimeClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status +MatterChimeClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** + * @param endpoint Endpoint that is being served + */ +void emberAfChimeClusterServerTickCallback(chip::EndpointId endpoint); + // // Ecosystem Information Cluster // @@ -6743,6 +7003,210 @@ bool emberAfContentControlClusterSetScheduledContentRatingThresholdCallback( bool emberAfContentAppObserverClusterContentAppMessageCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::ContentAppObserver::Commands::ContentAppMessage::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster AudioStreamAllocate Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterAudioStreamAllocateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster AudioStreamDeallocate Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterAudioStreamDeallocateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster VideoStreamAllocate Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterVideoStreamAllocateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster VideoStreamModify Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterVideoStreamModifyCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster VideoStreamDeallocate Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterVideoStreamDeallocateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster SnapshotStreamAllocate Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterSnapshotStreamAllocateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster SnapshotStreamDeallocate Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterSnapshotStreamDeallocateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster SetStreamPriority Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterSetStreamPriorityCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SetStreamPriority::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster CaptureSnapshot Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterCaptureSnapshotCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster SetViewport Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterSetViewportCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster SetImageRotation Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterSetImageRotationCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster SetImageFlipHorizontal Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterSetImageFlipHorizontalCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::DecodableType & commandData); +/** + * @brief Camera AV Stream Management Cluster SetImageFlipVertical Command callback (from client) + */ +bool emberAfCameraAvStreamManagementClusterSetImageFlipVerticalCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::DecodableType & commandData); +/** + * @brief Camera AV Settings User Level Management Cluster MptzSet Command callback (from client) + */ +bool emberAfCameraAvSettingsUserLevelManagementClusterMptzSetCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::DecodableType & commandData); +/** + * @brief Camera AV Settings User Level Management Cluster MptzRelativeMove Command callback (from client) + */ +bool emberAfCameraAvSettingsUserLevelManagementClusterMptzRelativeMoveCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::DecodableType & commandData); +/** + * @brief Camera AV Settings User Level Management Cluster SetAsPreset Command callback (from client) + */ +bool emberAfCameraAvSettingsUserLevelManagementClusterSetAsPresetCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::DecodableType & commandData); +/** + * @brief Camera AV Settings User Level Management Cluster DptzSetViewport Command callback (from client) + */ +bool emberAfCameraAvSettingsUserLevelManagementClusterDptzSetViewportCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::DecodableType & commandData); +/** + * @brief Camera AV Settings User Level Management Cluster DptzRelativeMove Command callback (from client) + */ +bool emberAfCameraAvSettingsUserLevelManagementClusterDptzRelativeMoveCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::DecodableType & commandData); +/** + * @brief WebRTC Transport Provider Cluster WebRTCSolicitOffer Command callback (from client) + */ +bool emberAfWebRTCTransportProviderClusterWebRTCSolicitOfferCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::DecodableType & commandData); +/** + * @brief WebRTC Transport Provider Cluster WebRTCProvideOffer Command callback (from client) + */ +bool emberAfWebRTCTransportProviderClusterWebRTCProvideOfferCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::DecodableType & commandData); +/** + * @brief WebRTC Transport Provider Cluster WebRTCProvideAnswer Command callback (from client) + */ +bool emberAfWebRTCTransportProviderClusterWebRTCProvideAnswerCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::DecodableType & commandData); +/** + * @brief WebRTC Transport Provider Cluster WebRTCProvideICECandidate Command callback (from client) + */ +bool emberAfWebRTCTransportProviderClusterWebRTCProvideICECandidateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::DecodableType & commandData); +/** + * @brief WebRTC Transport Provider Cluster WebRTCEndSession Command callback (from client) + */ +bool emberAfWebRTCTransportProviderClusterWebRTCEndSessionCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::DecodableType & commandData); +/** + * @brief WebRTC Transport Requestor Cluster WebRTCOffer Command callback (from client) + */ +bool emberAfWebRTCTransportRequestorClusterWebRTCOfferCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::DecodableType & commandData); +/** + * @brief WebRTC Transport Requestor Cluster WebRTCAnswer Command callback (from client) + */ +bool emberAfWebRTCTransportRequestorClusterWebRTCAnswerCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::DecodableType & commandData); +/** + * @brief WebRTC Transport Requestor Cluster WebRTCICECandidate Command callback (from client) + */ +bool emberAfWebRTCTransportRequestorClusterWebRTCICECandidateCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::DecodableType & commandData); +/** + * @brief WebRTC Transport Requestor Cluster WebRTCEnd Command callback (from client) + */ +bool emberAfWebRTCTransportRequestorClusterWebRTCEndCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::DecodableType & commandData); +/** + * @brief Push AV Stream Transport Cluster AllocatePushTransport Command callback (from client) + */ +bool emberAfPushAvStreamTransportClusterAllocatePushTransportCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::DecodableType & commandData); +/** + * @brief Push AV Stream Transport Cluster DeallocatePushTransport Command callback (from client) + */ +bool emberAfPushAvStreamTransportClusterDeallocatePushTransportCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::DecodableType & commandData); +/** + * @brief Push AV Stream Transport Cluster ModifyPushTransport Command callback (from client) + */ +bool emberAfPushAvStreamTransportClusterModifyPushTransportCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::DecodableType & commandData); +/** + * @brief Push AV Stream Transport Cluster SetTransportStatus Command callback (from client) + */ +bool emberAfPushAvStreamTransportClusterSetTransportStatusCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::DecodableType & commandData); +/** + * @brief Push AV Stream Transport Cluster ManuallyTriggerTransport Command callback (from client) + */ +bool emberAfPushAvStreamTransportClusterManuallyTriggerTransportCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::DecodableType & commandData); +/** + * @brief Push AV Stream Transport Cluster FindStreamConfiguration Command callback (from client) + */ +bool emberAfPushAvStreamTransportClusterFindStreamConfigurationCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::DecodableType & commandData); +/** + * @brief Chime Cluster PlayChimeSound Command callback (from client) + */ +bool emberAfChimeClusterPlayChimeSoundCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::Chime::Commands::PlayChimeSound::DecodableType & commandData); /** * @brief Commissioner Control Cluster RequestCommissioningApproval Command callback (from client) */ diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h index 90d399b8e6fde7..977f0c93115a7e 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h @@ -416,6 +416,34 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::RelativePositi } } +static auto __attribute__((unused)) EnsureKnownEnumValue(detail::StreamTypeEnum val) +{ + using EnumType = detail::StreamTypeEnum; + switch (val) + { + case EnumType::kInternal: + case EnumType::kRecording: + case EnumType::kAnalysis: + case EnumType::kLiveView: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(detail::StreamTypeEnum val) +{ + using EnumType = detail::StreamTypeEnum; + switch (val) + { + case EnumType::kInternal: + case EnumType::kRecording: + case EnumType::kAnalysis: + case EnumType::kLiveView: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::TestGlobalEnum val) { using EnumType = Globals::TestGlobalEnum; @@ -430,6 +458,44 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::TestGlobalEnum } } +static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::ThreeLevelAutoEnum val) +{ + using EnumType = Globals::ThreeLevelAutoEnum; + switch (val) + { + case EnumType::kLow: + case EnumType::kMedium: + case EnumType::kHigh: + case EnumType::kAutomatic: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(detail::WebRTCEndReasonEnum val) +{ + using EnumType = detail::WebRTCEndReasonEnum; + switch (val) + { + case EnumType::kIceFailed: + case EnumType::kIceTimeout: + case EnumType::kUserHangup: + case EnumType::kUserBusy: + case EnumType::kReplaced: + case EnumType::kNoUserMedia: + case EnumType::kInviteTimeout: + case EnumType::kAnsweredElsewhere: + case EnumType::kOutOfResources: + case EnumType::kMediaTimeout: + case EnumType::kLowPower: + case EnumType::kUnknownError: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} + static auto __attribute__((unused)) EnsureKnownEnumValue(Identify::EffectIdentifierEnum val) { using EnumType = Identify::EffectIdentifierEnum; @@ -3466,6 +3532,162 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(ContentAppObserver::Sta } } +static auto __attribute__((unused)) EnsureKnownEnumValue(CameraAvStreamManagement::AudioCodecEnum val) +{ + using EnumType = CameraAvStreamManagement::AudioCodecEnum; + switch (val) + { + case EnumType::kOpus: + case EnumType::kAacLc: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(CameraAvStreamManagement::ImageCodecEnum val) +{ + using EnumType = CameraAvStreamManagement::ImageCodecEnum; + switch (val) + { + case EnumType::kJpeg: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(CameraAvStreamManagement::TriStateAuto val) +{ + using EnumType = CameraAvStreamManagement::TriStateAuto; + switch (val) + { + case EnumType::kOff: + case EnumType::kOn: + case EnumType::kAuto: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(CameraAvStreamManagement::TwowayTalkSupportTypeEnum val) +{ + using EnumType = CameraAvStreamManagement::TwowayTalkSupportTypeEnum; + switch (val) + { + case EnumType::kNotSupported: + case EnumType::kHalfDuplex: + case EnumType::kFullDuplex: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(CameraAvStreamManagement::VideoCodecEnum val) +{ + using EnumType = CameraAvStreamManagement::VideoCodecEnum; + switch (val) + { + case EnumType::kH264: + case EnumType::kHevc: + case EnumType::kVvc: + case EnumType::kAv1: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(PushAvStreamTransport::PushAVStreamTransportContainerFormatEnum val) +{ + using EnumType = PushAvStreamTransport::PushAVStreamTransportContainerFormatEnum; + switch (val) + { + case EnumType::kCmaf: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PushAvStreamTransport::PushAVStreamTransportIngestMethodEnum val) +{ + using EnumType = PushAvStreamTransport::PushAVStreamTransportIngestMethodEnum; + switch (val) + { + case EnumType::kCMAFIngest: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PushAvStreamTransport::PushAVStreamTransportStatusEnum val) +{ + using EnumType = PushAvStreamTransport::PushAVStreamTransportStatusEnum; + switch (val) + { + case EnumType::kActive: + case EnumType::kInactive: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PushAvStreamTransport::PushAVStreamTransportStreamMultiplexingEnum val) +{ + using EnumType = PushAvStreamTransport::PushAVStreamTransportStreamMultiplexingEnum; + switch (val) + { + case EnumType::kInterleaved: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) +EnsureKnownEnumValue(PushAvStreamTransport::PushAVStreamTransportTriggerActivationReasonEnum val) +{ + using EnumType = PushAvStreamTransport::PushAVStreamTransportTriggerActivationReasonEnum; + switch (val) + { + case EnumType::kUserInitiated: + case EnumType::kAutomation: + case EnumType::kEmergency: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PushAvStreamTransport::PushAVStreamTransportTriggerTypeEnum val) +{ + using EnumType = PushAvStreamTransport::PushAVStreamTransportTriggerTypeEnum; + switch (val) + { + case EnumType::kCommand: + case EnumType::kMotion: + case EnumType::kContinuous: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PushAvStreamTransport::StatusCodeEnum val) +{ + using EnumType = PushAvStreamTransport::StatusCodeEnum; + switch (val) + { + case EnumType::kAllocationNotPermitted: + case EnumType::kInvalidParameters: + case EnumType::kInvalidUrl: + case EnumType::kInvalidTriggerOptions: + case EnumType::kUnsupportedContainerFormat: + case EnumType::kUnsupportedIngestMethod: + case EnumType::kPavstNotInUse: + case EnumType::kInvalidTriggerFormat: + case EnumType::kInvalidTransportStatus: + return val; + default: + return EnumType::kUnknownEnumValue; + } +} + static auto __attribute__((unused)) EnsureKnownEnumValue(UnitTesting::SimpleEnum val) { using EnumType = UnitTesting::SimpleEnum; 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 b1a50bcd44a722..69bc71394bcddf 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 @@ -167,8 +167,64 @@ enum class ProductIdentifierTypeEnum : uint8_t kUnknownEnumValue = 5, }; +// Enum for StreamTypeEnum +enum class StreamTypeEnum : uint8_t +{ + kInternal = 0x00, + kRecording = 0x01, + kAnalysis = 0x02, + kLiveView = 0x03, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 4, +}; + +// Enum for StreamTypeEnum +enum class StreamTypeEnum : uint8_t +{ + kInternal = 0x00, + kRecording = 0x01, + kAnalysis = 0x02, + kLiveView = 0x03, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 4, +}; + +// Enum for WebRTCEndReasonEnum +enum class WebRTCEndReasonEnum : uint8_t +{ + kIceFailed = 0x01, + kIceTimeout = 0x02, + kUserHangup = 0x03, + kUserBusy = 0x04, + kReplaced = 0x05, + kNoUserMedia = 0x06, + kInviteTimeout = 0x07, + kAnsweredElsewhere = 0x08, + kOutOfResources = 0x09, + kMediaTimeout = 0x0A, + kLowPower = 0x0B, + kUnknownError = 0x0C, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 0, +}; + // Bitmaps shared across multiple clusters. +// Bitmap for WebRTCMetadataOptions +enum class WebRTCMetadataOptions : uint8_t +{ + kDataTLV = 0x1, +}; + } // namespace detail namespace Globals { @@ -434,6 +490,20 @@ enum class TestGlobalEnum : uint8_t kUnknownEnumValue = 3, }; +// Enum for ThreeLevelAutoEnum +enum class ThreeLevelAutoEnum : uint8_t +{ + kLow = 0x00, + kMedium = 0x01, + kHigh = 0x02, + kAutomatic = 0x03, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 4, +}; + // Global bitmaps. // Bitmap for TestGlobalBitmap @@ -5286,6 +5356,227 @@ enum class StatusEnum : uint8_t }; } // namespace ContentAppObserver +namespace CameraAvStreamManagement { + +// Enum for AudioCodecEnum +enum class AudioCodecEnum : uint8_t +{ + kOpus = 0x00, + kAacLc = 0x01, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 2, +}; + +// Enum for ImageCodecEnum +enum class ImageCodecEnum : uint8_t +{ + kJpeg = 0x00, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 1, +}; + +using StreamTypeEnum = Clusters::detail::StreamTypeEnum; + +// Enum for TriStateAuto +enum class TriStateAuto : uint8_t +{ + kOff = 0x00, + kOn = 0x01, + kAuto = 0x02, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 3, +}; + +// Enum for TwowayTalkSupportTypeEnum +enum class TwowayTalkSupportTypeEnum : uint8_t +{ + kNotSupported = 0x00, + kHalfDuplex = 0x01, + kFullDuplex = 0x02, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 3, +}; + +// Enum for VideoCodecEnum +enum class VideoCodecEnum : uint8_t +{ + kH264 = 0x00, + kHevc = 0x01, + kVvc = 0x02, + kAv1 = 0x03, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 4, +}; + +// Bitmap for Feature +enum class Feature : uint32_t +{ + kPrivacy = 0x1, + kSensorControl = 0x2, + kAudio = 0x4, + kImageControl = 0x8, + kVideo = 0x10, + kSnapshot = 0x20, + kLocalStorage = 0x40, +}; +} // namespace CameraAvStreamManagement + +namespace CameraAvSettingsUserLevelManagement { + +// Bitmap for Feature +enum class Feature : uint32_t +{ + kMechanicalPTZ = 0x1, + kDigitalPTZ = 0x2, +}; +} // namespace CameraAvSettingsUserLevelManagement + +namespace WebRTCTransportProvider { + +using StreamTypeEnum = Clusters::detail::StreamTypeEnum; + +using StreamTypeEnum = Clusters::detail::StreamTypeEnum; + +using WebRTCEndReasonEnum = Clusters::detail::WebRTCEndReasonEnum; + +using WebRTCMetadataOptions = Clusters::detail::WebRTCMetadataOptions; +} // namespace WebRTCTransportProvider + +namespace WebRTCTransportRequestor { + +using StreamTypeEnum = Clusters::detail::StreamTypeEnum; + +using StreamTypeEnum = Clusters::detail::StreamTypeEnum; + +using WebRTCEndReasonEnum = Clusters::detail::WebRTCEndReasonEnum; + +using WebRTCMetadataOptions = Clusters::detail::WebRTCMetadataOptions; +} // namespace WebRTCTransportRequestor + +namespace PushAvStreamTransport { + +// Enum for PushAVStreamTransportContainerFormatEnum +enum class PushAVStreamTransportContainerFormatEnum : uint8_t +{ + kCmaf = 0x00, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 1, +}; + +// Enum for PushAVStreamTransportIngestMethodEnum +enum class PushAVStreamTransportIngestMethodEnum : uint8_t +{ + kCMAFIngest = 0x00, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 1, +}; + +// Enum for PushAVStreamTransportStatusEnum +enum class PushAVStreamTransportStatusEnum : uint8_t +{ + kActive = 0x00, + kInactive = 0x01, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 2, +}; + +// Enum for PushAVStreamTransportStreamMultiplexingEnum +enum class PushAVStreamTransportStreamMultiplexingEnum : uint8_t +{ + kInterleaved = 0x00, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 1, +}; + +// Enum for PushAVStreamTransportTriggerActivationReasonEnum +enum class PushAVStreamTransportTriggerActivationReasonEnum : uint8_t +{ + kUserInitiated = 0x00, + kAutomation = 0x01, + kEmergency = 0x02, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 3, +}; + +// Enum for PushAVStreamTransportTriggerTypeEnum +enum class PushAVStreamTransportTriggerTypeEnum : uint8_t +{ + kCommand = 0x00, + kMotion = 0x01, + kContinuous = 0x02, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 3, +}; + +// Enum for StatusCodeEnum +enum class StatusCodeEnum : uint8_t +{ + kAllocationNotPermitted = 0x02, + kInvalidParameters = 0x03, + kInvalidUrl = 0x04, + kInvalidTriggerOptions = 0x05, + kUnsupportedContainerFormat = 0x06, + kUnsupportedIngestMethod = 0x07, + kPavstNotInUse = 0x08, + kInvalidTriggerFormat = 0x09, + kInvalidTransportStatus = 0x10, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 0, +}; + +using StreamTypeEnum = Clusters::detail::StreamTypeEnum; + +// Bitmap for PushAVStreamTransportSupportedContainerFormatsBitmap +enum class PushAVStreamTransportSupportedContainerFormatsBitmap : uint8_t +{ + kCmaf = 0x1, +}; + +// Bitmap for PushAVStreamTransportSupportedIngestMethodsBitmap +enum class PushAVStreamTransportSupportedIngestMethodsBitmap : uint8_t +{ + kCMAFIngest = 0x1, +}; +} // namespace PushAvStreamTransport + +namespace Chime {} // namespace Chime + namespace EcosystemInformation {} // namespace EcosystemInformation namespace CommissionerControl { 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 78368f7293b1a4..3dc2d156462287 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 @@ -422,6 +422,57 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } // namespace ErrorStateStruct +namespace ICEServerStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kUrls), urls); + encoder.Encode(to_underlying(Fields::kUsername), username); + encoder.Encode(to_underlying(Fields::kCredential), credential); + encoder.Encode(to_underlying(Fields::kCaid), caid); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kUrls)) + { + err = DataModel::Decode(reader, urls); + } + else if (__context_tag == to_underlying(Fields::kUsername)) + { + err = DataModel::Decode(reader, username); + } + else if (__context_tag == to_underlying(Fields::kCredential)) + { + err = DataModel::Decode(reader, credential); + } + else if (__context_tag == to_underlying(Fields::kCaid)) + { + err = DataModel::Decode(reader, caid); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace ICEServerStruct + namespace LabelStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { @@ -503,6 +554,164 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } } // namespace OperationalStateStruct + +namespace PerStreamStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kStreamID), streamID); + encoder.Encode(to_underlying(Fields::kOnOff), onOff); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kStreamID)) + { + err = DataModel::Decode(reader, streamID); + } + else if (__context_tag == to_underlying(Fields::kOnOff)) + { + err = DataModel::Decode(reader, onOff); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace PerStreamStruct + +namespace ViewportStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kX1), x1); + encoder.Encode(to_underlying(Fields::kY1), y1); + encoder.Encode(to_underlying(Fields::kX2), x2); + encoder.Encode(to_underlying(Fields::kY2), y2); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kX1)) + { + err = DataModel::Decode(reader, x1); + } + else if (__context_tag == to_underlying(Fields::kY1)) + { + err = DataModel::Decode(reader, y1); + } + else if (__context_tag == to_underlying(Fields::kX2)) + { + err = DataModel::Decode(reader, x2); + } + else if (__context_tag == to_underlying(Fields::kY2)) + { + err = DataModel::Decode(reader, y2); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace ViewportStruct + +namespace WebRTCSessionStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kId), id); + encoder.Encode(to_underlying(Fields::kPeerNodeId), peerNodeId); + encoder.Encode(to_underlying(Fields::kPeerFabricIndex), peerFabricIndex); + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + encoder.Encode(to_underlying(Fields::kMetadataOptions), metadataOptions); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kId)) + { + err = DataModel::Decode(reader, id); + } + else if (__context_tag == to_underlying(Fields::kPeerNodeId)) + { + err = DataModel::Decode(reader, peerNodeId); + } + else if (__context_tag == to_underlying(Fields::kPeerFabricIndex)) + { + err = DataModel::Decode(reader, peerFabricIndex); + } + else if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else if (__context_tag == to_underlying(Fields::kMetadataOptions)) + { + err = DataModel::Decode(reader, metadataOptions); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace WebRTCSessionStruct } // namespace Structs } // namespace detail @@ -28079,14 +28288,2911 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } } // namespace Attributes -namespace Events { -namespace LoggedOut { +namespace Events { +namespace LoggedOut { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(aWriter.StartContainer(aTag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kNode), node)); + return aWriter.EndContainer(outer); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kNode)) + { + err = DataModel::Decode(reader, node); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace LoggedOut. +} // namespace Events + +} // namespace AccountLogin +namespace ContentControl { +namespace Structs { + +namespace RatingNameStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kRatingName), ratingName); + encoder.Encode(to_underlying(Fields::kRatingNameDesc), ratingNameDesc); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kRatingName)) + { + err = DataModel::Decode(reader, ratingName); + } + else if (__context_tag == to_underlying(Fields::kRatingNameDesc)) + { + err = DataModel::Decode(reader, ratingNameDesc); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace RatingNameStruct +} // namespace Structs + +namespace Commands { +namespace UpdatePIN { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kOldPIN), oldPIN); + encoder.Encode(to_underlying(Fields::kNewPIN), newPIN); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kOldPIN)) + { + err = DataModel::Decode(reader, oldPIN); + } + else if (__context_tag == to_underlying(Fields::kNewPIN)) + { + err = DataModel::Decode(reader, newPIN); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace UpdatePIN. +namespace ResetPIN { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace ResetPIN. +namespace ResetPINResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kPINCode), PINCode); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kPINCode)) + { + err = DataModel::Decode(reader, PINCode); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace ResetPINResponse. +namespace Enable { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace Enable. +namespace Disable { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace Disable. +namespace AddBonusTime { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kPINCode), PINCode); + encoder.Encode(to_underlying(Fields::kBonusTime), bonusTime); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kPINCode)) + { + err = DataModel::Decode(reader, PINCode); + } + else if (__context_tag == to_underlying(Fields::kBonusTime)) + { + err = DataModel::Decode(reader, bonusTime); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace AddBonusTime. +namespace SetScreenDailyTime { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kScreenTime), screenTime); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kScreenTime)) + { + err = DataModel::Decode(reader, screenTime); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SetScreenDailyTime. +namespace BlockUnratedContent { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace BlockUnratedContent. +namespace UnblockUnratedContent { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace UnblockUnratedContent. +namespace SetOnDemandRatingThreshold { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kRating), rating); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kRating)) + { + err = DataModel::Decode(reader, rating); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SetOnDemandRatingThreshold. +namespace SetScheduledContentRatingThreshold { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kRating), rating); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kRating)) + { + err = DataModel::Decode(reader, rating); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SetScheduledContentRatingThreshold. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::Enabled::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, enabled); + case Attributes::OnDemandRatings::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, onDemandRatings); + case Attributes::OnDemandRatingThreshold::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, onDemandRatingThreshold); + case Attributes::ScheduledContentRatings::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, scheduledContentRatings); + case Attributes::ScheduledContentRatingThreshold::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, scheduledContentRatingThreshold); + case Attributes::ScreenDailyTime::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, screenDailyTime); + case Attributes::RemainingScreenTime::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, remainingScreenTime); + case Attributes::BlockUnrated::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, blockUnrated); + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, generatedCommandList); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, acceptedCommandList); + case Attributes::EventList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, eventList); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, attributeList); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, featureMap); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, clusterRevision); + default: + return CHIP_NO_ERROR; + } +} +} // namespace Attributes + +namespace Events { +namespace RemainingScreenTimeExpired { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(aWriter.StartContainer(aTag, TLV::kTLVType_Structure, outer)); + return aWriter.EndContainer(outer); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace RemainingScreenTimeExpired. +} // namespace Events + +} // namespace ContentControl +namespace ContentAppObserver { + +namespace Commands { +namespace ContentAppMessage { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kData), data); + encoder.Encode(to_underlying(Fields::kEncodingHint), encodingHint); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kData)) + { + err = DataModel::Decode(reader, data); + } + else if (__context_tag == to_underlying(Fields::kEncodingHint)) + { + err = DataModel::Decode(reader, encodingHint); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace ContentAppMessage. +namespace ContentAppMessageResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kStatus), status); + encoder.Encode(to_underlying(Fields::kData), data); + encoder.Encode(to_underlying(Fields::kEncodingHint), encodingHint); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kStatus)) + { + err = DataModel::Decode(reader, status); + } + else if (__context_tag == to_underlying(Fields::kData)) + { + err = DataModel::Decode(reader, data); + } + else if (__context_tag == to_underlying(Fields::kEncodingHint)) + { + err = DataModel::Decode(reader, encodingHint); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace ContentAppMessageResponse. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, generatedCommandList); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, acceptedCommandList); + case Attributes::EventList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, eventList); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, attributeList); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, featureMap); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, clusterRevision); + default: + return CHIP_NO_ERROR; + } +} +} // namespace Attributes + +namespace Events {} // namespace Events + +} // namespace ContentAppObserver +namespace CameraAvStreamManagement { +namespace Structs { + +namespace AudioCapabilitiesStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kMaxNumberOfChannels), maxNumberOfChannels); + encoder.Encode(to_underlying(Fields::kSupportedCodecs), supportedCodecs); + encoder.Encode(to_underlying(Fields::kSupportedSampleRates), supportedSampleRates); + encoder.Encode(to_underlying(Fields::kSupportedBitDepths), supportedBitDepths); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kMaxNumberOfChannels)) + { + err = DataModel::Decode(reader, maxNumberOfChannels); + } + else if (__context_tag == to_underlying(Fields::kSupportedCodecs)) + { + err = DataModel::Decode(reader, supportedCodecs); + } + else if (__context_tag == to_underlying(Fields::kSupportedSampleRates)) + { + err = DataModel::Decode(reader, supportedSampleRates); + } + else if (__context_tag == to_underlying(Fields::kSupportedBitDepths)) + { + err = DataModel::Decode(reader, supportedBitDepths); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace AudioCapabilitiesStruct + +namespace AudioStreamStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kAudioCodec), audioCodec); + encoder.Encode(to_underlying(Fields::kChannelCount), channelCount); + encoder.Encode(to_underlying(Fields::kSampleRate), sampleRate); + encoder.Encode(to_underlying(Fields::kBitRate), bitRate); + encoder.Encode(to_underlying(Fields::kBitDepth), bitDepth); + encoder.Encode(to_underlying(Fields::kReferenceCount), referenceCount); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kAudioCodec)) + { + err = DataModel::Decode(reader, audioCodec); + } + else if (__context_tag == to_underlying(Fields::kChannelCount)) + { + err = DataModel::Decode(reader, channelCount); + } + else if (__context_tag == to_underlying(Fields::kSampleRate)) + { + err = DataModel::Decode(reader, sampleRate); + } + else if (__context_tag == to_underlying(Fields::kBitRate)) + { + err = DataModel::Decode(reader, bitRate); + } + else if (__context_tag == to_underlying(Fields::kBitDepth)) + { + err = DataModel::Decode(reader, bitDepth); + } + else if (__context_tag == to_underlying(Fields::kReferenceCount)) + { + err = DataModel::Decode(reader, referenceCount); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace AudioStreamStruct + +namespace RateDistortionTradeOffPointsStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kCodec), codec); + encoder.Encode(to_underlying(Fields::kResolution), resolution); + encoder.Encode(to_underlying(Fields::kMinBitRate), minBitRate); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kCodec)) + { + err = DataModel::Decode(reader, codec); + } + else if (__context_tag == to_underlying(Fields::kResolution)) + { + err = DataModel::Decode(reader, resolution); + } + else if (__context_tag == to_underlying(Fields::kMinBitRate)) + { + err = DataModel::Decode(reader, minBitRate); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace RateDistortionTradeOffPointsStruct + +namespace SnapshotParamsStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kResolution), resolution); + encoder.Encode(to_underlying(Fields::kMaxFrameRate), maxFrameRate); + encoder.Encode(to_underlying(Fields::kImageCodec), imageCodec); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kResolution)) + { + err = DataModel::Decode(reader, resolution); + } + else if (__context_tag == to_underlying(Fields::kMaxFrameRate)) + { + err = DataModel::Decode(reader, maxFrameRate); + } + else if (__context_tag == to_underlying(Fields::kImageCodec)) + { + err = DataModel::Decode(reader, imageCodec); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace SnapshotParamsStruct + +namespace SnapshotStreamStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kSnapshotStreamID), snapshotStreamID); + encoder.Encode(to_underlying(Fields::kImageCodec), imageCodec); + encoder.Encode(to_underlying(Fields::kFrameRate), frameRate); + encoder.Encode(to_underlying(Fields::kBitRate), bitRate); + encoder.Encode(to_underlying(Fields::kMinResolution), minResolution); + encoder.Encode(to_underlying(Fields::kMaxResolution), maxResolution); + encoder.Encode(to_underlying(Fields::kQuality), quality); + encoder.Encode(to_underlying(Fields::kReferenceCount), referenceCount); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kSnapshotStreamID)) + { + err = DataModel::Decode(reader, snapshotStreamID); + } + else if (__context_tag == to_underlying(Fields::kImageCodec)) + { + err = DataModel::Decode(reader, imageCodec); + } + else if (__context_tag == to_underlying(Fields::kFrameRate)) + { + err = DataModel::Decode(reader, frameRate); + } + else if (__context_tag == to_underlying(Fields::kBitRate)) + { + err = DataModel::Decode(reader, bitRate); + } + else if (__context_tag == to_underlying(Fields::kMinResolution)) + { + err = DataModel::Decode(reader, minResolution); + } + else if (__context_tag == to_underlying(Fields::kMaxResolution)) + { + err = DataModel::Decode(reader, maxResolution); + } + else if (__context_tag == to_underlying(Fields::kQuality)) + { + err = DataModel::Decode(reader, quality); + } + else if (__context_tag == to_underlying(Fields::kReferenceCount)) + { + err = DataModel::Decode(reader, referenceCount); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace SnapshotStreamStruct + +namespace VideoSensorParamsStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kSensorWidth), sensorWidth); + encoder.Encode(to_underlying(Fields::kSensorHeight), sensorHeight); + encoder.Encode(to_underlying(Fields::kHDRCapable), HDRCapable); + encoder.Encode(to_underlying(Fields::kMaxFPS), maxFPS); + encoder.Encode(to_underlying(Fields::kMaxHDRFPS), maxHDRFPS); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kSensorWidth)) + { + err = DataModel::Decode(reader, sensorWidth); + } + else if (__context_tag == to_underlying(Fields::kSensorHeight)) + { + err = DataModel::Decode(reader, sensorHeight); + } + else if (__context_tag == to_underlying(Fields::kHDRCapable)) + { + err = DataModel::Decode(reader, HDRCapable); + } + else if (__context_tag == to_underlying(Fields::kMaxFPS)) + { + err = DataModel::Decode(reader, maxFPS); + } + else if (__context_tag == to_underlying(Fields::kMaxHDRFPS)) + { + err = DataModel::Decode(reader, maxHDRFPS); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace VideoSensorParamsStruct + +namespace VideoStreamStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kVideoCodec), videoCodec); + encoder.Encode(to_underlying(Fields::kMinFrameRate), minFrameRate); + encoder.Encode(to_underlying(Fields::kMaxFrameRate), maxFrameRate); + encoder.Encode(to_underlying(Fields::kMinResolution), minResolution); + encoder.Encode(to_underlying(Fields::kMaxResolution), maxResolution); + encoder.Encode(to_underlying(Fields::kMinBitRate), minBitRate); + encoder.Encode(to_underlying(Fields::kMaxBitRate), maxBitRate); + encoder.Encode(to_underlying(Fields::kMinFragmentLen), minFragmentLen); + encoder.Encode(to_underlying(Fields::kMaxFragmentLen), maxFragmentLen); + encoder.Encode(to_underlying(Fields::kReferenceCount), referenceCount); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kVideoCodec)) + { + err = DataModel::Decode(reader, videoCodec); + } + else if (__context_tag == to_underlying(Fields::kMinFrameRate)) + { + err = DataModel::Decode(reader, minFrameRate); + } + else if (__context_tag == to_underlying(Fields::kMaxFrameRate)) + { + err = DataModel::Decode(reader, maxFrameRate); + } + else if (__context_tag == to_underlying(Fields::kMinResolution)) + { + err = DataModel::Decode(reader, minResolution); + } + else if (__context_tag == to_underlying(Fields::kMaxResolution)) + { + err = DataModel::Decode(reader, maxResolution); + } + else if (__context_tag == to_underlying(Fields::kMinBitRate)) + { + err = DataModel::Decode(reader, minBitRate); + } + else if (__context_tag == to_underlying(Fields::kMaxBitRate)) + { + err = DataModel::Decode(reader, maxBitRate); + } + else if (__context_tag == to_underlying(Fields::kMinFragmentLen)) + { + err = DataModel::Decode(reader, minFragmentLen); + } + else if (__context_tag == to_underlying(Fields::kMaxFragmentLen)) + { + err = DataModel::Decode(reader, maxFragmentLen); + } + else if (__context_tag == to_underlying(Fields::kReferenceCount)) + { + err = DataModel::Decode(reader, referenceCount); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace VideoStreamStruct +} // namespace Structs + +namespace Commands { +namespace AudioStreamAllocate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kAudioCodec), audioCodec); + encoder.Encode(to_underlying(Fields::kChannelCount), channelCount); + encoder.Encode(to_underlying(Fields::kSampleRate), sampleRate); + encoder.Encode(to_underlying(Fields::kBitRate), bitRate); + encoder.Encode(to_underlying(Fields::kBitDepth), bitDepth); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kAudioCodec)) + { + err = DataModel::Decode(reader, audioCodec); + } + else if (__context_tag == to_underlying(Fields::kChannelCount)) + { + err = DataModel::Decode(reader, channelCount); + } + else if (__context_tag == to_underlying(Fields::kSampleRate)) + { + err = DataModel::Decode(reader, sampleRate); + } + else if (__context_tag == to_underlying(Fields::kBitRate)) + { + err = DataModel::Decode(reader, bitRate); + } + else if (__context_tag == to_underlying(Fields::kBitDepth)) + { + err = DataModel::Decode(reader, bitDepth); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace AudioStreamAllocate. +namespace AudioStreamAllocateResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace AudioStreamAllocateResponse. +namespace AudioStreamDeallocate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace AudioStreamDeallocate. +namespace VideoStreamAllocate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kVideoCodec), videoCodec); + encoder.Encode(to_underlying(Fields::kMinFrameRate), minFrameRate); + encoder.Encode(to_underlying(Fields::kMaxFrameRate), maxFrameRate); + encoder.Encode(to_underlying(Fields::kMinResolution), minResolution); + encoder.Encode(to_underlying(Fields::kMaxResolution), maxResolution); + encoder.Encode(to_underlying(Fields::kMinBitRate), minBitRate); + encoder.Encode(to_underlying(Fields::kMaxBitRate), maxBitRate); + encoder.Encode(to_underlying(Fields::kMinFragmentLen), minFragmentLen); + encoder.Encode(to_underlying(Fields::kMaxFragmentLen), maxFragmentLen); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kVideoCodec)) + { + err = DataModel::Decode(reader, videoCodec); + } + else if (__context_tag == to_underlying(Fields::kMinFrameRate)) + { + err = DataModel::Decode(reader, minFrameRate); + } + else if (__context_tag == to_underlying(Fields::kMaxFrameRate)) + { + err = DataModel::Decode(reader, maxFrameRate); + } + else if (__context_tag == to_underlying(Fields::kMinResolution)) + { + err = DataModel::Decode(reader, minResolution); + } + else if (__context_tag == to_underlying(Fields::kMaxResolution)) + { + err = DataModel::Decode(reader, maxResolution); + } + else if (__context_tag == to_underlying(Fields::kMinBitRate)) + { + err = DataModel::Decode(reader, minBitRate); + } + else if (__context_tag == to_underlying(Fields::kMaxBitRate)) + { + err = DataModel::Decode(reader, maxBitRate); + } + else if (__context_tag == to_underlying(Fields::kMinFragmentLen)) + { + err = DataModel::Decode(reader, minFragmentLen); + } + else if (__context_tag == to_underlying(Fields::kMaxFragmentLen)) + { + err = DataModel::Decode(reader, maxFragmentLen); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace VideoStreamAllocate. +namespace VideoStreamAllocateResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace VideoStreamAllocateResponse. +namespace VideoStreamModify { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kResolution), resolution); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kResolution)) + { + err = DataModel::Decode(reader, resolution); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace VideoStreamModify. +namespace VideoStreamDeallocate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace VideoStreamDeallocate. +namespace SnapshotStreamAllocate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kImageCodec), imageCodec); + encoder.Encode(to_underlying(Fields::kFrameRate), frameRate); + encoder.Encode(to_underlying(Fields::kBitRate), bitRate); + encoder.Encode(to_underlying(Fields::kMinResolution), minResolution); + encoder.Encode(to_underlying(Fields::kMaxResolution), maxResolution); + encoder.Encode(to_underlying(Fields::kQuality), quality); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kImageCodec)) + { + err = DataModel::Decode(reader, imageCodec); + } + else if (__context_tag == to_underlying(Fields::kFrameRate)) + { + err = DataModel::Decode(reader, frameRate); + } + else if (__context_tag == to_underlying(Fields::kBitRate)) + { + err = DataModel::Decode(reader, bitRate); + } + else if (__context_tag == to_underlying(Fields::kMinResolution)) + { + err = DataModel::Decode(reader, minResolution); + } + else if (__context_tag == to_underlying(Fields::kMaxResolution)) + { + err = DataModel::Decode(reader, maxResolution); + } + else if (__context_tag == to_underlying(Fields::kQuality)) + { + err = DataModel::Decode(reader, quality); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SnapshotStreamAllocate. +namespace SnapshotStreamAllocateResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kSnapshotStreamID), snapshotStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kSnapshotStreamID)) + { + err = DataModel::Decode(reader, snapshotStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SnapshotStreamAllocateResponse. +namespace SnapshotStreamDeallocate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kSnapshotStreamID), snapshotStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kSnapshotStreamID)) + { + err = DataModel::Decode(reader, snapshotStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SnapshotStreamDeallocate. +namespace SetStreamPriority { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace SetStreamPriority. +namespace CaptureSnapshot { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kSnapshotStreamID), snapshotStreamID); + encoder.Encode(to_underlying(Fields::kRequestedResolution), requestedResolution); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kSnapshotStreamID)) + { + err = DataModel::Decode(reader, snapshotStreamID); + } + else if (__context_tag == to_underlying(Fields::kRequestedResolution)) + { + err = DataModel::Decode(reader, requestedResolution); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace CaptureSnapshot. +namespace CaptureSnapshotResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kData), data); + encoder.Encode(to_underlying(Fields::kImageCodec), imageCodec); + encoder.Encode(to_underlying(Fields::kResolution), resolution); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kData)) + { + err = DataModel::Decode(reader, data); + } + else if (__context_tag == to_underlying(Fields::kImageCodec)) + { + err = DataModel::Decode(reader, imageCodec); + } + else if (__context_tag == to_underlying(Fields::kResolution)) + { + err = DataModel::Decode(reader, resolution); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace CaptureSnapshotResponse. +namespace SetViewport { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kViewport), viewport); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kViewport)) + { + err = DataModel::Decode(reader, viewport); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SetViewport. +namespace SetImageRotation { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kAngle), angle); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kAngle)) + { + err = DataModel::Decode(reader, angle); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SetImageRotation. +namespace SetImageFlipHorizontal { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kOnOff), onOff); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kOnOff)) + { + err = DataModel::Decode(reader, onOff); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SetImageFlipHorizontal. +namespace SetImageFlipVertical { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kOnOff), onOff); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kOnOff)) + { + err = DataModel::Decode(reader, onOff); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SetImageFlipVertical. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::MaxConcurrentVideoEncoders::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, maxConcurrentVideoEncoders); + case Attributes::MaxEncodedPixelRate::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, maxEncodedPixelRate); + case Attributes::VideoSensorParams::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, videoSensorParams); + case Attributes::NightVisionCapable::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, nightVisionCapable); + case Attributes::MinViewPortWidth::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, minViewPortWidth); + case Attributes::MinViewPortHeight::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, minViewPortHeight); + case Attributes::RateDistortionTradeOffPoints::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, rateDistortionTradeOffPoints); + case Attributes::MaxPreRollBufferSize::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, maxPreRollBufferSize); + case Attributes::MicrophoneCapabilities::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, microphoneCapabilities); + case Attributes::SpeakerCapabilities::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, speakerCapabilities); + case Attributes::TwoWayTalkSupport::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, twoWayTalkSupport); + case Attributes::SupportedSnapshotParams::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, supportedSnapshotParams); + case Attributes::HDRCapable::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, HDRCapable); + case Attributes::MaxNetworkBandwidth::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, maxNetworkBandwidth); + case Attributes::CurrentFrameRate::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, currentFrameRate); + case Attributes::HDRMode::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, HDRMode); + case Attributes::CurrentVideoCodecs::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, currentVideoCodecs); + case Attributes::CurrentSnapshotConfig::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, currentSnapshotConfig); + case Attributes::FabricsUsingCamera::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, fabricsUsingCamera); + case Attributes::AllocatedVideoStreams::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, allocatedVideoStreams); + case Attributes::AllocatedAudioStreams::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, allocatedAudioStreams); + case Attributes::AllocatedSnapshotStreams::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, allocatedSnapshotStreams); + case Attributes::RankedVideoStreamPrioritiesList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, rankedVideoStreamPrioritiesList); + case Attributes::SoftRecordingPrivacyModeSetting::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, softRecordingPrivacyModeSetting); + case Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, softLivestreamPrivacyModeSetting); + case Attributes::HardPrivacyMode::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, hardPrivacyMode); + case Attributes::NightVision::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, nightVision); + case Attributes::NightVisionIllum::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, nightVisionIllum); + case Attributes::Awb::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, awb); + case Attributes::ShutterSpeed::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, shutterSpeed); + case Attributes::Iso::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, iso); + case Attributes::Viewport::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, viewport); + case Attributes::SpkrOnOff::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, spkrOnOff); + case Attributes::SpkrVolumeLevel::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, spkrVolumeLevel); + case Attributes::SpkrMaxLevel::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, spkrMaxLevel); + case Attributes::SpkrMinLevel::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, spkrMinLevel); + case Attributes::MicOnOff::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, micOnOff); + case Attributes::MicCurrentLevel::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, micCurrentLevel); + case Attributes::MicMaxLevel::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, micMaxLevel); + case Attributes::MicMinLevel::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, micMinLevel); + case Attributes::MicAGC::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, micAGC); + case Attributes::ImageRotation::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, imageRotation); + case Attributes::ImageFlipHorizontal::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, imageFlipHorizontal); + case Attributes::ImageFlipVertical::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, imageFlipVertical); + case Attributes::LocalVideoRecordingEnabled::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, localVideoRecordingEnabled); + case Attributes::LocalSnapshotRecordingEnabled::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, localSnapshotRecordingEnabled); + case Attributes::StatusLight::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, statusLight); + case Attributes::StatusLightBrightness::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, statusLightBrightness); + case Attributes::DepthSensorStatus::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, depthSensorStatus); + case Attributes::WatermarkEnabled::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, watermarkEnabled); + case Attributes::OSDEnabled::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, OSDEnabled); + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, generatedCommandList); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, acceptedCommandList); + case Attributes::EventList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, eventList); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, attributeList); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, featureMap); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, clusterRevision); + default: + return CHIP_NO_ERROR; + } +} +} // namespace Attributes + +namespace Events { +namespace VideoStreamChanged { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(aWriter.StartContainer(aTag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kVideoStreamID), videoStreamID)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kStreamType), streamType)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kVideoCodec), videoCodec)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMinFrameRate), minFrameRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMaxFrameRate), maxFrameRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMinResolution), minResolution)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMaxResolution), maxResolution)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMinBitRate), minBitRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMaxBitRate), maxBitRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMinFragmentLen), minFragmentLen)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMaxFragmentLen), maxFragmentLen)); + return aWriter.EndContainer(outer); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kVideoCodec)) + { + err = DataModel::Decode(reader, videoCodec); + } + else if (__context_tag == to_underlying(Fields::kMinFrameRate)) + { + err = DataModel::Decode(reader, minFrameRate); + } + else if (__context_tag == to_underlying(Fields::kMaxFrameRate)) + { + err = DataModel::Decode(reader, maxFrameRate); + } + else if (__context_tag == to_underlying(Fields::kMinResolution)) + { + err = DataModel::Decode(reader, minResolution); + } + else if (__context_tag == to_underlying(Fields::kMaxResolution)) + { + err = DataModel::Decode(reader, maxResolution); + } + else if (__context_tag == to_underlying(Fields::kMinBitRate)) + { + err = DataModel::Decode(reader, minBitRate); + } + else if (__context_tag == to_underlying(Fields::kMaxBitRate)) + { + err = DataModel::Decode(reader, maxBitRate); + } + else if (__context_tag == to_underlying(Fields::kMinFragmentLen)) + { + err = DataModel::Decode(reader, minFragmentLen); + } + else if (__context_tag == to_underlying(Fields::kMaxFragmentLen)) + { + err = DataModel::Decode(reader, maxFragmentLen); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace VideoStreamChanged. +namespace AudioStreamChanged { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(aWriter.StartContainer(aTag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kAudioStreamID), audioStreamID)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kStreamType), streamType)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kAudioCodec), audioCodec)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kChannelCount), channelCount)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kSampleRate), sampleRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kBitRate), bitRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kBitDepth), bitDepth)); + return aWriter.EndContainer(outer); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kAudioCodec)) + { + err = DataModel::Decode(reader, audioCodec); + } + else if (__context_tag == to_underlying(Fields::kChannelCount)) + { + err = DataModel::Decode(reader, channelCount); + } + else if (__context_tag == to_underlying(Fields::kSampleRate)) + { + err = DataModel::Decode(reader, sampleRate); + } + else if (__context_tag == to_underlying(Fields::kBitRate)) + { + err = DataModel::Decode(reader, bitRate); + } + else if (__context_tag == to_underlying(Fields::kBitDepth)) + { + err = DataModel::Decode(reader, bitDepth); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace AudioStreamChanged. +namespace SnapshotStreamChanged { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(aWriter.StartContainer(aTag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kSnapshotStreamID), snapshotStreamID)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kImageCodec), imageCodec)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kFrameRate), frameRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kBitRate), bitRate)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMinResolution), minResolution)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kMaxResolution), maxResolution)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kQuality), quality)); + return aWriter.EndContainer(outer); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kSnapshotStreamID)) + { + err = DataModel::Decode(reader, snapshotStreamID); + } + else if (__context_tag == to_underlying(Fields::kImageCodec)) + { + err = DataModel::Decode(reader, imageCodec); + } + else if (__context_tag == to_underlying(Fields::kFrameRate)) + { + err = DataModel::Decode(reader, frameRate); + } + else if (__context_tag == to_underlying(Fields::kBitRate)) + { + err = DataModel::Decode(reader, bitRate); + } + else if (__context_tag == to_underlying(Fields::kMinResolution)) + { + err = DataModel::Decode(reader, minResolution); + } + else if (__context_tag == to_underlying(Fields::kMaxResolution)) + { + err = DataModel::Decode(reader, maxResolution); + } + else if (__context_tag == to_underlying(Fields::kQuality)) + { + err = DataModel::Decode(reader, quality); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace SnapshotStreamChanged. +} // namespace Events + +} // namespace CameraAvStreamManagement +namespace CameraAvSettingsUserLevelManagement { +namespace Structs { + +namespace MPTZStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kMPan), MPan); + encoder.Encode(to_underlying(Fields::kMTilt), MTilt); + encoder.Encode(to_underlying(Fields::kMZoom), MZoom); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kMPan)) + { + err = DataModel::Decode(reader, MPan); + } + else if (__context_tag == to_underlying(Fields::kMTilt)) + { + err = DataModel::Decode(reader, MTilt); + } + else if (__context_tag == to_underlying(Fields::kMZoom)) + { + err = DataModel::Decode(reader, MZoom); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} + +} // namespace MPTZStruct +} // namespace Structs + +namespace Commands { +namespace MptzSet { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kNewPTZ), newPTZ); + encoder.Encode(to_underlying(Fields::kPresetID), presetID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kNewPTZ)) + { + err = DataModel::Decode(reader, newPTZ); + } + else if (__context_tag == to_underlying(Fields::kPresetID)) + { + err = DataModel::Decode(reader, presetID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace MptzSet. +namespace MptzRelativeMove { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kPan), pan); + encoder.Encode(to_underlying(Fields::kTilt), tilt); + encoder.Encode(to_underlying(Fields::kZoom), zoom); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kPan)) + { + err = DataModel::Decode(reader, pan); + } + else if (__context_tag == to_underlying(Fields::kTilt)) + { + err = DataModel::Decode(reader, tilt); + } + else if (__context_tag == to_underlying(Fields::kZoom)) + { + err = DataModel::Decode(reader, zoom); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace MptzRelativeMove. +namespace SetAsPreset { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace SetAsPreset. +namespace DptzSetViewport { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kViewport), viewport); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kViewport)) + { + err = DataModel::Decode(reader, viewport); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace DptzSetViewport. +namespace DptzRelativeMove { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kPan), pan); + encoder.Encode(to_underlying(Fields::kTilt), tilt); + encoder.Encode(to_underlying(Fields::kZoom), zoom); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kPan)) + { + err = DataModel::Decode(reader, pan); + } + else if (__context_tag == to_underlying(Fields::kTilt)) + { + err = DataModel::Decode(reader, tilt); + } + else if (__context_tag == to_underlying(Fields::kZoom)) + { + err = DataModel::Decode(reader, zoom); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace DptzRelativeMove. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::Mptz::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, mptz); + case Attributes::MaxPresets::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, maxPresets); + case Attributes::PresetMptzTable::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, presetMptzTable); + case Attributes::MptzRelativeMove::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, mptzRelativeMove); + case Attributes::DptzRelativeMove::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, dptzRelativeMove); + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, generatedCommandList); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, acceptedCommandList); + case Attributes::EventList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, eventList); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, attributeList); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, featureMap); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, clusterRevision); + default: + return CHIP_NO_ERROR; + } +} +} // namespace Attributes + +namespace Events {} // namespace Events + +} // namespace CameraAvSettingsUserLevelManagement +namespace WebRTCTransportProvider { +namespace Structs {} // namespace Structs + +namespace Commands { +namespace WebRTCSolicitOffer { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + encoder.Encode(to_underlying(Fields::kICEServers), ICEServers); + encoder.Encode(to_underlying(Fields::kICETransportPolicy), ICETransportPolicy); + encoder.Encode(to_underlying(Fields::kMetadataOptions), metadataOptions); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else if (__context_tag == to_underlying(Fields::kICEServers)) + { + err = DataModel::Decode(reader, ICEServers); + } + else if (__context_tag == to_underlying(Fields::kICETransportPolicy)) + { + err = DataModel::Decode(reader, ICETransportPolicy); + } + else if (__context_tag == to_underlying(Fields::kMetadataOptions)) + { + err = DataModel::Decode(reader, metadataOptions); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCSolicitOffer. +namespace WebRTCSolicitOfferResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kDeferredOffer), deferredOffer); + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kDeferredOffer)) + { + err = DataModel::Decode(reader, deferredOffer); + } + else if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCSolicitOfferResponse. +namespace WebRTCProvideOffer { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kSdp), sdp); + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + encoder.Encode(to_underlying(Fields::kICEServers), ICEServers); + encoder.Encode(to_underlying(Fields::kICETransportPolicy), ICETransportPolicy); + encoder.Encode(to_underlying(Fields::kMetadataOptions), metadataOptions); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kSdp)) + { + err = DataModel::Decode(reader, sdp); + } + else if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else if (__context_tag == to_underlying(Fields::kICEServers)) + { + err = DataModel::Decode(reader, ICEServers); + } + else if (__context_tag == to_underlying(Fields::kICETransportPolicy)) + { + err = DataModel::Decode(reader, ICETransportPolicy); + } + else if (__context_tag == to_underlying(Fields::kMetadataOptions)) + { + err = DataModel::Decode(reader, metadataOptions); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCProvideOffer. +namespace WebRTCProvideOfferResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCProvideOfferResponse. +namespace WebRTCProvideAnswer { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kSdp), sdp); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kSdp)) + { + err = DataModel::Decode(reader, sdp); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCProvideAnswer. +namespace WebRTCProvideICECandidate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kICECandidate), ICECandidate); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kICECandidate)) + { + err = DataModel::Decode(reader, ICECandidate); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCProvideICECandidate. +namespace WebRTCEndSession { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kReason), reason); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kReason)) + { + err = DataModel::Decode(reader, reason); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCEndSession. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::CurrentSessions::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, currentSessions); + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, generatedCommandList); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, acceptedCommandList); + case Attributes::EventList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, eventList); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, attributeList); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, featureMap); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, clusterRevision); + default: + return CHIP_NO_ERROR; + } +} +} // namespace Attributes + +namespace Events {} // namespace Events + +} // namespace WebRTCTransportProvider +namespace WebRTCTransportRequestor { +namespace Structs {} // namespace Structs + +namespace Commands { +namespace WebRTCOffer { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kSdp), sdp); + encoder.Encode(to_underlying(Fields::kICEServers), ICEServers); + encoder.Encode(to_underlying(Fields::kICETransportPolicy), ICETransportPolicy); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kSdp)) + { + err = DataModel::Decode(reader, sdp); + } + else if (__context_tag == to_underlying(Fields::kICEServers)) + { + err = DataModel::Decode(reader, ICEServers); + } + else if (__context_tag == to_underlying(Fields::kICETransportPolicy)) + { + err = DataModel::Decode(reader, ICETransportPolicy); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCOffer. +namespace WebRTCAnswer { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kSdp), sdp); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kSdp)) + { + err = DataModel::Decode(reader, sdp); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCAnswer. +namespace WebRTCICECandidate { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kICECandidate), ICECandidate); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kICECandidate)) + { + err = DataModel::Decode(reader, ICECandidate); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCICECandidate. +namespace WebRTCEnd { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kWebRTCSessionID), webRTCSessionID); + encoder.Encode(to_underlying(Fields::kReason), reason); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kWebRTCSessionID)) + { + err = DataModel::Decode(reader, webRTCSessionID); + } + else if (__context_tag == to_underlying(Fields::kReason)) + { + err = DataModel::Decode(reader, reason); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace WebRTCEnd. +} // namespace Commands + +namespace Attributes { +CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path) +{ + switch (path.mAttributeId) + { + case Attributes::CurrentSessions::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, currentSessions); + case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, generatedCommandList); + case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, acceptedCommandList); + case Attributes::EventList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, eventList); + case Attributes::AttributeList::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, attributeList); + case Attributes::FeatureMap::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, featureMap); + case Attributes::ClusterRevision::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, clusterRevision); + default: + return CHIP_NO_ERROR; + } +} +} // namespace Attributes + +namespace Events {} // namespace Events + +} // namespace WebRTCTransportRequestor +namespace PushAvStreamTransport { +namespace Structs { + +namespace PushAVStreamTransportMotionTriggerTimeControlStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { - TLV::TLVType outer; - ReturnErrorOnFailure(aWriter.StartContainer(aTag, TLV::kTLVType_Structure, outer)); - ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kNode), node)); - return aWriter.EndContainer(outer); + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kInitialDuration), initialDuration); + encoder.Encode(to_underlying(Fields::kAugmentationDuration), augmentationDuration); + encoder.Encode(to_underlying(Fields::kMaxDuration), maxDuration); + encoder.Encode(to_underlying(Fields::kBlindDuration), blindDuration); + return encoder.Finalize(); } CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) @@ -28103,9 +31209,21 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kNode)) + if (__context_tag == to_underlying(Fields::kInitialDuration)) { - err = DataModel::Decode(reader, node); + err = DataModel::Decode(reader, initialDuration); + } + else if (__context_tag == to_underlying(Fields::kAugmentationDuration)) + { + err = DataModel::Decode(reader, augmentationDuration); + } + else if (__context_tag == to_underlying(Fields::kMaxDuration)) + { + err = DataModel::Decode(reader, maxDuration); + } + else if (__context_tag == to_underlying(Fields::kBlindDuration)) + { + err = DataModel::Decode(reader, blindDuration); } else { @@ -28114,19 +31232,16 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace LoggedOut. -} // namespace Events -} // namespace AccountLogin -namespace ContentControl { -namespace Structs { +} // namespace PushAVStreamTransportMotionTriggerTimeControlStruct -namespace RatingNameStruct { +namespace PushAVStreamTransportMetadataOptionsStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kRatingName), ratingName); - encoder.Encode(to_underlying(Fields::kRatingNameDesc), ratingNameDesc); + encoder.Encode(to_underlying(Fields::kMultiplexing), multiplexing); + encoder.Encode(to_underlying(Fields::kIncludeMotionZones), includeMotionZones); + encoder.Encode(to_underlying(Fields::kEnableMetadataPrivacySensitive), enableMetadataPrivacySensitive); return encoder.Finalize(); } @@ -28144,13 +31259,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kRatingName)) + if (__context_tag == to_underlying(Fields::kMultiplexing)) { - err = DataModel::Decode(reader, ratingName); + err = DataModel::Decode(reader, multiplexing); } - else if (__context_tag == to_underlying(Fields::kRatingNameDesc)) + else if (__context_tag == to_underlying(Fields::kIncludeMotionZones)) { - err = DataModel::Decode(reader, ratingNameDesc); + err = DataModel::Decode(reader, includeMotionZones); + } + else if (__context_tag == to_underlying(Fields::kEnableMetadataPrivacySensitive)) + { + err = DataModel::Decode(reader, enableMetadataPrivacySensitive); } else { @@ -28160,16 +31279,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } } -} // namespace RatingNameStruct -} // namespace Structs +} // namespace PushAVStreamTransportMetadataOptionsStruct -namespace Commands { -namespace UpdatePIN { +namespace PushAVStreamTransportTriggerOptionsStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kOldPIN), oldPIN); - encoder.Encode(to_underlying(Fields::kNewPIN), newPIN); + encoder.Encode(to_underlying(Fields::kTriggerType), triggerType); + encoder.Encode(to_underlying(Fields::kMotionZones), motionZones); + encoder.Encode(to_underlying(Fields::kMotionSensitivity), motionSensitivity); + encoder.Encode(to_underlying(Fields::kMotionTimeControl), motionTimeControl); + encoder.Encode(to_underlying(Fields::kActivationReason), activationReason); return encoder.Finalize(); } @@ -28187,13 +31307,25 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kOldPIN)) + if (__context_tag == to_underlying(Fields::kTriggerType)) { - err = DataModel::Decode(reader, oldPIN); + err = DataModel::Decode(reader, triggerType); } - else if (__context_tag == to_underlying(Fields::kNewPIN)) + else if (__context_tag == to_underlying(Fields::kMotionZones)) { - err = DataModel::Decode(reader, newPIN); + err = DataModel::Decode(reader, motionZones); + } + else if (__context_tag == to_underlying(Fields::kMotionSensitivity)) + { + err = DataModel::Decode(reader, motionSensitivity); + } + else if (__context_tag == to_underlying(Fields::kMotionTimeControl)) + { + err = DataModel::Decode(reader, motionTimeControl); + } + else if (__context_tag == to_underlying(Fields::kActivationReason)) + { + err = DataModel::Decode(reader, activationReason); } else { @@ -28202,11 +31334,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace UpdatePIN. -namespace ResetPIN { + +} // namespace PushAVStreamTransportTriggerOptionsStruct + +namespace PushAVStreamTransportCMAFContainerOptionsStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kChunkDuration), chunkDuration); + encoder.Encode(to_underlying(Fields::kCENCKey), CENCKey); return encoder.Finalize(); } @@ -28220,14 +31356,34 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { return std::get(__element); } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kChunkDuration)) + { + err = DataModel::Decode(reader, chunkDuration); + } + else if (__context_tag == to_underlying(Fields::kCENCKey)) + { + err = DataModel::Decode(reader, CENCKey); + } + else + { + } + + ReturnErrorOnFailure(err); } } -} // namespace ResetPIN. -namespace ResetPINResponse { + +} // namespace PushAVStreamTransportCMAFContainerOptionsStruct + +namespace PushAVStreamTransportContainerOptionsStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kPINCode), PINCode); + encoder.Encode(to_underlying(Fields::kContainerType), containerType); + encoder.Encode(to_underlying(Fields::kCMAFContainerOptions), CMAFContainerOptions); return encoder.Finalize(); } @@ -28245,9 +31401,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kPINCode)) + if (__context_tag == to_underlying(Fields::kContainerType)) { - err = DataModel::Decode(reader, PINCode); + err = DataModel::Decode(reader, containerType); + } + else if (__context_tag == to_underlying(Fields::kCMAFContainerOptions)) + { + err = DataModel::Decode(reader, CMAFContainerOptions); } else { @@ -28256,11 +31416,24 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace ResetPINResponse. -namespace Enable { + +} // namespace PushAVStreamTransportContainerOptionsStruct + +namespace PushAVStreamTransportOptionsStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kStreamType), streamType); + encoder.Encode(to_underlying(Fields::kVideoStreamID), videoStreamID); + encoder.Encode(to_underlying(Fields::kAudioStreamID), audioStreamID); + encoder.Encode(to_underlying(Fields::kTLSEndpointID), TLSEndpointID); + encoder.Encode(to_underlying(Fields::kUrl), url); + encoder.Encode(to_underlying(Fields::kTriggerOptions), triggerOptions); + encoder.Encode(to_underlying(Fields::kContainerFormat), containerFormat); + encoder.Encode(to_underlying(Fields::kIngestMethod), ingestMethod); + encoder.Encode(to_underlying(Fields::kContainerOptions), containerOptions); + encoder.Encode(to_underlying(Fields::kMetadataOptions), metadataOptions); + encoder.Encode(to_underlying(Fields::kExpiryTime), expiryTime); return encoder.Finalize(); } @@ -28274,13 +31447,71 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { return std::get(__element); } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kStreamType)) + { + err = DataModel::Decode(reader, streamType); + } + else if (__context_tag == to_underlying(Fields::kVideoStreamID)) + { + err = DataModel::Decode(reader, videoStreamID); + } + else if (__context_tag == to_underlying(Fields::kAudioStreamID)) + { + err = DataModel::Decode(reader, audioStreamID); + } + else if (__context_tag == to_underlying(Fields::kTLSEndpointID)) + { + err = DataModel::Decode(reader, TLSEndpointID); + } + else if (__context_tag == to_underlying(Fields::kUrl)) + { + err = DataModel::Decode(reader, url); + } + else if (__context_tag == to_underlying(Fields::kTriggerOptions)) + { + err = DataModel::Decode(reader, triggerOptions); + } + else if (__context_tag == to_underlying(Fields::kContainerFormat)) + { + err = DataModel::Decode(reader, containerFormat); + } + else if (__context_tag == to_underlying(Fields::kIngestMethod)) + { + err = DataModel::Decode(reader, ingestMethod); + } + else if (__context_tag == to_underlying(Fields::kContainerOptions)) + { + err = DataModel::Decode(reader, containerOptions); + } + else if (__context_tag == to_underlying(Fields::kMetadataOptions)) + { + err = DataModel::Decode(reader, metadataOptions); + } + else if (__context_tag == to_underlying(Fields::kExpiryTime)) + { + err = DataModel::Decode(reader, expiryTime); + } + else + { + } + + ReturnErrorOnFailure(err); } } -} // namespace Enable. -namespace Disable { + +} // namespace PushAVStreamTransportOptionsStruct + +namespace PushAVStreamConfigurationStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kConnectionID), connectionID); + encoder.Encode(to_underlying(Fields::kStreamTransportStatus), streamTransportStatus); + encoder.Encode(to_underlying(Fields::kStreamTransportOptions), streamTransportOptions); return encoder.Finalize(); } @@ -28294,15 +31525,39 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { return std::get(__element); } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kConnectionID)) + { + err = DataModel::Decode(reader, connectionID); + } + else if (__context_tag == to_underlying(Fields::kStreamTransportStatus)) + { + err = DataModel::Decode(reader, streamTransportStatus); + } + else if (__context_tag == to_underlying(Fields::kStreamTransportOptions)) + { + err = DataModel::Decode(reader, streamTransportOptions); + } + else + { + } + + ReturnErrorOnFailure(err); } } -} // namespace Disable. -namespace AddBonusTime { + +} // namespace PushAVStreamConfigurationStruct +} // namespace Structs + +namespace Commands { +namespace AllocatePushTransport { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kPINCode), PINCode); - encoder.Encode(to_underlying(Fields::kBonusTime), bonusTime); + encoder.Encode(to_underlying(Fields::kStreamTransportOptions), streamTransportOptions); return encoder.Finalize(); } @@ -28320,13 +31575,53 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kPINCode)) + if (__context_tag == to_underlying(Fields::kStreamTransportOptions)) { - err = DataModel::Decode(reader, PINCode); + err = DataModel::Decode(reader, streamTransportOptions); } - else if (__context_tag == to_underlying(Fields::kBonusTime)) + else { - err = DataModel::Decode(reader, bonusTime); + } + + ReturnErrorOnFailure(err); + } +} +} // namespace AllocatePushTransport. +namespace AllocatePushTransportResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kConnectionID), connectionID); + encoder.Encode(to_underlying(Fields::kStreamTransportOptions), streamTransportOptions); + encoder.Encode(to_underlying(Fields::kTransportStatus), transportStatus); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kConnectionID)) + { + err = DataModel::Decode(reader, connectionID); + } + else if (__context_tag == to_underlying(Fields::kStreamTransportOptions)) + { + err = DataModel::Decode(reader, streamTransportOptions); + } + else if (__context_tag == to_underlying(Fields::kTransportStatus)) + { + err = DataModel::Decode(reader, transportStatus); } else { @@ -28335,12 +31630,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace AddBonusTime. -namespace SetScreenDailyTime { +} // namespace AllocatePushTransportResponse. +namespace DeallocatePushTransport { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kScreenTime), screenTime); + encoder.Encode(to_underlying(Fields::kConnectionID), connectionID); return encoder.Finalize(); } @@ -28358,9 +31653,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kScreenTime)) + if (__context_tag == to_underlying(Fields::kConnectionID)) { - err = DataModel::Decode(reader, screenTime); + err = DataModel::Decode(reader, connectionID); } else { @@ -28369,11 +31664,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace SetScreenDailyTime. -namespace BlockUnratedContent { +} // namespace DeallocatePushTransport. +namespace ModifyPushTransport { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kConnectionID), connectionID); + encoder.Encode(to_underlying(Fields::kStreamTransportOptions), streamTransportOptions); return encoder.Finalize(); } @@ -28387,13 +31684,32 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { return std::get(__element); } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kConnectionID)) + { + err = DataModel::Decode(reader, connectionID); + } + else if (__context_tag == to_underlying(Fields::kStreamTransportOptions)) + { + err = DataModel::Decode(reader, streamTransportOptions); + } + else + { + } + + ReturnErrorOnFailure(err); } } -} // namespace BlockUnratedContent. -namespace UnblockUnratedContent { +} // namespace ModifyPushTransport. +namespace SetTransportStatus { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kConnectionID), connectionID); + encoder.Encode(to_underlying(Fields::kStreamTransportStatus), streamTransportStatus); return encoder.Finalize(); } @@ -28407,14 +31723,33 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { return std::get(__element); } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kConnectionID)) + { + err = DataModel::Decode(reader, connectionID); + } + else if (__context_tag == to_underlying(Fields::kStreamTransportStatus)) + { + err = DataModel::Decode(reader, streamTransportStatus); + } + else + { + } + + ReturnErrorOnFailure(err); } } -} // namespace UnblockUnratedContent. -namespace SetOnDemandRatingThreshold { +} // namespace SetTransportStatus. +namespace ManuallyTriggerTransport { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kRating), rating); + encoder.Encode(to_underlying(Fields::kConnectionID), connectionID); + encoder.Encode(to_underlying(Fields::kActivationReason), activationReason); + encoder.Encode(to_underlying(Fields::kTimeControl), timeControl); return encoder.Finalize(); } @@ -28432,9 +31767,17 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kRating)) + if (__context_tag == to_underlying(Fields::kConnectionID)) { - err = DataModel::Decode(reader, rating); + err = DataModel::Decode(reader, connectionID); + } + else if (__context_tag == to_underlying(Fields::kActivationReason)) + { + err = DataModel::Decode(reader, activationReason); + } + else if (__context_tag == to_underlying(Fields::kTimeControl)) + { + err = DataModel::Decode(reader, timeControl); } else { @@ -28443,12 +31786,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace SetOnDemandRatingThreshold. -namespace SetScheduledContentRatingThreshold { +} // namespace ManuallyTriggerTransport. +namespace FindStreamConfiguration { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kRating), rating); + encoder.Encode(to_underlying(Fields::kConnectionID), connectionID); return encoder.Finalize(); } @@ -28466,9 +31809,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kRating)) + if (__context_tag == to_underlying(Fields::kConnectionID)) { - err = DataModel::Decode(reader, rating); + err = DataModel::Decode(reader, connectionID); } else { @@ -28477,7 +31820,41 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace SetScheduledContentRatingThreshold. +} // namespace FindStreamConfiguration. +namespace FindStreamConfigurationResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + encoder.Encode(to_underlying(Fields::kStreamConfigurations), streamConfigurations); + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + const uint8_t __context_tag = std::get(__element); + + if (__context_tag == to_underlying(Fields::kStreamConfigurations)) + { + err = DataModel::Decode(reader, streamConfigurations); + } + else + { + } + + ReturnErrorOnFailure(err); + } +} +} // namespace FindStreamConfigurationResponse. } // namespace Commands namespace Attributes { @@ -28485,22 +31862,12 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { - case Attributes::Enabled::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, enabled); - case Attributes::OnDemandRatings::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, onDemandRatings); - case Attributes::OnDemandRatingThreshold::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, onDemandRatingThreshold); - case Attributes::ScheduledContentRatings::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, scheduledContentRatings); - case Attributes::ScheduledContentRatingThreshold::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, scheduledContentRatingThreshold); - case Attributes::ScreenDailyTime::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, screenDailyTime); - case Attributes::RemainingScreenTime::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, remainingScreenTime); - case Attributes::BlockUnrated::TypeInfo::GetAttributeId(): - return DataModel::Decode(reader, blockUnrated); + case Attributes::SupportedContainerFormats::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, supportedContainerFormats); + case Attributes::SupportedIngestMethods::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, supportedIngestMethods); + case Attributes::CurrentConnections::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, currentConnections); case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): return DataModel::Decode(reader, generatedCommandList); case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): @@ -28520,7 +31887,7 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre } // namespace Attributes namespace Events { -namespace RemainingScreenTimeExpired { +namespace PushTransportBegin { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { TLV::TLVType outer; @@ -28540,20 +31907,15 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } } } -} // namespace RemainingScreenTimeExpired. -} // namespace Events - -} // namespace ContentControl -namespace ContentAppObserver { - -namespace Commands { -namespace ContentAppMessage { +} // namespace PushTransportBegin. +namespace PushTransportEnd { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { - DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kData), data); - encoder.Encode(to_underlying(Fields::kEncodingHint), encodingHint); - return encoder.Finalize(); + TLV::TLVType outer; + ReturnErrorOnFailure(aWriter.StartContainer(aTag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kConnectionID), connectionID)); + ReturnErrorOnFailure(DataModel::Encode(aWriter, TLV::ContextTag(Fields::kTriggerDetails), triggerDetails)); + return aWriter.EndContainer(outer); } CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) @@ -28570,13 +31932,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kData)) + if (__context_tag == to_underlying(Fields::kConnectionID)) { - err = DataModel::Decode(reader, data); + err = DataModel::Decode(reader, connectionID); } - else if (__context_tag == to_underlying(Fields::kEncodingHint)) + else if (__context_tag == to_underlying(Fields::kTriggerDetails)) { - err = DataModel::Decode(reader, encodingHint); + err = DataModel::Decode(reader, triggerDetails); } else { @@ -28585,14 +31947,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace ContentAppMessage. -namespace ContentAppMessageResponse { +} // namespace PushTransportEnd. +} // namespace Events + +} // namespace PushAvStreamTransport +namespace Chime { +namespace Structs { + +namespace ChimeSoundStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; - encoder.Encode(to_underlying(Fields::kStatus), status); - encoder.Encode(to_underlying(Fields::kData), data); - encoder.Encode(to_underlying(Fields::kEncodingHint), encodingHint); + encoder.Encode(to_underlying(Fields::kChimeId), chimeId); + encoder.Encode(to_underlying(Fields::kName), name); return encoder.Finalize(); } @@ -28610,17 +31977,13 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) CHIP_ERROR err = CHIP_NO_ERROR; const uint8_t __context_tag = std::get(__element); - if (__context_tag == to_underlying(Fields::kStatus)) + if (__context_tag == to_underlying(Fields::kChimeId)) { - err = DataModel::Decode(reader, status); + err = DataModel::Decode(reader, chimeId); } - else if (__context_tag == to_underlying(Fields::kData)) - { - err = DataModel::Decode(reader, data); - } - else if (__context_tag == to_underlying(Fields::kEncodingHint)) + else if (__context_tag == to_underlying(Fields::kName)) { - err = DataModel::Decode(reader, encodingHint); + err = DataModel::Decode(reader, name); } else { @@ -28629,7 +31992,31 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace ContentAppMessageResponse. + +} // namespace ChimeSoundStruct +} // namespace Structs + +namespace Commands { +namespace PlayChimeSound { +CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const +{ + DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; + return encoder.Finalize(); +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + detail::StructDecodeIterator __iterator(reader); + while (true) + { + auto __element = __iterator.Next(); + if (std::holds_alternative(__element)) + { + return std::get(__element); + } + } +} +} // namespace PlayChimeSound. } // namespace Commands namespace Attributes { @@ -28637,6 +32024,12 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre { switch (path.mAttributeId) { + case Attributes::InstalledChimeSounds::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, installedChimeSounds); + case Attributes::ActiveChimeSoundId::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, activeChimeSoundId); + case Attributes::Enabled::TypeInfo::GetAttributeId(): + return DataModel::Decode(reader, enabled); case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): return DataModel::Decode(reader, generatedCommandList); case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId(): @@ -28657,7 +32050,7 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre namespace Events {} // namespace Events -} // namespace ContentAppObserver +} // namespace Chime namespace EcosystemInformation { namespace Structs { @@ -33047,6 +36440,48 @@ bool CommandIsFabricScoped(ClusterId aCluster, CommandId aCommand) return false; } } + case Clusters::CameraAvStreamManagement::Id: { + switch (aCommand) + { + default: + return false; + } + } + case Clusters::CameraAvSettingsUserLevelManagement::Id: { + switch (aCommand) + { + default: + return false; + } + } + case Clusters::WebRTCTransportProvider::Id: { + switch (aCommand) + { + default: + return false; + } + } + case Clusters::WebRTCTransportRequestor::Id: { + switch (aCommand) + { + default: + return false; + } + } + case Clusters::PushAvStreamTransport::Id: { + switch (aCommand) + { + default: + return false; + } + } + case Clusters::Chime::Id: { + switch (aCommand) + { + default: + return false; + } + } case Clusters::CommissionerControl::Id: { switch (aCommand) { 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 2aaf40bdbad6f9..0100e207830474 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 @@ -244,6 +244,42 @@ struct Type using DecodableType = Type; } // namespace ErrorStateStruct +namespace ICEServerStruct { +enum class Fields : uint8_t +{ + kUrls = 1, + kUsername = 2, + kCredential = 3, + kCaid = 4, +}; + +struct Type +{ +public: + DataModel::List urls; + Optional username; + Optional credential; + Optional caid; + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + DataModel::DecodableList urls; + Optional username; + Optional credential; + Optional caid; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; +}; + +} // namespace ICEServerStruct namespace LabelStruct { enum class Fields : uint8_t { @@ -290,6 +326,89 @@ struct Type using DecodableType = Type; } // namespace OperationalStateStruct +namespace PerStreamStruct { +enum class Fields : uint8_t +{ + kStreamID = 0, + kOnOff = 1, +}; + +struct Type +{ +public: + uint16_t streamID = static_cast(0); + bool onOff = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace PerStreamStruct +namespace ViewportStruct { +enum class Fields : uint8_t +{ + kX1 = 0, + kY1 = 1, + kX2 = 2, + kY2 = 3, +}; + +struct Type +{ +public: + uint16_t x1 = static_cast(0); + uint16_t y1 = static_cast(0); + uint16_t x2 = static_cast(0); + uint16_t y2 = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace ViewportStruct +namespace WebRTCSessionStruct { +enum class Fields : uint8_t +{ + kId = 1, + kPeerNodeId = 2, + kPeerFabricIndex = 3, + kStreamType = 4, + kVideoStreamID = 5, + kAudioStreamID = 6, + kMetadataOptions = 7, +}; + +struct Type +{ +public: + uint16_t id = static_cast(0); + chip::NodeId peerNodeId = static_cast(0); + chip::FabricIndex peerFabricIndex = static_cast(0); + StreamTypeEnum streamType = static_cast(0); + DataModel::Nullable videoStreamID; + DataModel::Nullable audioStreamID; + chip::BitMask metadataOptions = static_cast>(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace WebRTCSessionStruct } // namespace Structs } // namespace detail @@ -41724,6 +41843,3743 @@ struct TypeInfo }; } // namespace Attributes } // namespace ContentAppObserver +namespace CameraAvStreamManagement { +namespace Structs { +namespace AudioCapabilitiesStruct { +enum class Fields : uint8_t +{ + kMaxNumberOfChannels = 0, + kSupportedCodecs = 1, + kSupportedSampleRates = 2, + kSupportedBitDepths = 3, +}; + +struct Type +{ +public: + uint8_t maxNumberOfChannels = static_cast(0); + DataModel::List supportedCodecs; + DataModel::List supportedSampleRates; + DataModel::List supportedBitDepths; + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + uint8_t maxNumberOfChannels = static_cast(0); + DataModel::DecodableList supportedCodecs; + DataModel::DecodableList supportedSampleRates; + DataModel::DecodableList supportedBitDepths; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; +}; + +} // namespace AudioCapabilitiesStruct +namespace AudioStreamStruct { +enum class Fields : uint8_t +{ + kAudioStreamID = 0, + kStreamType = 1, + kAudioCodec = 2, + kChannelCount = 3, + kSampleRate = 4, + kBitRate = 5, + kBitDepth = 6, + kReferenceCount = 7, +}; + +struct Type +{ +public: + uint16_t audioStreamID = static_cast(0); + StreamTypeEnum streamType = static_cast(0); + AudioCodecEnum audioCodec = static_cast(0); + uint8_t channelCount = static_cast(0); + uint32_t sampleRate = static_cast(0); + uint32_t bitRate = static_cast(0); + uint8_t bitDepth = static_cast(0); + uint8_t referenceCount = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace AudioStreamStruct +namespace PerStreamStruct = Clusters::detail::Structs::PerStreamStruct; +namespace RateDistortionTradeOffPointsStruct { +enum class Fields : uint8_t +{ + kCodec = 0, + kResolution = 1, + kMinBitRate = 2, +}; + +struct Type +{ +public: + VideoCodecEnum codec = static_cast(0); + Structs::DimensionStruct::Type resolution; + uint32_t minBitRate = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace RateDistortionTradeOffPointsStruct +namespace SnapshotParamsStruct { +enum class Fields : uint8_t +{ + kResolution = 0, + kMaxFrameRate = 1, + kImageCodec = 2, +}; + +struct Type +{ +public: + Structs::DimensionStruct::Type resolution; + uint16_t maxFrameRate = static_cast(0); + ImageCodecEnum imageCodec = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace SnapshotParamsStruct +namespace SnapshotStreamStruct { +enum class Fields : uint8_t +{ + kSnapshotStreamID = 0, + kImageCodec = 1, + kFrameRate = 2, + kBitRate = 3, + kMinResolution = 4, + kMaxResolution = 5, + kQuality = 6, + kReferenceCount = 7, +}; + +struct Type +{ +public: + uint16_t snapshotStreamID = static_cast(0); + ImageCodecEnum imageCodec = static_cast(0); + uint16_t frameRate = static_cast(0); + uint32_t bitRate = static_cast(0); + Structs::DimensionStruct::Type minResolution; + Structs::DimensionStruct::Type maxResolution; + uint8_t quality = static_cast(0); + uint8_t referenceCount = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace SnapshotStreamStruct +namespace VideoSensorParamsStruct { +enum class Fields : uint8_t +{ + kSensorWidth = 0, + kSensorHeight = 1, + kHDRCapable = 2, + kMaxFPS = 3, + kMaxHDRFPS = 4, +}; + +struct Type +{ +public: + uint16_t sensorWidth = static_cast(0); + uint16_t sensorHeight = static_cast(0); + bool HDRCapable = static_cast(0); + uint16_t maxFPS = static_cast(0); + uint16_t maxHDRFPS = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace VideoSensorParamsStruct +namespace VideoStreamStruct { +enum class Fields : uint8_t +{ + kVideoStreamID = 0, + kStreamType = 1, + kVideoCodec = 2, + kMinFrameRate = 3, + kMaxFrameRate = 4, + kMinResolution = 5, + kMaxResolution = 6, + kMinBitRate = 7, + kMaxBitRate = 8, + kMinFragmentLen = 9, + kMaxFragmentLen = 10, + kReferenceCount = 11, +}; + +struct Type +{ +public: + uint16_t videoStreamID = static_cast(0); + StreamTypeEnum streamType = static_cast(0); + VideoCodecEnum videoCodec = static_cast(0); + uint16_t minFrameRate = static_cast(0); + uint16_t maxFrameRate = static_cast(0); + Structs::DimensionStruct::Type minResolution; + Structs::DimensionStruct::Type maxResolution; + uint16_t minBitRate = static_cast(0); + uint16_t maxBitRate = static_cast(0); + uint16_t minFragmentLen = static_cast(0); + uint16_t maxFragmentLen = static_cast(0); + uint8_t referenceCount = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace VideoStreamStruct +namespace ViewportStruct = Clusters::detail::Structs::ViewportStruct; +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace AudioStreamAllocate { +struct Type; +struct DecodableType; +} // namespace AudioStreamAllocate + +namespace AudioStreamAllocateResponse { +struct Type; +struct DecodableType; +} // namespace AudioStreamAllocateResponse + +namespace AudioStreamDeallocate { +struct Type; +struct DecodableType; +} // namespace AudioStreamDeallocate + +namespace VideoStreamAllocate { +struct Type; +struct DecodableType; +} // namespace VideoStreamAllocate + +namespace VideoStreamAllocateResponse { +struct Type; +struct DecodableType; +} // namespace VideoStreamAllocateResponse + +namespace VideoStreamModify { +struct Type; +struct DecodableType; +} // namespace VideoStreamModify + +namespace VideoStreamDeallocate { +struct Type; +struct DecodableType; +} // namespace VideoStreamDeallocate + +namespace SnapshotStreamAllocate { +struct Type; +struct DecodableType; +} // namespace SnapshotStreamAllocate + +namespace SnapshotStreamAllocateResponse { +struct Type; +struct DecodableType; +} // namespace SnapshotStreamAllocateResponse + +namespace SnapshotStreamDeallocate { +struct Type; +struct DecodableType; +} // namespace SnapshotStreamDeallocate + +namespace SetStreamPriority { +struct Type; +struct DecodableType; +} // namespace SetStreamPriority + +namespace CaptureSnapshot { +struct Type; +struct DecodableType; +} // namespace CaptureSnapshot + +namespace CaptureSnapshotResponse { +struct Type; +struct DecodableType; +} // namespace CaptureSnapshotResponse + +namespace SetViewport { +struct Type; +struct DecodableType; +} // namespace SetViewport + +namespace SetImageRotation { +struct Type; +struct DecodableType; +} // namespace SetImageRotation + +namespace SetImageFlipHorizontal { +struct Type; +struct DecodableType; +} // namespace SetImageFlipHorizontal + +namespace SetImageFlipVertical { +struct Type; +struct DecodableType; +} // namespace SetImageFlipVertical + +} // namespace Commands + +namespace Commands { +namespace AudioStreamAllocate { +enum class Fields : uint8_t +{ + kStreamType = 0, + kAudioCodec = 1, + kChannelCount = 2, + kSampleRate = 3, + kBitRate = 4, + kBitDepth = 5, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AudioStreamAllocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + StreamTypeEnum streamType = static_cast(0); + AudioCodecEnum audioCodec = static_cast(0); + uint8_t channelCount = static_cast(0); + uint32_t sampleRate = static_cast(0); + uint32_t bitRate = static_cast(0); + uint8_t bitDepth = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::AudioStreamAllocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + StreamTypeEnum streamType = static_cast(0); + AudioCodecEnum audioCodec = static_cast(0); + uint8_t channelCount = static_cast(0); + uint32_t sampleRate = static_cast(0); + uint32_t bitRate = static_cast(0); + uint8_t bitDepth = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace AudioStreamAllocate +namespace AudioStreamAllocateResponse { +enum class Fields : uint8_t +{ + kAudioStreamID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AudioStreamAllocateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t audioStreamID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::AudioStreamAllocateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t audioStreamID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace AudioStreamAllocateResponse +namespace AudioStreamDeallocate { +enum class Fields : uint8_t +{ + kAudioStreamID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AudioStreamDeallocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t audioStreamID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::AudioStreamDeallocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t audioStreamID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace AudioStreamDeallocate +namespace VideoStreamAllocate { +enum class Fields : uint8_t +{ + kStreamType = 0, + kVideoCodec = 1, + kMinFrameRate = 2, + kMaxFrameRate = 3, + kMinResolution = 4, + kMaxResolution = 5, + kMinBitRate = 6, + kMaxBitRate = 7, + kMinFragmentLen = 8, + kMaxFragmentLen = 9, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::VideoStreamAllocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + StreamTypeEnum streamType = static_cast(0); + VideoCodecEnum videoCodec = static_cast(0); + uint16_t minFrameRate = static_cast(0); + uint16_t maxFrameRate = static_cast(0); + Structs::DimensionStruct::Type minResolution; + Structs::DimensionStruct::Type maxResolution; + uint32_t minBitRate = static_cast(0); + uint32_t maxBitRate = static_cast(0); + uint16_t minFragmentLen = static_cast(0); + uint16_t maxFragmentLen = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::VideoStreamAllocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + StreamTypeEnum streamType = static_cast(0); + VideoCodecEnum videoCodec = static_cast(0); + uint16_t minFrameRate = static_cast(0); + uint16_t maxFrameRate = static_cast(0); + Structs::DimensionStruct::DecodableType minResolution; + Structs::DimensionStruct::DecodableType maxResolution; + uint32_t minBitRate = static_cast(0); + uint32_t maxBitRate = static_cast(0); + uint16_t minFragmentLen = static_cast(0); + uint16_t maxFragmentLen = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace VideoStreamAllocate +namespace VideoStreamAllocateResponse { +enum class Fields : uint8_t +{ + kVideoStreamID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::VideoStreamAllocateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::VideoStreamAllocateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace VideoStreamAllocateResponse +namespace VideoStreamModify { +enum class Fields : uint8_t +{ + kVideoStreamID = 0, + kResolution = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::VideoStreamModify::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + Structs::DimensionStruct::Type resolution; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::VideoStreamModify::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + Structs::DimensionStruct::DecodableType resolution; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace VideoStreamModify +namespace VideoStreamDeallocate { +enum class Fields : uint8_t +{ + kVideoStreamID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::VideoStreamDeallocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::VideoStreamDeallocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace VideoStreamDeallocate +namespace SnapshotStreamAllocate { +enum class Fields : uint8_t +{ + kImageCodec = 0, + kFrameRate = 1, + kBitRate = 2, + kMinResolution = 3, + kMaxResolution = 4, + kQuality = 5, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SnapshotStreamAllocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + ImageCodecEnum imageCodec = static_cast(0); + uint16_t frameRate = static_cast(0); + uint32_t bitRate = static_cast(0); + Structs::DimensionStruct::Type minResolution; + Structs::DimensionStruct::Type maxResolution; + uint8_t quality = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SnapshotStreamAllocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + ImageCodecEnum imageCodec = static_cast(0); + uint16_t frameRate = static_cast(0); + uint32_t bitRate = static_cast(0); + Structs::DimensionStruct::DecodableType minResolution; + Structs::DimensionStruct::DecodableType maxResolution; + uint8_t quality = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SnapshotStreamAllocate +namespace SnapshotStreamAllocateResponse { +enum class Fields : uint8_t +{ + kSnapshotStreamID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SnapshotStreamAllocateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t snapshotStreamID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SnapshotStreamAllocateResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t snapshotStreamID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SnapshotStreamAllocateResponse +namespace SnapshotStreamDeallocate { +enum class Fields : uint8_t +{ + kSnapshotStreamID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SnapshotStreamDeallocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t snapshotStreamID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SnapshotStreamDeallocate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t snapshotStreamID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SnapshotStreamDeallocate +namespace SetStreamPriority { +enum class Fields : uint8_t +{ +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetStreamPriority::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetStreamPriority::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetStreamPriority +namespace CaptureSnapshot { +enum class Fields : uint8_t +{ + kSnapshotStreamID = 0, + kRequestedResolution = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::CaptureSnapshot::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t snapshotStreamID = static_cast(0); + Structs::DimensionStruct::Type requestedResolution; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::CaptureSnapshot::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t snapshotStreamID = static_cast(0); + Structs::DimensionStruct::DecodableType requestedResolution; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace CaptureSnapshot +namespace CaptureSnapshotResponse { +enum class Fields : uint8_t +{ + kData = 0, + kImageCodec = 1, + kResolution = 2, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::CaptureSnapshotResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + chip::ByteSpan data; + ImageCodecEnum imageCodec = static_cast(0); + Structs::DimensionStruct::Type resolution; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::CaptureSnapshotResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + chip::ByteSpan data; + ImageCodecEnum imageCodec = static_cast(0); + Structs::DimensionStruct::DecodableType resolution; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace CaptureSnapshotResponse +namespace SetViewport { +enum class Fields : uint8_t +{ + kViewport = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetViewport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + Structs::ViewportStruct::Type viewport; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetViewport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + Structs::ViewportStruct::DecodableType viewport; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetViewport +namespace SetImageRotation { +enum class Fields : uint8_t +{ + kAngle = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetImageRotation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t angle = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetImageRotation::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t angle = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetImageRotation +namespace SetImageFlipHorizontal { +enum class Fields : uint8_t +{ + kOnOff = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetImageFlipHorizontal::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + bool onOff = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetImageFlipHorizontal::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + bool onOff = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetImageFlipHorizontal +namespace SetImageFlipVertical { +enum class Fields : uint8_t +{ + kOnOff = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetImageFlipVertical::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + bool onOff = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetImageFlipVertical::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + bool onOff = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetImageFlipVertical +} // namespace Commands + +namespace Attributes { + +namespace MaxConcurrentVideoEncoders { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxConcurrentVideoEncoders::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxConcurrentVideoEncoders +namespace MaxEncodedPixelRate { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxEncodedPixelRate::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxEncodedPixelRate +namespace VideoSensorParams { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VideoSensorParams::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace VideoSensorParams +namespace NightVisionCapable { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NightVisionCapable::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace NightVisionCapable +namespace MinViewPortWidth { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinViewPortWidth::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinViewPortWidth +namespace MinViewPortHeight { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MinViewPortHeight::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MinViewPortHeight +namespace RateDistortionTradeOffPoints { +struct TypeInfo +{ + using Type = chip::app::DataModel::List< + const chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::Type>; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RateDistortionTradeOffPoints::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace RateDistortionTradeOffPoints +namespace MaxPreRollBufferSize { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxPreRollBufferSize::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxPreRollBufferSize +namespace MicrophoneCapabilities { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MicrophoneCapabilities::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MicrophoneCapabilities +namespace SpeakerCapabilities { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpeakerCapabilities::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SpeakerCapabilities +namespace TwoWayTalkSupport { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::TwowayTalkSupportTypeEnum; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::TwowayTalkSupportTypeEnum; + using DecodableArgType = chip::app::Clusters::CameraAvStreamManagement::TwowayTalkSupportTypeEnum; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TwoWayTalkSupport::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace TwoWayTalkSupport +namespace SupportedSnapshotParams { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedSnapshotParams::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SupportedSnapshotParams +namespace HDRCapable { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HDRCapable::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace HDRCapable +namespace MaxNetworkBandwidth { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxNetworkBandwidth::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxNetworkBandwidth +namespace CurrentFrameRate { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentFrameRate::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentFrameRate +namespace HDRMode { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HDRMode::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace HDRMode +namespace CurrentVideoCodecs { +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::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentVideoCodecs::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentVideoCodecs +namespace CurrentSnapshotConfig { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentSnapshotConfig::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentSnapshotConfig +namespace FabricsUsingCamera { +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::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FabricsUsingCamera::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace FabricsUsingCamera +namespace AllocatedVideoStreams { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AllocatedVideoStreams::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace AllocatedVideoStreams +namespace AllocatedAudioStreams { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AllocatedAudioStreams::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace AllocatedAudioStreams +namespace AllocatedSnapshotStreams { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::AllocatedSnapshotStreams::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace AllocatedSnapshotStreams +namespace RankedVideoStreamPrioritiesList { +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::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::RankedVideoStreamPrioritiesList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace RankedVideoStreamPrioritiesList +namespace SoftRecordingPrivacyModeSetting { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SoftRecordingPrivacyModeSetting::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SoftRecordingPrivacyModeSetting +namespace SoftLivestreamPrivacyModeSetting { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SoftLivestreamPrivacyModeSetting::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SoftLivestreamPrivacyModeSetting +namespace HardPrivacyMode { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::HardPrivacyMode::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace HardPrivacyMode +namespace NightVision { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + using DecodableArgType = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NightVision::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace NightVision +namespace NightVisionIllum { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + using DecodableArgType = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::NightVisionIllum::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace NightVisionIllum +namespace Awb { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Awb::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Awb +namespace ShutterSpeed { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ShutterSpeed::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ShutterSpeed +namespace Iso { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Iso::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Iso +namespace Viewport { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::Structs::ViewportStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::Structs::ViewportStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvStreamManagement::Structs::ViewportStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Viewport::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Viewport +namespace SpkrOnOff { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpkrOnOff::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SpkrOnOff +namespace SpkrVolumeLevel { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpkrVolumeLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SpkrVolumeLevel +namespace SpkrMaxLevel { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpkrMaxLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SpkrMaxLevel +namespace SpkrMinLevel { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SpkrMinLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SpkrMinLevel +namespace MicOnOff { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MicOnOff::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MicOnOff +namespace MicCurrentLevel { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MicCurrentLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MicCurrentLevel +namespace MicMaxLevel { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MicMaxLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MicMaxLevel +namespace MicMinLevel { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MicMinLevel::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MicMinLevel +namespace MicAGC { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MicAGC::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MicAGC +namespace ImageRotation { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ImageRotation::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ImageRotation +namespace ImageFlipHorizontal { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ImageFlipHorizontal::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ImageFlipHorizontal +namespace ImageFlipVertical { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ImageFlipVertical::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ImageFlipVertical +namespace LocalVideoRecordingEnabled { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LocalVideoRecordingEnabled::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LocalVideoRecordingEnabled +namespace LocalSnapshotRecordingEnabled { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LocalSnapshotRecordingEnabled::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace LocalSnapshotRecordingEnabled +namespace StatusLight { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StatusLight::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace StatusLight +namespace StatusLightBrightness { +struct TypeInfo +{ + using Type = chip::app::Clusters::Globals::ThreeLevelAutoEnum; + using DecodableType = chip::app::Clusters::Globals::ThreeLevelAutoEnum; + using DecodableArgType = chip::app::Clusters::Globals::ThreeLevelAutoEnum; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StatusLightBrightness::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace StatusLightBrightness +namespace DepthSensorStatus { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + using DecodableType = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + using DecodableArgType = chip::app::Clusters::CameraAvStreamManagement::TriStateAuto; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DepthSensorStatus::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace DepthSensorStatus +namespace WatermarkEnabled { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::PerStreamStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::WatermarkEnabled::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace WatermarkEnabled +namespace OSDEnabled { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::PerStreamStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::OSDEnabled::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace OSDEnabled +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } +}; +} // namespace AcceptedCommandList +namespace EventList { +struct TypeInfo : public Clusters::Globals::Attributes::EventList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } +}; +} // namespace EventList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::MaxConcurrentVideoEncoders::TypeInfo::DecodableType maxConcurrentVideoEncoders = static_cast(0); + Attributes::MaxEncodedPixelRate::TypeInfo::DecodableType maxEncodedPixelRate = static_cast(0); + Attributes::VideoSensorParams::TypeInfo::DecodableType videoSensorParams; + Attributes::NightVisionCapable::TypeInfo::DecodableType nightVisionCapable = static_cast(0); + Attributes::MinViewPortWidth::TypeInfo::DecodableType minViewPortWidth; + Attributes::MinViewPortHeight::TypeInfo::DecodableType minViewPortHeight; + Attributes::RateDistortionTradeOffPoints::TypeInfo::DecodableType rateDistortionTradeOffPoints; + Attributes::MaxPreRollBufferSize::TypeInfo::DecodableType maxPreRollBufferSize = static_cast(0); + Attributes::MicrophoneCapabilities::TypeInfo::DecodableType microphoneCapabilities; + Attributes::SpeakerCapabilities::TypeInfo::DecodableType speakerCapabilities; + Attributes::TwoWayTalkSupport::TypeInfo::DecodableType twoWayTalkSupport = + static_cast(0); + Attributes::SupportedSnapshotParams::TypeInfo::DecodableType supportedSnapshotParams; + Attributes::HDRCapable::TypeInfo::DecodableType HDRCapable = static_cast(0); + Attributes::MaxNetworkBandwidth::TypeInfo::DecodableType maxNetworkBandwidth = static_cast(0); + Attributes::CurrentFrameRate::TypeInfo::DecodableType currentFrameRate = static_cast(0); + Attributes::HDRMode::TypeInfo::DecodableType HDRMode = static_cast(0); + Attributes::CurrentVideoCodecs::TypeInfo::DecodableType currentVideoCodecs; + Attributes::CurrentSnapshotConfig::TypeInfo::DecodableType currentSnapshotConfig; + Attributes::FabricsUsingCamera::TypeInfo::DecodableType fabricsUsingCamera; + Attributes::AllocatedVideoStreams::TypeInfo::DecodableType allocatedVideoStreams; + Attributes::AllocatedAudioStreams::TypeInfo::DecodableType allocatedAudioStreams; + Attributes::AllocatedSnapshotStreams::TypeInfo::DecodableType allocatedSnapshotStreams; + Attributes::RankedVideoStreamPrioritiesList::TypeInfo::DecodableType rankedVideoStreamPrioritiesList; + Attributes::SoftRecordingPrivacyModeSetting::TypeInfo::DecodableType softRecordingPrivacyModeSetting = static_cast(0); + Attributes::SoftLivestreamPrivacyModeSetting::TypeInfo::DecodableType softLivestreamPrivacyModeSetting = + static_cast(0); + Attributes::HardPrivacyMode::TypeInfo::DecodableType hardPrivacyMode = static_cast(0); + Attributes::NightVision::TypeInfo::DecodableType nightVision = + static_cast(0); + Attributes::NightVisionIllum::TypeInfo::DecodableType nightVisionIllum = + static_cast(0); + Attributes::Awb::TypeInfo::DecodableType awb = static_cast(0); + Attributes::ShutterSpeed::TypeInfo::DecodableType shutterSpeed = static_cast(0); + Attributes::Iso::TypeInfo::DecodableType iso = static_cast(0); + Attributes::Viewport::TypeInfo::DecodableType viewport; + Attributes::SpkrOnOff::TypeInfo::DecodableType spkrOnOff = static_cast(0); + Attributes::SpkrVolumeLevel::TypeInfo::DecodableType spkrVolumeLevel = static_cast(0); + Attributes::SpkrMaxLevel::TypeInfo::DecodableType spkrMaxLevel = static_cast(0); + Attributes::SpkrMinLevel::TypeInfo::DecodableType spkrMinLevel = static_cast(0); + Attributes::MicOnOff::TypeInfo::DecodableType micOnOff = static_cast(0); + Attributes::MicCurrentLevel::TypeInfo::DecodableType micCurrentLevel = static_cast(0); + Attributes::MicMaxLevel::TypeInfo::DecodableType micMaxLevel = static_cast(0); + Attributes::MicMinLevel::TypeInfo::DecodableType micMinLevel = static_cast(0); + Attributes::MicAGC::TypeInfo::DecodableType micAGC = static_cast(0); + Attributes::ImageRotation::TypeInfo::DecodableType imageRotation = static_cast(0); + Attributes::ImageFlipHorizontal::TypeInfo::DecodableType imageFlipHorizontal = static_cast(0); + Attributes::ImageFlipVertical::TypeInfo::DecodableType imageFlipVertical = static_cast(0); + Attributes::LocalVideoRecordingEnabled::TypeInfo::DecodableType localVideoRecordingEnabled = static_cast(0); + Attributes::LocalSnapshotRecordingEnabled::TypeInfo::DecodableType localSnapshotRecordingEnabled = static_cast(0); + Attributes::StatusLight::TypeInfo::DecodableType statusLight = static_cast(0); + Attributes::StatusLightBrightness::TypeInfo::DecodableType statusLightBrightness = + static_cast(0); + Attributes::DepthSensorStatus::TypeInfo::DecodableType depthSensorStatus = + static_cast(0); + Attributes::WatermarkEnabled::TypeInfo::DecodableType watermarkEnabled; + Attributes::OSDEnabled::TypeInfo::DecodableType OSDEnabled; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::EventList::TypeInfo::DecodableType eventList; + 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 VideoStreamChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields : uint8_t +{ + kVideoStreamID = 0, + kStreamType = 1, + kVideoCodec = 2, + kMinFrameRate = 3, + kMaxFrameRate = 4, + kMinResolution = 5, + kMaxResolution = 6, + kMinBitRate = 7, + kMaxBitRate = 8, + kMinFragmentLen = 9, + kMaxFragmentLen = 10, +}; + +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::VideoStreamChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr bool kIsFabricScoped = false; + + uint16_t videoStreamID = static_cast(0); + Optional streamType; + Optional videoCodec; + Optional minFrameRate; + Optional maxFrameRate; + Optional minResolution; + Optional maxResolution; + Optional minBitRate; + Optional maxBitRate; + Optional minFragmentLen; + Optional maxFragmentLen; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::VideoStreamChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + Optional streamType; + Optional videoCodec; + Optional minFrameRate; + Optional maxFrameRate; + Optional minResolution; + Optional maxResolution; + Optional minBitRate; + Optional maxBitRate; + Optional minFragmentLen; + Optional maxFragmentLen; + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace VideoStreamChanged +namespace AudioStreamChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields : uint8_t +{ + kAudioStreamID = 0, + kStreamType = 1, + kAudioCodec = 2, + kChannelCount = 3, + kSampleRate = 4, + kBitRate = 5, + kBitDepth = 6, +}; + +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AudioStreamChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr bool kIsFabricScoped = false; + + uint16_t audioStreamID = static_cast(0); + Optional streamType; + Optional audioCodec; + Optional channelCount; + Optional sampleRate; + Optional bitRate; + Optional bitDepth; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::AudioStreamChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t audioStreamID = static_cast(0); + Optional streamType; + Optional audioCodec; + Optional channelCount; + Optional sampleRate; + Optional bitRate; + Optional bitDepth; + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace AudioStreamChanged +namespace SnapshotStreamChanged { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields : uint8_t +{ + kSnapshotStreamID = 0, + kImageCodec = 1, + kFrameRate = 2, + kBitRate = 3, + kMinResolution = 4, + kMaxResolution = 5, + kQuality = 6, +}; + +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SnapshotStreamChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + static constexpr bool kIsFabricScoped = false; + + uint16_t snapshotStreamID = static_cast(0); + Optional imageCodec; + Optional frameRate; + Optional bitRate; + Optional minResolution; + Optional maxResolution; + Optional quality; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::SnapshotStreamChanged::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvStreamManagement::Id; } + + uint16_t snapshotStreamID = static_cast(0); + Optional imageCodec; + Optional frameRate; + Optional bitRate; + Optional minResolution; + Optional maxResolution; + Optional quality; + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace SnapshotStreamChanged +} // namespace Events +} // namespace CameraAvStreamManagement +namespace CameraAvSettingsUserLevelManagement { +namespace Structs { +namespace MPTZStruct { +enum class Fields : uint8_t +{ + kMPan = 0, + kMTilt = 1, + kMZoom = 2, +}; + +struct Type +{ +public: + Optional> MPan; + Optional> MTilt; + Optional> MZoom; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace MPTZStruct +namespace PerStreamStruct = Clusters::detail::Structs::PerStreamStruct; +namespace ViewportStruct = Clusters::detail::Structs::ViewportStruct; +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace MptzSet { +struct Type; +struct DecodableType; +} // namespace MptzSet + +namespace MptzRelativeMove { +struct Type; +struct DecodableType; +} // namespace MptzRelativeMove + +namespace SetAsPreset { +struct Type; +struct DecodableType; +} // namespace SetAsPreset + +namespace DptzSetViewport { +struct Type; +struct DecodableType; +} // namespace DptzSetViewport + +namespace DptzRelativeMove { +struct Type; +struct DecodableType; +} // namespace DptzRelativeMove + +} // namespace Commands + +namespace Commands { +namespace MptzSet { +enum class Fields : uint8_t +{ + kNewPTZ = 0, + kPresetID = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MptzSet::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + Optional newPTZ; + Optional presetID; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::MptzSet::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + Optional newPTZ; + Optional presetID; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace MptzSet +namespace MptzRelativeMove { +enum class Fields : uint8_t +{ + kPan = 0, + kTilt = 1, + kZoom = 2, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::MptzRelativeMove::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + int16_t pan = static_cast(0); + int16_t tilt = static_cast(0); + int16_t zoom = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::MptzRelativeMove::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + int16_t pan = static_cast(0); + int16_t tilt = static_cast(0); + int16_t zoom = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace MptzRelativeMove +namespace SetAsPreset { +enum class Fields : uint8_t +{ +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetAsPreset::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetAsPreset::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetAsPreset +namespace DptzSetViewport { +enum class Fields : uint8_t +{ + kVideoStreamID = 0, + kViewport = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::DptzSetViewport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + Structs::ViewportStruct::Type viewport; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::DptzSetViewport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + Structs::ViewportStruct::DecodableType viewport; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace DptzSetViewport +namespace DptzRelativeMove { +enum class Fields : uint8_t +{ + kVideoStreamID = 0, + kPan = 1, + kTilt = 2, + kZoom = 3, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::DptzRelativeMove::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + int16_t pan = static_cast(0); + int16_t tilt = static_cast(0); + int8_t zoom = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::DptzRelativeMove::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + uint16_t videoStreamID = static_cast(0); + int16_t pan = static_cast(0); + int16_t tilt = static_cast(0); + int8_t zoom = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace DptzRelativeMove +} // namespace Commands + +namespace Attributes { + +namespace Mptz { +struct TypeInfo +{ + using Type = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::Type; + using DecodableType = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType; + using DecodableArgType = const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Mptz::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Mptz +namespace MaxPresets { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MaxPresets::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MaxPresets +namespace PresetMptzTable { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::PresetMptzTable::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace PresetMptzTable +namespace MptzRelativeMove { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::MptzRelativeMove::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace MptzRelativeMove +namespace DptzRelativeMove { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::PerStreamStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::PerStreamStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DptzRelativeMove::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace DptzRelativeMove +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } +}; +} // namespace AcceptedCommandList +namespace EventList { +struct TypeInfo : public Clusters::Globals::Attributes::EventList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } +}; +} // namespace EventList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::CameraAvSettingsUserLevelManagement::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::Mptz::TypeInfo::DecodableType mptz; + Attributes::MaxPresets::TypeInfo::DecodableType maxPresets = static_cast(0); + Attributes::PresetMptzTable::TypeInfo::DecodableType presetMptzTable; + Attributes::MptzRelativeMove::TypeInfo::DecodableType mptzRelativeMove = static_cast(0); + Attributes::DptzRelativeMove::TypeInfo::DecodableType dptzRelativeMove; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::EventList::TypeInfo::DecodableType eventList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace CameraAvSettingsUserLevelManagement +namespace WebRTCTransportProvider { +namespace Structs { +namespace ICEServerStruct = Clusters::detail::Structs::ICEServerStruct; +namespace WebRTCSessionStruct = Clusters::detail::Structs::WebRTCSessionStruct; +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace WebRTCSolicitOffer { +struct Type; +struct DecodableType; +} // namespace WebRTCSolicitOffer + +namespace WebRTCSolicitOfferResponse { +struct Type; +struct DecodableType; +} // namespace WebRTCSolicitOfferResponse + +namespace WebRTCProvideOffer { +struct Type; +struct DecodableType; +} // namespace WebRTCProvideOffer + +namespace WebRTCProvideOfferResponse { +struct Type; +struct DecodableType; +} // namespace WebRTCProvideOfferResponse + +namespace WebRTCProvideAnswer { +struct Type; +struct DecodableType; +} // namespace WebRTCProvideAnswer + +namespace WebRTCProvideICECandidate { +struct Type; +struct DecodableType; +} // namespace WebRTCProvideICECandidate + +namespace WebRTCEndSession { +struct Type; +struct DecodableType; +} // namespace WebRTCEndSession + +} // namespace Commands + +namespace Commands { +namespace WebRTCSolicitOffer { +enum class Fields : uint8_t +{ + kStreamType = 0, + kVideoStreamID = 1, + kAudioStreamID = 2, + kICEServers = 3, + kICETransportPolicy = 4, + kMetadataOptions = 5, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCSolicitOffer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + StreamTypeEnum streamType = static_cast(0); + Optional> videoStreamID; + Optional> audioStreamID; + Optional> ICEServers; + Optional ICETransportPolicy; + Optional> metadataOptions; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCSolicitOffer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + StreamTypeEnum streamType = static_cast(0); + Optional> videoStreamID; + Optional> audioStreamID; + Optional> ICEServers; + Optional ICETransportPolicy; + Optional> metadataOptions; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCSolicitOffer +namespace WebRTCSolicitOfferResponse { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kDeferredOffer = 1, + kVideoStreamID = 2, + kAudioStreamID = 3, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCSolicitOfferResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + bool deferredOffer = static_cast(0); + Optional> videoStreamID; + Optional> audioStreamID; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCSolicitOfferResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + bool deferredOffer = static_cast(0); + Optional> videoStreamID; + Optional> audioStreamID; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCSolicitOfferResponse +namespace WebRTCProvideOffer { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kSdp = 1, + kStreamType = 2, + kVideoStreamID = 3, + kAudioStreamID = 4, + kICEServers = 5, + kICETransportPolicy = 6, + kMetadataOptions = 7, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideOffer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + DataModel::Nullable webRTCSessionID; + chip::CharSpan sdp; + StreamTypeEnum streamType = static_cast(0); + Optional> videoStreamID; + Optional> audioStreamID; + Optional> ICEServers; + Optional ICETransportPolicy; + Optional> metadataOptions; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideOffer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + DataModel::Nullable webRTCSessionID; + chip::CharSpan sdp; + StreamTypeEnum streamType = static_cast(0); + Optional> videoStreamID; + Optional> audioStreamID; + Optional> ICEServers; + Optional ICETransportPolicy; + Optional> metadataOptions; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCProvideOffer +namespace WebRTCProvideOfferResponse { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kVideoStreamID = 1, + kAudioStreamID = 2, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideOfferResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + uint16_t videoStreamID = static_cast(0); + uint16_t audioStreamID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideOfferResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + uint16_t videoStreamID = static_cast(0); + uint16_t audioStreamID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCProvideOfferResponse +namespace WebRTCProvideAnswer { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kSdp = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideAnswer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan sdp; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideAnswer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan sdp; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCProvideAnswer +namespace WebRTCProvideICECandidate { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kICECandidate = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideICECandidate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan ICECandidate; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCProvideICECandidate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan ICECandidate; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCProvideICECandidate +namespace WebRTCEndSession { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kReason = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCEndSession::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + WebRTCEndReasonEnum reason = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCEndSession::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + uint16_t webRTCSessionID = static_cast(0); + WebRTCEndReasonEnum reason = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCEndSession +} // namespace Commands + +namespace Attributes { + +namespace CurrentSessions { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::WebRTCTransportProvider::Structs::WebRTCSessionStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::WebRTCTransportProvider::Structs::WebRTCSessionStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentSessions::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentSessions +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } +}; +} // namespace AcceptedCommandList +namespace EventList { +struct TypeInfo : public Clusters::Globals::Attributes::EventList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } +}; +} // namespace EventList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportProvider::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::CurrentSessions::TypeInfo::DecodableType currentSessions; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::EventList::TypeInfo::DecodableType eventList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace WebRTCTransportProvider +namespace WebRTCTransportRequestor { +namespace Structs { +namespace ICEServerStruct = Clusters::detail::Structs::ICEServerStruct; +namespace WebRTCSessionStruct = Clusters::detail::Structs::WebRTCSessionStruct; +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace WebRTCOffer { +struct Type; +struct DecodableType; +} // namespace WebRTCOffer + +namespace WebRTCAnswer { +struct Type; +struct DecodableType; +} // namespace WebRTCAnswer + +namespace WebRTCICECandidate { +struct Type; +struct DecodableType; +} // namespace WebRTCICECandidate + +namespace WebRTCEnd { +struct Type; +struct DecodableType; +} // namespace WebRTCEnd + +} // namespace Commands + +namespace Commands { +namespace WebRTCOffer { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kSdp = 1, + kICEServers = 2, + kICETransportPolicy = 3, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCOffer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan sdp; + Optional> ICEServers; + Optional ICETransportPolicy; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCOffer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan sdp; + Optional> ICEServers; + Optional ICETransportPolicy; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCOffer +namespace WebRTCAnswer { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kSdp = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCAnswer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan sdp; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCAnswer::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan sdp; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCAnswer +namespace WebRTCICECandidate { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kICECandidate = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCICECandidate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan ICECandidate; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCICECandidate::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + chip::CharSpan ICECandidate; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCICECandidate +namespace WebRTCEnd { +enum class Fields : uint8_t +{ + kWebRTCSessionID = 0, + kReason = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::WebRTCEnd::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + WebRTCEndReasonEnum reason = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::WebRTCEnd::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + uint16_t webRTCSessionID = static_cast(0); + WebRTCEndReasonEnum reason = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace WebRTCEnd +} // namespace Commands + +namespace Attributes { + +namespace CurrentSessions { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::WebRTCTransportRequestor::Structs::WebRTCSessionStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::WebRTCTransportRequestor::Structs::WebRTCSessionStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentSessions::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentSessions +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } +}; +} // namespace AcceptedCommandList +namespace EventList { +struct TypeInfo : public Clusters::Globals::Attributes::EventList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } +}; +} // namespace EventList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::WebRTCTransportRequestor::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::CurrentSessions::TypeInfo::DecodableType currentSessions; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::EventList::TypeInfo::DecodableType eventList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace WebRTCTransportRequestor +namespace PushAvStreamTransport { +namespace Structs { +namespace PushAVStreamTransportMotionTriggerTimeControlStruct { +enum class Fields : uint8_t +{ + kInitialDuration = 0, + kAugmentationDuration = 1, + kMaxDuration = 2, + kBlindDuration = 3, +}; + +struct Type +{ +public: + uint16_t initialDuration = static_cast(0); + uint16_t augmentationDuration = static_cast(0); + uint32_t maxDuration = static_cast(0); + uint16_t blindDuration = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace PushAVStreamTransportMotionTriggerTimeControlStruct +namespace PushAVStreamTransportMetadataOptionsStruct { +enum class Fields : uint8_t +{ + kMultiplexing = 0, + kIncludeMotionZones = 1, + kEnableMetadataPrivacySensitive = 2, +}; + +struct Type +{ +public: + PushAVStreamTransportStreamMultiplexingEnum multiplexing = static_cast(0); + bool includeMotionZones = static_cast(0); + bool enableMetadataPrivacySensitive = static_cast(0); + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace PushAVStreamTransportMetadataOptionsStruct +namespace PushAVStreamTransportTriggerOptionsStruct { +enum class Fields : uint8_t +{ + kTriggerType = 0, + kMotionZones = 1, + kMotionSensitivity = 2, + kMotionTimeControl = 3, + kActivationReason = 4, +}; + +struct Type +{ +public: + PushAVStreamTransportTriggerTypeEnum triggerType = static_cast(0); + Optional>> motionZones; + Optional> motionSensitivity; + Optional> motionTimeControl; + Optional> activationReason; + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + PushAVStreamTransportTriggerTypeEnum triggerType = static_cast(0); + Optional>> motionZones; + Optional> motionSensitivity; + Optional> motionTimeControl; + Optional> activationReason; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; +}; + +} // namespace PushAVStreamTransportTriggerOptionsStruct +namespace PushAVStreamTransportCMAFContainerOptionsStruct { +enum class Fields : uint8_t +{ + kChunkDuration = 0, + kCENCKey = 1, +}; + +struct Type +{ +public: + uint16_t chunkDuration = static_cast(0); + Optional> CENCKey; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace PushAVStreamTransportCMAFContainerOptionsStruct +namespace PushAVStreamTransportContainerOptionsStruct { +enum class Fields : uint8_t +{ + kContainerType = 0, + kCMAFContainerOptions = 1, +}; + +struct Type +{ +public: + PushAVStreamTransportContainerFormatEnum containerType = static_cast(0); + Optional> CMAFContainerOptions; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace PushAVStreamTransportContainerOptionsStruct +namespace PushAVStreamTransportOptionsStruct { +enum class Fields : uint8_t +{ + kStreamType = 0, + kVideoStreamID = 1, + kAudioStreamID = 2, + kTLSEndpointID = 3, + kUrl = 4, + kTriggerOptions = 5, + kContainerFormat = 6, + kIngestMethod = 7, + kContainerOptions = 8, + kMetadataOptions = 9, + kExpiryTime = 10, +}; + +struct Type +{ +public: + StreamTypeEnum streamType = static_cast(0); + Optional> videoStreamID; + Optional> audioStreamID; + uint16_t TLSEndpointID = static_cast(0); + chip::CharSpan url; + Structs::PushAVStreamTransportTriggerOptionsStruct::Type triggerOptions; + PushAVStreamTransportContainerFormatEnum containerFormat = static_cast(0); + PushAVStreamTransportIngestMethodEnum ingestMethod = static_cast(0); + Structs::PushAVStreamTransportContainerOptionsStruct::Type containerOptions; + Optional> metadataOptions; + Optional> expiryTime; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace PushAVStreamTransportOptionsStruct +namespace PushAVStreamConfigurationStruct { +enum class Fields : uint8_t +{ + kConnectionID = 0, + kStreamTransportStatus = 1, + kStreamTransportOptions = 2, +}; + +struct Type +{ +public: + uint16_t connectionID = static_cast(0); + PushAVStreamTransportStatusEnum streamTransportStatus = static_cast(0); + Structs::PushAVStreamTransportOptionsStruct::Type streamTransportOptions; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace PushAVStreamConfigurationStruct +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace AllocatePushTransport { +struct Type; +struct DecodableType; +} // namespace AllocatePushTransport + +namespace AllocatePushTransportResponse { +struct Type; +struct DecodableType; +} // namespace AllocatePushTransportResponse + +namespace DeallocatePushTransport { +struct Type; +struct DecodableType; +} // namespace DeallocatePushTransport + +namespace ModifyPushTransport { +struct Type; +struct DecodableType; +} // namespace ModifyPushTransport + +namespace SetTransportStatus { +struct Type; +struct DecodableType; +} // namespace SetTransportStatus + +namespace ManuallyTriggerTransport { +struct Type; +struct DecodableType; +} // namespace ManuallyTriggerTransport + +namespace FindStreamConfiguration { +struct Type; +struct DecodableType; +} // namespace FindStreamConfiguration + +namespace FindStreamConfigurationResponse { +struct Type; +struct DecodableType; +} // namespace FindStreamConfigurationResponse + +} // namespace Commands + +namespace Commands { +namespace AllocatePushTransport { +enum class Fields : uint8_t +{ + kStreamTransportOptions = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AllocatePushTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + Structs::PushAVStreamTransportOptionsStruct::Type streamTransportOptions; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::AllocatePushTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + Structs::PushAVStreamTransportOptionsStruct::DecodableType streamTransportOptions; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace AllocatePushTransport +namespace AllocatePushTransportResponse { +enum class Fields : uint8_t +{ + kConnectionID = 0, + kStreamTransportOptions = 1, + kTransportStatus = 2, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::AllocatePushTransportResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + Structs::PushAVStreamTransportOptionsStruct::Type streamTransportOptions; + PushAVStreamTransportStatusEnum transportStatus = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::AllocatePushTransportResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + Structs::PushAVStreamTransportOptionsStruct::DecodableType streamTransportOptions; + PushAVStreamTransportStatusEnum transportStatus = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace AllocatePushTransportResponse +namespace DeallocatePushTransport { +enum class Fields : uint8_t +{ + kConnectionID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::DeallocatePushTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::DeallocatePushTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace DeallocatePushTransport +namespace ModifyPushTransport { +enum class Fields : uint8_t +{ + kConnectionID = 0, + kStreamTransportOptions = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ModifyPushTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + Structs::PushAVStreamTransportOptionsStruct::Type streamTransportOptions; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::ModifyPushTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + Structs::PushAVStreamTransportOptionsStruct::DecodableType streamTransportOptions; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace ModifyPushTransport +namespace SetTransportStatus { +enum class Fields : uint8_t +{ + kConnectionID = 0, + kStreamTransportStatus = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::SetTransportStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + DataModel::Nullable connectionID; + PushAVStreamTransportStatusEnum streamTransportStatus = static_cast(0); + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::SetTransportStatus::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + DataModel::Nullable connectionID; + PushAVStreamTransportStatusEnum streamTransportStatus = static_cast(0); + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace SetTransportStatus +namespace ManuallyTriggerTransport { +enum class Fields : uint8_t +{ + kConnectionID = 0, + kActivationReason = 1, + kTimeControl = 2, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::ManuallyTriggerTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + DataModel::Nullable activationReason; + Optional> timeControl; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::ManuallyTriggerTransport::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + DataModel::Nullable activationReason; + Optional> timeControl; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace ManuallyTriggerTransport +namespace FindStreamConfiguration { +enum class Fields : uint8_t +{ + kConnectionID = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::FindStreamConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + Optional> connectionID; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::DecodableType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::FindStreamConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + Optional> connectionID; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace FindStreamConfiguration +namespace FindStreamConfigurationResponse { +enum class Fields : uint8_t +{ + kStreamConfigurations = 0, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::FindStreamConfigurationResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + DataModel::List streamConfigurations; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::FindStreamConfigurationResponse::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + DataModel::DecodableList streamConfigurations; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace FindStreamConfigurationResponse +} // namespace Commands + +namespace Attributes { + +namespace SupportedContainerFormats { +struct TypeInfo +{ + using Type = chip::BitMask; + using DecodableType = + chip::BitMask; + using DecodableArgType = + chip::BitMask; + + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedContainerFormats::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SupportedContainerFormats +namespace SupportedIngestMethods { +struct TypeInfo +{ + using Type = chip::BitMask; + using DecodableType = + chip::BitMask; + using DecodableArgType = + chip::BitMask; + + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::SupportedIngestMethods::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace SupportedIngestMethods +namespace CurrentConnections { +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::PushAvStreamTransport::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentConnections::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace CurrentConnections +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } +}; +} // namespace AcceptedCommandList +namespace EventList { +struct TypeInfo : public Clusters::Globals::Attributes::EventList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } +}; +} // namespace EventList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::SupportedContainerFormats::TypeInfo::DecodableType supportedContainerFormats = static_cast< + chip::BitMask>(0); + Attributes::SupportedIngestMethods::TypeInfo::DecodableType supportedIngestMethods = static_cast< + chip::BitMask>(0); + Attributes::CurrentConnections::TypeInfo::DecodableType currentConnections; + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::EventList::TypeInfo::DecodableType eventList; + 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 PushTransportBegin { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields : uint8_t +{ +}; + +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PushTransportBegin::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PushTransportBegin::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace PushTransportBegin +namespace PushTransportEnd { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; + +enum class Fields : uint8_t +{ + kConnectionID = 0, + kTriggerDetails = 1, +}; + +struct Type +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PushTransportEnd::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + static constexpr bool kIsFabricScoped = false; + + uint16_t connectionID = static_cast(0); + Structs::PushAVStreamTransportTriggerOptionsStruct::Type triggerDetails; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return Events::PushTransportEnd::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PushAvStreamTransport::Id; } + + uint16_t connectionID = static_cast(0); + Structs::PushAVStreamTransportTriggerOptionsStruct::DecodableType triggerDetails; + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace PushTransportEnd +} // namespace Events +} // namespace PushAvStreamTransport +namespace Chime { +namespace Structs { +namespace ChimeSoundStruct { +enum class Fields : uint8_t +{ + kChimeId = 0, + kName = 1, +}; + +struct Type +{ +public: + uint8_t chimeId = static_cast(0); + chip::CharSpan name; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; +}; + +using DecodableType = Type; + +} // namespace ChimeSoundStruct +} // namespace Structs + +namespace Commands { +// Forward-declarations so we can reference these later. + +namespace PlayChimeSound { +struct Type; +struct DecodableType; +} // namespace PlayChimeSound + +} // namespace Commands + +namespace Commands { +namespace PlayChimeSound { +enum class Fields : uint8_t +{ +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return Commands::PlayChimeSound::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } + + CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; + + using ResponseType = DataModel::NullObjectType; + + static constexpr bool MustUseTimedInvoke() { return false; } +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return Commands::PlayChimeSound::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace PlayChimeSound +} // namespace Commands + +namespace Attributes { + +namespace InstalledChimeSounds { +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::Chime::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::InstalledChimeSounds::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace InstalledChimeSounds +namespace ActiveChimeSoundId { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + using DecodableArgType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ActiveChimeSoundId::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ActiveChimeSoundId +namespace Enabled { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + using DecodableArgType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::Enabled::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace Enabled +namespace GeneratedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } +}; +} // namespace GeneratedCommandList +namespace AcceptedCommandList { +struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } +}; +} // namespace AcceptedCommandList +namespace EventList { +struct TypeInfo : public Clusters::Globals::Attributes::EventList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } +}; +} // namespace EventList +namespace AttributeList { +struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } +}; +} // namespace AttributeList +namespace FeatureMap { +struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo +{ + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } +}; +} // namespace ClusterRevision + +struct TypeInfo +{ + struct DecodableType + { + static constexpr ClusterId GetClusterId() { return Clusters::Chime::Id; } + + CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); + + Attributes::InstalledChimeSounds::TypeInfo::DecodableType installedChimeSounds; + Attributes::ActiveChimeSoundId::TypeInfo::DecodableType activeChimeSoundId = static_cast(0); + Attributes::Enabled::TypeInfo::DecodableType enabled = static_cast(0); + Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; + Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; + Attributes::EventList::TypeInfo::DecodableType eventList; + Attributes::AttributeList::TypeInfo::DecodableType attributeList; + Attributes::FeatureMap::TypeInfo::DecodableType featureMap = static_cast(0); + Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast(0); + }; +}; +} // namespace Attributes +} // namespace Chime namespace EcosystemInformation { namespace Structs { namespace DeviceTypeStruct = Clusters::detail::Structs::DeviceTypeStruct; 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 6e19a4c970df77..820ac25f2b5f3f 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 @@ -7487,6 +7487,442 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace ContentAppObserver +namespace CameraAvStreamManagement { +namespace Attributes { + +namespace MaxConcurrentVideoEncoders { +static constexpr AttributeId Id = 0x00000000; +} // namespace MaxConcurrentVideoEncoders + +namespace MaxEncodedPixelRate { +static constexpr AttributeId Id = 0x00000001; +} // namespace MaxEncodedPixelRate + +namespace VideoSensorParams { +static constexpr AttributeId Id = 0x00000002; +} // namespace VideoSensorParams + +namespace NightVisionCapable { +static constexpr AttributeId Id = 0x00000003; +} // namespace NightVisionCapable + +namespace MinViewPortWidth { +static constexpr AttributeId Id = 0x00000004; +} // namespace MinViewPortWidth + +namespace MinViewPortHeight { +static constexpr AttributeId Id = 0x00000005; +} // namespace MinViewPortHeight + +namespace RateDistortionTradeOffPoints { +static constexpr AttributeId Id = 0x00000006; +} // namespace RateDistortionTradeOffPoints + +namespace MaxPreRollBufferSize { +static constexpr AttributeId Id = 0x00000007; +} // namespace MaxPreRollBufferSize + +namespace MicrophoneCapabilities { +static constexpr AttributeId Id = 0x00000008; +} // namespace MicrophoneCapabilities + +namespace SpeakerCapabilities { +static constexpr AttributeId Id = 0x00000009; +} // namespace SpeakerCapabilities + +namespace TwoWayTalkSupport { +static constexpr AttributeId Id = 0x0000000A; +} // namespace TwoWayTalkSupport + +namespace SupportedSnapshotParams { +static constexpr AttributeId Id = 0x0000000B; +} // namespace SupportedSnapshotParams + +namespace HDRCapable { +static constexpr AttributeId Id = 0x0000000C; +} // namespace HDRCapable + +namespace MaxNetworkBandwidth { +static constexpr AttributeId Id = 0x0000000D; +} // namespace MaxNetworkBandwidth + +namespace CurrentFrameRate { +static constexpr AttributeId Id = 0x0000000E; +} // namespace CurrentFrameRate + +namespace HDRMode { +static constexpr AttributeId Id = 0x0000000F; +} // namespace HDRMode + +namespace CurrentVideoCodecs { +static constexpr AttributeId Id = 0x00000010; +} // namespace CurrentVideoCodecs + +namespace CurrentSnapshotConfig { +static constexpr AttributeId Id = 0x00000011; +} // namespace CurrentSnapshotConfig + +namespace FabricsUsingCamera { +static constexpr AttributeId Id = 0x00000012; +} // namespace FabricsUsingCamera + +namespace AllocatedVideoStreams { +static constexpr AttributeId Id = 0x00000013; +} // namespace AllocatedVideoStreams + +namespace AllocatedAudioStreams { +static constexpr AttributeId Id = 0x00000014; +} // namespace AllocatedAudioStreams + +namespace AllocatedSnapshotStreams { +static constexpr AttributeId Id = 0x00000015; +} // namespace AllocatedSnapshotStreams + +namespace RankedVideoStreamPrioritiesList { +static constexpr AttributeId Id = 0x00000016; +} // namespace RankedVideoStreamPrioritiesList + +namespace SoftRecordingPrivacyModeSetting { +static constexpr AttributeId Id = 0x00000017; +} // namespace SoftRecordingPrivacyModeSetting + +namespace SoftLivestreamPrivacyModeSetting { +static constexpr AttributeId Id = 0x00000018; +} // namespace SoftLivestreamPrivacyModeSetting + +namespace HardPrivacyMode { +static constexpr AttributeId Id = 0x00000019; +} // namespace HardPrivacyMode + +namespace NightVision { +static constexpr AttributeId Id = 0x0000001A; +} // namespace NightVision + +namespace NightVisionIllum { +static constexpr AttributeId Id = 0x0000001B; +} // namespace NightVisionIllum + +namespace Awb { +static constexpr AttributeId Id = 0x0000001C; +} // namespace Awb + +namespace ShutterSpeed { +static constexpr AttributeId Id = 0x0000001D; +} // namespace ShutterSpeed + +namespace Iso { +static constexpr AttributeId Id = 0x0000001E; +} // namespace Iso + +namespace Viewport { +static constexpr AttributeId Id = 0x0000001F; +} // namespace Viewport + +namespace SpkrOnOff { +static constexpr AttributeId Id = 0x00000020; +} // namespace SpkrOnOff + +namespace SpkrVolumeLevel { +static constexpr AttributeId Id = 0x00000021; +} // namespace SpkrVolumeLevel + +namespace SpkrMaxLevel { +static constexpr AttributeId Id = 0x00000022; +} // namespace SpkrMaxLevel + +namespace SpkrMinLevel { +static constexpr AttributeId Id = 0x00000023; +} // namespace SpkrMinLevel + +namespace MicOnOff { +static constexpr AttributeId Id = 0x00000024; +} // namespace MicOnOff + +namespace MicCurrentLevel { +static constexpr AttributeId Id = 0x00000025; +} // namespace MicCurrentLevel + +namespace MicMaxLevel { +static constexpr AttributeId Id = 0x00000026; +} // namespace MicMaxLevel + +namespace MicMinLevel { +static constexpr AttributeId Id = 0x00000027; +} // namespace MicMinLevel + +namespace MicAGC { +static constexpr AttributeId Id = 0x00000028; +} // namespace MicAGC + +namespace ImageRotation { +static constexpr AttributeId Id = 0x00000029; +} // namespace ImageRotation + +namespace ImageFlipHorizontal { +static constexpr AttributeId Id = 0x0000002A; +} // namespace ImageFlipHorizontal + +namespace ImageFlipVertical { +static constexpr AttributeId Id = 0x0000002B; +} // namespace ImageFlipVertical + +namespace LocalVideoRecordingEnabled { +static constexpr AttributeId Id = 0x0000002C; +} // namespace LocalVideoRecordingEnabled + +namespace LocalSnapshotRecordingEnabled { +static constexpr AttributeId Id = 0x0000002D; +} // namespace LocalSnapshotRecordingEnabled + +namespace StatusLight { +static constexpr AttributeId Id = 0x0000002E; +} // namespace StatusLight + +namespace StatusLightBrightness { +static constexpr AttributeId Id = 0x0000002F; +} // namespace StatusLightBrightness + +namespace DepthSensorStatus { +static constexpr AttributeId Id = 0x00000030; +} // namespace DepthSensorStatus + +namespace WatermarkEnabled { +static constexpr AttributeId Id = 0x00000031; +} // namespace WatermarkEnabled + +namespace OSDEnabled { +static constexpr AttributeId Id = 0x00000032; +} // namespace OSDEnabled + +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 EventList { +static constexpr AttributeId Id = Globals::Attributes::EventList::Id; +} // namespace EventList + +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 CameraAvStreamManagement + +namespace CameraAvSettingsUserLevelManagement { +namespace Attributes { + +namespace Mptz { +static constexpr AttributeId Id = 0x00000000; +} // namespace Mptz + +namespace MaxPresets { +static constexpr AttributeId Id = 0x00000001; +} // namespace MaxPresets + +namespace PresetMptzTable { +static constexpr AttributeId Id = 0x00000002; +} // namespace PresetMptzTable + +namespace MptzRelativeMove { +static constexpr AttributeId Id = 0x00000003; +} // namespace MptzRelativeMove + +namespace DptzRelativeMove { +static constexpr AttributeId Id = 0x00000004; +} // namespace DptzRelativeMove + +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 EventList { +static constexpr AttributeId Id = Globals::Attributes::EventList::Id; +} // namespace EventList + +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 CameraAvSettingsUserLevelManagement + +namespace WebRTCTransportProvider { +namespace Attributes { + +namespace CurrentSessions { +static constexpr AttributeId Id = 0x00000000; +} // namespace CurrentSessions + +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 EventList { +static constexpr AttributeId Id = Globals::Attributes::EventList::Id; +} // namespace EventList + +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 WebRTCTransportProvider + +namespace WebRTCTransportRequestor { +namespace Attributes { + +namespace CurrentSessions { +static constexpr AttributeId Id = 0x00000000; +} // namespace CurrentSessions + +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 EventList { +static constexpr AttributeId Id = Globals::Attributes::EventList::Id; +} // namespace EventList + +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 WebRTCTransportRequestor + +namespace PushAvStreamTransport { +namespace Attributes { + +namespace SupportedContainerFormats { +static constexpr AttributeId Id = 0x00000000; +} // namespace SupportedContainerFormats + +namespace SupportedIngestMethods { +static constexpr AttributeId Id = 0x00000001; +} // namespace SupportedIngestMethods + +namespace CurrentConnections { +static constexpr AttributeId Id = 0x00000002; +} // namespace CurrentConnections + +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 EventList { +static constexpr AttributeId Id = Globals::Attributes::EventList::Id; +} // namespace EventList + +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 PushAvStreamTransport + +namespace Chime { +namespace Attributes { + +namespace InstalledChimeSounds { +static constexpr AttributeId Id = 0x00000000; +} // namespace InstalledChimeSounds + +namespace ActiveChimeSoundId { +static constexpr AttributeId Id = 0x00000001; +} // namespace ActiveChimeSoundId + +namespace Enabled { +static constexpr AttributeId Id = 0x00000002; +} // namespace Enabled + +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 EventList { +static constexpr AttributeId Id = Globals::Attributes::EventList::Id; +} // namespace EventList + +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 Chime + namespace EcosystemInformation { 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 9e5bb87b52ef51..e1f8b10c795af1 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 @@ -385,6 +385,24 @@ static constexpr ClusterId Id = 0x0000050F; namespace ContentAppObserver { static constexpr ClusterId Id = 0x00000510; } // namespace ContentAppObserver +namespace CameraAvStreamManagement { +static constexpr ClusterId Id = 0x00000551; +} // namespace CameraAvStreamManagement +namespace CameraAvSettingsUserLevelManagement { +static constexpr ClusterId Id = 0x00000552; +} // namespace CameraAvSettingsUserLevelManagement +namespace WebRTCTransportProvider { +static constexpr ClusterId Id = 0x00000553; +} // namespace WebRTCTransportProvider +namespace WebRTCTransportRequestor { +static constexpr ClusterId Id = 0x00000554; +} // namespace WebRTCTransportRequestor +namespace PushAvStreamTransport { +static constexpr ClusterId Id = 0x00000555; +} // namespace PushAvStreamTransport +namespace Chime { +static constexpr ClusterId Id = 0x00000556; +} // namespace Chime namespace EcosystemInformation { static constexpr ClusterId Id = 0x00000750; } // namespace EcosystemInformation 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 36ff7b0f098911..3a981ada57f893 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 @@ -1817,6 +1817,210 @@ static constexpr CommandId Id = 0x00000001; } // namespace Commands } // namespace ContentAppObserver +namespace CameraAvStreamManagement { +namespace Commands { + +namespace AudioStreamAllocate { +static constexpr CommandId Id = 0x00000000; +} // namespace AudioStreamAllocate + +namespace AudioStreamAllocateResponse { +static constexpr CommandId Id = 0x00000001; +} // namespace AudioStreamAllocateResponse + +namespace AudioStreamDeallocate { +static constexpr CommandId Id = 0x00000002; +} // namespace AudioStreamDeallocate + +namespace VideoStreamAllocate { +static constexpr CommandId Id = 0x00000003; +} // namespace VideoStreamAllocate + +namespace VideoStreamAllocateResponse { +static constexpr CommandId Id = 0x00000004; +} // namespace VideoStreamAllocateResponse + +namespace VideoStreamModify { +static constexpr CommandId Id = 0x00000005; +} // namespace VideoStreamModify + +namespace VideoStreamDeallocate { +static constexpr CommandId Id = 0x00000006; +} // namespace VideoStreamDeallocate + +namespace SnapshotStreamAllocate { +static constexpr CommandId Id = 0x00000007; +} // namespace SnapshotStreamAllocate + +namespace SnapshotStreamAllocateResponse { +static constexpr CommandId Id = 0x00000008; +} // namespace SnapshotStreamAllocateResponse + +namespace SnapshotStreamDeallocate { +static constexpr CommandId Id = 0x00000009; +} // namespace SnapshotStreamDeallocate + +namespace SetStreamPriority { +static constexpr CommandId Id = 0x0000000A; +} // namespace SetStreamPriority + +namespace CaptureSnapshot { +static constexpr CommandId Id = 0x0000000B; +} // namespace CaptureSnapshot + +namespace CaptureSnapshotResponse { +static constexpr CommandId Id = 0x0000000C; +} // namespace CaptureSnapshotResponse + +namespace SetViewport { +static constexpr CommandId Id = 0x0000000D; +} // namespace SetViewport + +namespace SetImageRotation { +static constexpr CommandId Id = 0x0000000E; +} // namespace SetImageRotation + +namespace SetImageFlipHorizontal { +static constexpr CommandId Id = 0x0000000F; +} // namespace SetImageFlipHorizontal + +namespace SetImageFlipVertical { +static constexpr CommandId Id = 0x00000010; +} // namespace SetImageFlipVertical + +} // namespace Commands +} // namespace CameraAvStreamManagement + +namespace CameraAvSettingsUserLevelManagement { +namespace Commands { + +namespace MptzSet { +static constexpr CommandId Id = 0x00000000; +} // namespace MptzSet + +namespace MptzRelativeMove { +static constexpr CommandId Id = 0x00000001; +} // namespace MptzRelativeMove + +namespace SetAsPreset { +static constexpr CommandId Id = 0x00000002; +} // namespace SetAsPreset + +namespace DptzSetViewport { +static constexpr CommandId Id = 0x00000003; +} // namespace DptzSetViewport + +namespace DptzRelativeMove { +static constexpr CommandId Id = 0x00000004; +} // namespace DptzRelativeMove + +} // namespace Commands +} // namespace CameraAvSettingsUserLevelManagement + +namespace WebRTCTransportProvider { +namespace Commands { + +namespace WebRTCSolicitOffer { +static constexpr CommandId Id = 0x00000001; +} // namespace WebRTCSolicitOffer + +namespace WebRTCSolicitOfferResponse { +static constexpr CommandId Id = 0x00000002; +} // namespace WebRTCSolicitOfferResponse + +namespace WebRTCProvideOffer { +static constexpr CommandId Id = 0x00000003; +} // namespace WebRTCProvideOffer + +namespace WebRTCProvideOfferResponse { +static constexpr CommandId Id = 0x00000004; +} // namespace WebRTCProvideOfferResponse + +namespace WebRTCProvideAnswer { +static constexpr CommandId Id = 0x00000005; +} // namespace WebRTCProvideAnswer + +namespace WebRTCProvideICECandidate { +static constexpr CommandId Id = 0x00000006; +} // namespace WebRTCProvideICECandidate + +namespace WebRTCEndSession { +static constexpr CommandId Id = 0x00000007; +} // namespace WebRTCEndSession + +} // namespace Commands +} // namespace WebRTCTransportProvider + +namespace WebRTCTransportRequestor { +namespace Commands { + +namespace WebRTCOffer { +static constexpr CommandId Id = 0x00000001; +} // namespace WebRTCOffer + +namespace WebRTCAnswer { +static constexpr CommandId Id = 0x00000002; +} // namespace WebRTCAnswer + +namespace WebRTCICECandidate { +static constexpr CommandId Id = 0x00000003; +} // namespace WebRTCICECandidate + +namespace WebRTCEnd { +static constexpr CommandId Id = 0x00000004; +} // namespace WebRTCEnd + +} // namespace Commands +} // namespace WebRTCTransportRequestor + +namespace PushAvStreamTransport { +namespace Commands { + +namespace AllocatePushTransport { +static constexpr CommandId Id = 0x00000000; +} // namespace AllocatePushTransport + +namespace AllocatePushTransportResponse { +static constexpr CommandId Id = 0x00000001; +} // namespace AllocatePushTransportResponse + +namespace DeallocatePushTransport { +static constexpr CommandId Id = 0x00000002; +} // namespace DeallocatePushTransport + +namespace ModifyPushTransport { +static constexpr CommandId Id = 0x00000003; +} // namespace ModifyPushTransport + +namespace SetTransportStatus { +static constexpr CommandId Id = 0x00000004; +} // namespace SetTransportStatus + +namespace ManuallyTriggerTransport { +static constexpr CommandId Id = 0x00000005; +} // namespace ManuallyTriggerTransport + +namespace FindStreamConfiguration { +static constexpr CommandId Id = 0x00000006; +} // namespace FindStreamConfiguration + +namespace FindStreamConfigurationResponse { +static constexpr CommandId Id = 0x00000007; +} // namespace FindStreamConfigurationResponse + +} // namespace Commands +} // namespace PushAvStreamTransport + +namespace Chime { +namespace Commands { + +namespace PlayChimeSound { +static constexpr CommandId Id = 0x00000000; +} // namespace PlayChimeSound + +} // namespace Commands +} // namespace Chime + namespace CommissionerControl { namespace Commands { diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Events.h b/zzz_generated/app-common/app-common/zap-generated/ids/Events.h index 0756af5268e9ed..8aa0cf3d2b2445 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Events.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Events.h @@ -683,6 +683,38 @@ static constexpr EventId Id = 0x00000000; } // namespace Events } // namespace ContentControl +namespace CameraAvStreamManagement { +namespace Events { + +namespace VideoStreamChanged { +static constexpr EventId Id = 0x00000000; +} // namespace VideoStreamChanged + +namespace AudioStreamChanged { +static constexpr EventId Id = 0x00000001; +} // namespace AudioStreamChanged + +namespace SnapshotStreamChanged { +static constexpr EventId Id = 0x00000002; +} // namespace SnapshotStreamChanged + +} // namespace Events +} // namespace CameraAvStreamManagement + +namespace PushAvStreamTransport { +namespace Events { + +namespace PushTransportBegin { +static constexpr EventId Id = 0x00000000; +} // namespace PushTransportBegin + +namespace PushTransportEnd { +static constexpr EventId Id = 0x00000001; +} // namespace PushTransportEnd + +} // namespace Events +} // namespace PushAvStreamTransport + namespace CommissionerControl { namespace Events { diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index c01a3135dc46bd..6821f5998a2afb 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -155,6 +155,12 @@ | AccountLogin | 0x050E | | ContentControl | 0x050F | | ContentAppObserver | 0x0510 | +| CameraAvStreamManagement | 0x0551 | +| CameraAvSettingsUserLevelManagement | 0x0552 | +| WebRTCTransportProvider | 0x0553 | +| WebRTCTransportRequestor | 0x0554 | +| PushAvStreamTransport | 0x0555 | +| Chime | 0x0556 | | EcosystemInformation | 0x0750 | | CommissionerControl | 0x0751 | | ElectricalMeasurement | 0x0B04 | @@ -13796,32 +13802,75 @@ class ContentAppObserverContentAppMessage : public ClusterCommand }; /*----------------------------------------------------------------------------*\ -| Cluster EcosystemInformation | 0x0750 | -|------------------------------------------------------------------------------| -| Commands: | | -|------------------------------------------------------------------------------| -| Attributes: | | -| * DeviceDirectory | 0x0000 | -| * LocationDirectory | 0x0001 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * EventList | 0xFFFA | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*\ -| Cluster CommissionerControl | 0x0751 | +| Cluster CameraAvStreamManagement | 0x0551 | |------------------------------------------------------------------------------| | Commands: | | -| * RequestCommissioningApproval | 0x00 | -| * CommissionNode | 0x01 | +| * AudioStreamAllocate | 0x00 | +| * AudioStreamDeallocate | 0x02 | +| * VideoStreamAllocate | 0x03 | +| * VideoStreamModify | 0x05 | +| * VideoStreamDeallocate | 0x06 | +| * SnapshotStreamAllocate | 0x07 | +| * SnapshotStreamDeallocate | 0x09 | +| * SetStreamPriority | 0x0A | +| * CaptureSnapshot | 0x0B | +| * SetViewport | 0x0D | +| * SetImageRotation | 0x0E | +| * SetImageFlipHorizontal | 0x0F | +| * SetImageFlipVertical | 0x10 | |------------------------------------------------------------------------------| | Attributes: | | -| * SupportedDeviceCategories | 0x0000 | +| * MaxConcurrentVideoEncoders | 0x0000 | +| * MaxEncodedPixelRate | 0x0001 | +| * VideoSensorParams | 0x0002 | +| * NightVisionCapable | 0x0003 | +| * MinViewPortWidth | 0x0004 | +| * MinViewPortHeight | 0x0005 | +| * RateDistortionTradeOffPoints | 0x0006 | +| * MaxPreRollBufferSize | 0x0007 | +| * MicrophoneCapabilities | 0x0008 | +| * SpeakerCapabilities | 0x0009 | +| * TwoWayTalkSupport | 0x000A | +| * SupportedSnapshotParams | 0x000B | +| * HDRCapable | 0x000C | +| * MaxNetworkBandwidth | 0x000D | +| * CurrentFrameRate | 0x000E | +| * HDRMode | 0x000F | +| * CurrentVideoCodecs | 0x0010 | +| * CurrentSnapshotConfig | 0x0011 | +| * FabricsUsingCamera | 0x0012 | +| * AllocatedVideoStreams | 0x0013 | +| * AllocatedAudioStreams | 0x0014 | +| * AllocatedSnapshotStreams | 0x0015 | +| * RankedVideoStreamPrioritiesList | 0x0016 | +| * SoftRecordingPrivacyModeSetting | 0x0017 | +| * SoftLivestreamPrivacyModeSetting | 0x0018 | +| * HardPrivacyMode | 0x0019 | +| * NightVision | 0x001A | +| * NightVisionIllum | 0x001B | +| * Awb | 0x001C | +| * ShutterSpeed | 0x001D | +| * Iso | 0x001E | +| * Viewport | 0x001F | +| * SpkrOnOff | 0x0020 | +| * SpkrVolumeLevel | 0x0021 | +| * SpkrMaxLevel | 0x0022 | +| * SpkrMinLevel | 0x0023 | +| * MicOnOff | 0x0024 | +| * MicCurrentLevel | 0x0025 | +| * MicMaxLevel | 0x0026 | +| * MicMinLevel | 0x0027 | +| * MicAGC | 0x0028 | +| * ImageRotation | 0x0029 | +| * ImageFlipHorizontal | 0x002A | +| * ImageFlipVertical | 0x002B | +| * LocalVideoRecordingEnabled | 0x002C | +| * LocalSnapshotRecordingEnabled | 0x002D | +| * StatusLight | 0x002E | +| * StatusLightBrightness | 0x002F | +| * DepthSensorStatus | 0x0030 | +| * WatermarkEnabled | 0x0031 | +| * OSDEnabled | 0x0032 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -13830,29 +13879,33 @@ class ContentAppObserverContentAppMessage : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * CommissioningRequestResult | 0x0000 | +| * VideoStreamChanged | 0x0000 | +| * AudioStreamChanged | 0x0001 | +| * SnapshotStreamChanged | 0x0002 | \*----------------------------------------------------------------------------*/ /* - * Command RequestCommissioningApproval + * Command AudioStreamAllocate */ -class CommissionerControlRequestCommissioningApproval : public ClusterCommand +class CameraAvStreamManagementAudioStreamAllocate : public ClusterCommand { public: - CommissionerControlRequestCommissioningApproval(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("request-commissioning-approval", credsIssuerConfig) + CameraAvStreamManagementAudioStreamAllocate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("audio-stream-allocate", credsIssuerConfig) { - AddArgument("RequestID", 0, UINT64_MAX, &mRequest.requestID); - AddArgument("VendorID", 0, UINT16_MAX, &mRequest.vendorID); - AddArgument("ProductID", 0, UINT16_MAX, &mRequest.productID); - AddArgument("Label", &mRequest.label); + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); + AddArgument("AudioCodec", 0, UINT8_MAX, &mRequest.audioCodec); + AddArgument("ChannelCount", 0, UINT8_MAX, &mRequest.channelCount); + AddArgument("SampleRate", 0, UINT32_MAX, &mRequest.sampleRate); + AddArgument("BitRate", 0, UINT32_MAX, &mRequest.bitRate); + AddArgument("BitDepth", 0, UINT8_MAX, &mRequest.bitDepth); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::RequestCommissioningApproval::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -13861,8 +13914,8 @@ class CommissionerControlRequestCommissioningApproval : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::RequestCommissioningApproval::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -13871,27 +13924,26 @@ class CommissionerControlRequestCommissioningApproval : public ClusterCommand } private: - chip::app::Clusters::CommissionerControl::Commands::RequestCommissioningApproval::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::Type mRequest; }; /* - * Command CommissionNode + * Command AudioStreamDeallocate */ -class CommissionerControlCommissionNode : public ClusterCommand +class CameraAvStreamManagementAudioStreamDeallocate : public ClusterCommand { public: - CommissionerControlCommissionNode(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("commission-node", credsIssuerConfig) + CameraAvStreamManagementAudioStreamDeallocate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("audio-stream-deallocate", credsIssuerConfig) { - AddArgument("RequestID", 0, UINT64_MAX, &mRequest.requestID); - AddArgument("ResponseTimeoutSeconds", 0, UINT16_MAX, &mRequest.responseTimeoutSeconds); + AddArgument("AudioStreamID", 0, UINT16_MAX, &mRequest.audioStreamID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::CommissionNode::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -13900,8 +13952,8 @@ class CommissionerControlCommissionNode : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::CommissionNode::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -13910,171 +13962,77 @@ class CommissionerControlCommissionNode : public ClusterCommand } private: - chip::app::Clusters::CommissionerControl::Commands::CommissionNode::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::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 | -| * EventList | 0xFFFA | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ +/* + * Command VideoStreamAllocate + */ +class CameraAvStreamManagementVideoStreamAllocate : public ClusterCommand +{ +public: + CameraAvStreamManagementVideoStreamAllocate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("video-stream-allocate", credsIssuerConfig), mComplex_MinResolution(&mRequest.minResolution), + mComplex_MaxResolution(&mRequest.maxResolution) + { + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); + AddArgument("VideoCodec", 0, UINT8_MAX, &mRequest.videoCodec); + AddArgument("MinFrameRate", 0, UINT16_MAX, &mRequest.minFrameRate); + AddArgument("MaxFrameRate", 0, UINT16_MAX, &mRequest.maxFrameRate); + AddArgument("MinResolution", &mComplex_MinResolution); + AddArgument("MaxResolution", &mComplex_MaxResolution); + AddArgument("MinBitRate", 0, UINT32_MAX, &mRequest.minBitRate); + AddArgument("MaxBitRate", 0, UINT32_MAX, &mRequest.maxBitRate); + AddArgument("MinFragmentLen", 0, UINT16_MAX, &mRequest.minFragmentLen); + AddArgument("MaxFragmentLen", 0, UINT16_MAX, &mRequest.maxFragmentLen); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::Type mRequest; + TypedComplexArgument mComplex_MinResolution; + TypedComplexArgument mComplex_MaxResolution; +}; /* - * Command GetProfileInfoCommand + * Command VideoStreamModify */ -class ElectricalMeasurementGetProfileInfoCommand : public ClusterCommand +class CameraAvStreamManagementVideoStreamModify : public ClusterCommand { public: - ElectricalMeasurementGetProfileInfoCommand(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-profile-info-command", credsIssuerConfig) + CameraAvStreamManagementVideoStreamModify(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("video-stream-modify", credsIssuerConfig), mComplex_Resolution(&mRequest.resolution) { + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); + AddArgument("Resolution", &mComplex_Resolution); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14083,8 +14041,8 @@ class ElectricalMeasurementGetProfileInfoCommand : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14093,29 +14051,27 @@ class ElectricalMeasurementGetProfileInfoCommand : public ClusterCommand } private: - chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::Type mRequest; + TypedComplexArgument mComplex_Resolution; }; /* - * Command GetMeasurementProfileCommand + * Command VideoStreamDeallocate */ -class ElectricalMeasurementGetMeasurementProfileCommand : public ClusterCommand +class CameraAvStreamManagementVideoStreamDeallocate : public ClusterCommand { public: - ElectricalMeasurementGetMeasurementProfileCommand(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("get-measurement-profile-command", credsIssuerConfig) + CameraAvStreamManagementVideoStreamDeallocate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("video-stream-deallocate", credsIssuerConfig) { - AddArgument("AttributeId", 0, UINT16_MAX, &mRequest.attributeId); - AddArgument("StartTime", 0, UINT32_MAX, &mRequest.startTime); - AddArgument("NumberOfIntervals", 0, UINT8_MAX, &mRequest.numberOfIntervals); + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; - constexpr chip::CommandId commandId = - chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14124,9 +14080,8 @@ class ElectricalMeasurementGetMeasurementProfileCommand : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; - constexpr chip::CommandId commandId = - chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14135,159 +14090,32 @@ class ElectricalMeasurementGetMeasurementProfileCommand : public ClusterCommand } private: - chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::Type mRequest; }; -/*----------------------------------------------------------------------------*\ -| Cluster UnitTesting | 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 | -| * TestBatchHelperRequest | 0x16 | -| * TestSecondBatchHelperRequest | 0x17 | -| * StringEchoRequest | 0x18 | -| * GlobalEchoRequest | 0x19 | -| * TestDifferentVendorMeiRequest | 0xFFF200AA| -|------------------------------------------------------------------------------| -| 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 | -| * GlobalEnum | 0x0033 | -| * GlobalStruct | 0x0034 | -| * Unsupported | 0x00FF | -| * ReadFailureCode | 0x3000 | -| * FailureInt32U | 0x3001 | -| * 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 | -| * WriteOnlyInt8u | 0x402A | -| * NullableGlobalEnum | 0x4033 | -| * NullableGlobalStruct | 0x4034 | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * EventList | 0xFFFA | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -| * MeiInt8u | 0xFFF24F01| -|------------------------------------------------------------------------------| -| Events: | | -| * TestEvent | 0x0001 | -| * TestFabricScopedEvent | 0x0002 | -| * TestDifferentVendorMeiEvent | 0xFFF200EE| -\*----------------------------------------------------------------------------*/ - /* - * Command Test + * Command SnapshotStreamAllocate */ -class UnitTestingTest : public ClusterCommand +class CameraAvStreamManagementSnapshotStreamAllocate : public ClusterCommand { public: - UnitTestingTest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test", credsIssuerConfig) + CameraAvStreamManagementSnapshotStreamAllocate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("snapshot-stream-allocate", credsIssuerConfig), mComplex_MinResolution(&mRequest.minResolution), + mComplex_MaxResolution(&mRequest.maxResolution) { + AddArgument("ImageCodec", 0, UINT8_MAX, &mRequest.imageCodec); + AddArgument("FrameRate", 0, UINT16_MAX, &mRequest.frameRate); + AddArgument("BitRate", 0, UINT32_MAX, &mRequest.bitRate); + AddArgument("MinResolution", &mComplex_MinResolution); + AddArgument("MaxResolution", &mComplex_MaxResolution); + AddArgument("Quality", 0, UINT8_MAX, &mRequest.quality); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::Test::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14296,8 +14124,8 @@ class UnitTestingTest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::Test::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14306,24 +14134,28 @@ class UnitTestingTest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::Test::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Type mRequest; + TypedComplexArgument mComplex_MinResolution; + TypedComplexArgument mComplex_MaxResolution; }; /* - * Command TestNotHandled + * Command SnapshotStreamDeallocate */ -class UnitTestingTestNotHandled : public ClusterCommand +class CameraAvStreamManagementSnapshotStreamDeallocate : public ClusterCommand { public: - UnitTestingTestNotHandled(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-not-handled", credsIssuerConfig) + CameraAvStreamManagementSnapshotStreamDeallocate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("snapshot-stream-deallocate", credsIssuerConfig) { + AddArgument("SnapshotStreamID", 0, UINT16_MAX, &mRequest.snapshotStreamID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNotHandled::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14332,8 +14164,8 @@ class UnitTestingTestNotHandled : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNotHandled::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14342,24 +14174,25 @@ class UnitTestingTestNotHandled : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestNotHandled::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Type mRequest; }; /* - * Command TestSpecific + * Command SetStreamPriority */ -class UnitTestingTestSpecific : public ClusterCommand +class CameraAvStreamManagementSetStreamPriority : public ClusterCommand { public: - UnitTestingTestSpecific(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-specific", credsIssuerConfig) + CameraAvStreamManagementSetStreamPriority(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-stream-priority", credsIssuerConfig) { ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSpecific::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetStreamPriority::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14368,8 +14201,8 @@ class UnitTestingTestSpecific : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSpecific::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetStreamPriority::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14378,25 +14211,27 @@ class UnitTestingTestSpecific : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestSpecific::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::SetStreamPriority::Type mRequest; }; /* - * Command TestUnknownCommand + * Command CaptureSnapshot */ -class UnitTestingTestUnknownCommand : public ClusterCommand +class CameraAvStreamManagementCaptureSnapshot : public ClusterCommand { public: - UnitTestingTestUnknownCommand(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-unknown-command", credsIssuerConfig) + CameraAvStreamManagementCaptureSnapshot(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("capture-snapshot", credsIssuerConfig), mComplex_RequestedResolution(&mRequest.requestedResolution) { + AddArgument("SnapshotStreamID", 0, UINT16_MAX, &mRequest.snapshotStreamID); + AddArgument("RequestedResolution", &mComplex_RequestedResolution); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestUnknownCommand::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14405,8 +14240,8 @@ class UnitTestingTestUnknownCommand : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestUnknownCommand::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14415,27 +14250,28 @@ class UnitTestingTestUnknownCommand : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestUnknownCommand::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::Type mRequest; + TypedComplexArgument + mComplex_RequestedResolution; }; /* - * Command TestAddArguments + * Command SetViewport */ -class UnitTestingTestAddArguments : public ClusterCommand +class CameraAvStreamManagementSetViewport : public ClusterCommand { public: - UnitTestingTestAddArguments(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-add-arguments", credsIssuerConfig) + CameraAvStreamManagementSetViewport(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-viewport", credsIssuerConfig), mComplex_Viewport(&mRequest.viewport) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); - AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + AddArgument("Viewport", &mComplex_Viewport); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestAddArguments::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14444,8 +14280,8 @@ class UnitTestingTestAddArguments : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestAddArguments::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14454,26 +14290,27 @@ class UnitTestingTestAddArguments : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestAddArguments::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::Type mRequest; + TypedComplexArgument mComplex_Viewport; }; /* - * Command TestSimpleArgumentRequest + * Command SetImageRotation */ -class UnitTestingTestSimpleArgumentRequest : public ClusterCommand +class CameraAvStreamManagementSetImageRotation : public ClusterCommand { public: - UnitTestingTestSimpleArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-simple-argument-request", credsIssuerConfig) + CameraAvStreamManagementSetImageRotation(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-image-rotation", credsIssuerConfig) { - AddArgument("Arg1", 0, 1, &mRequest.arg1); + AddArgument("Angle", 0, UINT16_MAX, &mRequest.angle); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14482,8 +14319,8 @@ class UnitTestingTestSimpleArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14492,32 +14329,26 @@ class UnitTestingTestSimpleArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestSimpleArgumentRequest::Type mRequest; + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::Type mRequest; }; /* - * Command TestStructArrayArgumentRequest + * Command SetImageFlipHorizontal */ -class UnitTestingTestStructArrayArgumentRequest : public ClusterCommand +class CameraAvStreamManagementSetImageFlipHorizontal : public ClusterCommand { public: - UnitTestingTestStructArrayArgumentRequest(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) + CameraAvStreamManagementSetImageFlipHorizontal(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-image-flip-horizontal", credsIssuerConfig) { - 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); + AddArgument("OnOff", 0, 1, &mRequest.onOff); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArrayArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14526,8 +14357,8 @@ class UnitTestingTestStructArrayArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArrayArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14536,32 +14367,26 @@ class UnitTestingTestStructArrayArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestStructArrayArgumentRequest::Type mRequest; - TypedComplexArgument> - mComplex_Arg1; - TypedComplexArgument> - mComplex_Arg2; - TypedComplexArgument> mComplex_Arg3; - TypedComplexArgument> mComplex_Arg4; + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Type mRequest; }; /* - * Command TestStructArgumentRequest + * Command SetImageFlipVertical */ -class UnitTestingTestStructArgumentRequest : public ClusterCommand +class CameraAvStreamManagementSetImageFlipVertical : public ClusterCommand { public: - UnitTestingTestStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + CameraAvStreamManagementSetImageFlipVertical(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-image-flip-vertical", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("OnOff", 0, 1, &mRequest.onOff); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14570,8 +14395,8 @@ class UnitTestingTestStructArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14580,27 +14405,53 @@ class UnitTestingTestStructArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestStructArgumentRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster CameraAvSettingsUserLevelManagement | 0x0552 | +|------------------------------------------------------------------------------| +| Commands: | | +| * MptzSet | 0x00 | +| * MptzRelativeMove | 0x01 | +| * SetAsPreset | 0x02 | +| * DptzSetViewport | 0x03 | +| * DptzRelativeMove | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Mptz | 0x0000 | +| * MaxPresets | 0x0001 | +| * PresetMptzTable | 0x0002 | +| * MptzRelativeMove | 0x0003 | +| * DptzRelativeMove | 0x0004 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command TestNestedStructArgumentRequest + * Command MptzSet */ -class UnitTestingTestNestedStructArgumentRequest : public ClusterCommand +class CameraAvSettingsUserLevelManagementMptzSet : public ClusterCommand { public: - UnitTestingTestNestedStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-nested-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + CameraAvSettingsUserLevelManagementMptzSet(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("mptz-set", credsIssuerConfig), mComplex_NewPTZ(&mRequest.newPTZ) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("NewPTZ", &mComplex_NewPTZ, "", Argument::kOptional); + AddArgument("PresetID", 0, UINT8_MAX, &mRequest.presetID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14609,8 +14460,8 @@ class UnitTestingTestNestedStructArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14619,27 +14470,31 @@ class UnitTestingTestNestedStructArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestNestedStructArgumentRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::Type mRequest; + TypedComplexArgument> + mComplex_NewPTZ; }; /* - * Command TestListStructArgumentRequest + * Command MptzRelativeMove */ -class UnitTestingTestListStructArgumentRequest : public ClusterCommand +class CameraAvSettingsUserLevelManagementMptzRelativeMove : public ClusterCommand { public: - UnitTestingTestListStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + CameraAvSettingsUserLevelManagementMptzRelativeMove(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("mptz-relative-move", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("Pan", INT16_MIN, INT16_MAX, &mRequest.pan); + AddArgument("Tilt", INT16_MIN, INT16_MAX, &mRequest.tilt); + AddArgument("Zoom", INT16_MIN, INT16_MAX, &mRequest.zoom); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListStructArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14648,8 +14503,9 @@ class UnitTestingTestListStructArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListStructArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14658,28 +14514,25 @@ class UnitTestingTestListStructArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestListStructArgumentRequest::Type mRequest; - TypedComplexArgument> - mComplex_Arg1; + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Type mRequest; }; /* - * Command TestListInt8UArgumentRequest + * Command SetAsPreset */ -class UnitTestingTestListInt8UArgumentRequest : public ClusterCommand +class CameraAvSettingsUserLevelManagementSetAsPreset : public ClusterCommand { public: - UnitTestingTestListInt8UArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-int8uargument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + CameraAvSettingsUserLevelManagementSetAsPreset(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-as-preset", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14688,8 +14541,8 @@ class UnitTestingTestListInt8UArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14698,27 +14551,28 @@ class UnitTestingTestListInt8UArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestListInt8UArgumentRequest::Type mRequest; - TypedComplexArgument> mComplex_Arg1; + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Type mRequest; }; /* - * Command TestNestedStructListArgumentRequest + * Command DptzSetViewport */ -class UnitTestingTestNestedStructListArgumentRequest : public ClusterCommand +class CameraAvSettingsUserLevelManagementDptzSetViewport : public ClusterCommand { public: - UnitTestingTestNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + CameraAvSettingsUserLevelManagementDptzSetViewport(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("dptz-set-viewport", credsIssuerConfig), mComplex_Viewport(&mRequest.viewport) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); + AddArgument("Viewport", &mComplex_Viewport); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructListArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14727,8 +14581,9 @@ class UnitTestingTestNestedStructListArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructListArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14737,28 +14592,31 @@ class UnitTestingTestNestedStructListArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestNestedStructListArgumentRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Type mRequest; + TypedComplexArgument mComplex_Viewport; }; /* - * Command TestListNestedStructListArgumentRequest + * Command DptzRelativeMove */ -class UnitTestingTestListNestedStructListArgumentRequest : public ClusterCommand +class CameraAvSettingsUserLevelManagementDptzRelativeMove : public ClusterCommand { public: - UnitTestingTestListNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + CameraAvSettingsUserLevelManagementDptzRelativeMove(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("dptz-relative-move", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); + AddArgument("Pan", INT16_MIN, INT16_MAX, &mRequest.pan); + AddArgument("Tilt", INT16_MIN, INT16_MAX, &mRequest.tilt); + AddArgument("Zoom", INT8_MIN, INT8_MAX, &mRequest.zoom); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; constexpr chip::CommandId commandId = - chip::app::Clusters::UnitTesting::Commands::TestListNestedStructListArgumentRequest::Id; + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14767,9 +14625,9 @@ class UnitTestingTestListNestedStructListArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; constexpr chip::CommandId commandId = - chip::app::Clusters::UnitTesting::Commands::TestListNestedStructListArgumentRequest::Id; + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14778,28 +14636,53 @@ class UnitTestingTestListNestedStructListArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestListNestedStructListArgumentRequest::Type mRequest; - TypedComplexArgument> - mComplex_Arg1; + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster WebRTCTransportProvider | 0x0553 | +|------------------------------------------------------------------------------| +| Commands: | | +| * WebRTCSolicitOffer | 0x01 | +| * WebRTCProvideOffer | 0x03 | +| * WebRTCProvideAnswer | 0x05 | +| * WebRTCProvideICECandidate | 0x06 | +| * WebRTCEndSession | 0x07 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentSessions | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command TestListInt8UReverseRequest + * Command WebRTCSolicitOffer */ -class UnitTestingTestListInt8UReverseRequest : public ClusterCommand +class WebRTCTransportProviderWebRTCSolicitOffer : public ClusterCommand { public: - UnitTestingTestListInt8UReverseRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-list-int8ureverse-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + WebRTCTransportProviderWebRTCSolicitOffer(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcsolicit-offer", credsIssuerConfig), mComplex_ICEServers(&mRequest.ICEServers) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); + AddArgument("AudioStreamID", 0, UINT16_MAX, &mRequest.audioStreamID); + AddArgument("ICEServers", &mComplex_ICEServers, "", Argument::kOptional); + AddArgument("ICETransportPolicy", &mRequest.ICETransportPolicy); + AddArgument("MetadataOptions", 0, UINT8_MAX, &mRequest.metadataOptions); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UReverseRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14808,8 +14691,8 @@ class UnitTestingTestListInt8UReverseRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UReverseRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14818,28 +14701,36 @@ class UnitTestingTestListInt8UReverseRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestListInt8UReverseRequest::Type mRequest; - TypedComplexArgument> mComplex_Arg1; + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Type mRequest; + TypedComplexArgument>> + mComplex_ICEServers; }; /* - * Command TestEnumsRequest + * Command WebRTCProvideOffer */ -class UnitTestingTestEnumsRequest : public ClusterCommand +class WebRTCTransportProviderWebRTCProvideOffer : public ClusterCommand { public: - UnitTestingTestEnumsRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-enums-request", credsIssuerConfig) + WebRTCTransportProviderWebRTCProvideOffer(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcprovide-offer", credsIssuerConfig), mComplex_ICEServers(&mRequest.ICEServers) { - AddArgument("Arg1", 0, UINT16_MAX, &mRequest.arg1); - AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("Sdp", &mRequest.sdp); + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); + AddArgument("AudioStreamID", 0, UINT16_MAX, &mRequest.audioStreamID); + AddArgument("ICEServers", &mComplex_ICEServers, "", Argument::kOptional); + AddArgument("ICETransportPolicy", &mRequest.ICETransportPolicy); + AddArgument("MetadataOptions", 0, UINT8_MAX, &mRequest.metadataOptions); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEnumsRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14848,8 +14739,8 @@ class UnitTestingTestEnumsRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEnumsRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14858,26 +14749,30 @@ class UnitTestingTestEnumsRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestEnumsRequest::Type mRequest; + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::Type mRequest; + TypedComplexArgument>> + mComplex_ICEServers; }; /* - * Command TestNullableOptionalRequest + * Command WebRTCProvideAnswer */ -class UnitTestingTestNullableOptionalRequest : public ClusterCommand +class WebRTCTransportProviderWebRTCProvideAnswer : public ClusterCommand { public: - UnitTestingTestNullableOptionalRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-nullable-optional-request", credsIssuerConfig) + WebRTCTransportProviderWebRTCProvideAnswer(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcprovide-answer", credsIssuerConfig) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("Sdp", &mRequest.sdp); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNullableOptionalRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14886,8 +14781,8 @@ class UnitTestingTestNullableOptionalRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNullableOptionalRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14896,40 +14791,27 @@ class UnitTestingTestNullableOptionalRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestNullableOptionalRequest::Type mRequest; + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Type mRequest; }; /* - * Command TestComplexNullableOptionalRequest + * Command WebRTCProvideICECandidate */ -class UnitTestingTestComplexNullableOptionalRequest : public ClusterCommand +class WebRTCTransportProviderWebRTCProvideICECandidate : public ClusterCommand { public: - UnitTestingTestComplexNullableOptionalRequest(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) + WebRTCTransportProviderWebRTCProvideICECandidate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcprovide-icecandidate", credsIssuerConfig) { - 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, "", Argument::kOptional); - AddArgument("NullableOptionalStruct", &mComplex_NullableOptionalStruct, "", Argument::kOptional); - AddArgument("NullableList", &mComplex_NullableList); - AddArgument("OptionalList", &mComplex_OptionalList, "", Argument::kOptional); - AddArgument("NullableOptionalList", &mComplex_NullableOptionalList, "", Argument::kOptional); + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("ICECandidate", &mRequest.ICECandidate); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestComplexNullableOptionalRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14938,8 +14820,8 @@ class UnitTestingTestComplexNullableOptionalRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestComplexNullableOptionalRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -14948,40 +14830,27 @@ class UnitTestingTestComplexNullableOptionalRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::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; + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Type mRequest; }; /* - * Command SimpleStructEchoRequest + * Command WebRTCEndSession */ -class UnitTestingSimpleStructEchoRequest : public ClusterCommand +class WebRTCTransportProviderWebRTCEndSession : public ClusterCommand { public: - UnitTestingSimpleStructEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("simple-struct-echo-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1) + WebRTCTransportProviderWebRTCEndSession(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcend-session", credsIssuerConfig) { - AddArgument("Arg1", &mComplex_Arg1); + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("Reason", 0, UINT8_MAX, &mRequest.reason); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::SimpleStructEchoRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -14990,8 +14859,8 @@ class UnitTestingSimpleStructEchoRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::SimpleStructEchoRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15000,26 +14869,50 @@ class UnitTestingSimpleStructEchoRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::SimpleStructEchoRequest::Type mRequest; - TypedComplexArgument mComplex_Arg1; + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster WebRTCTransportRequestor | 0x0554 | +|------------------------------------------------------------------------------| +| Commands: | | +| * WebRTCOffer | 0x01 | +| * WebRTCAnswer | 0x02 | +| * WebRTCICECandidate | 0x03 | +| * WebRTCEnd | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentSessions | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command TimedInvokeRequest + * Command WebRTCOffer */ -class UnitTestingTimedInvokeRequest : public ClusterCommand +class WebRTCTransportRequestorWebRTCOffer : public ClusterCommand { public: - UnitTestingTimedInvokeRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("timed-invoke-request", credsIssuerConfig) + WebRTCTransportRequestorWebRTCOffer(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcoffer", credsIssuerConfig), mComplex_ICEServers(&mRequest.ICEServers) { + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("Sdp", &mRequest.sdp); + AddArgument("ICEServers", &mComplex_ICEServers, "", Argument::kOptional); + AddArgument("ICETransportPolicy", &mRequest.ICETransportPolicy); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TimedInvokeRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15028,8 +14921,8 @@ class UnitTestingTimedInvokeRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TimedInvokeRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15038,26 +14931,30 @@ class UnitTestingTimedInvokeRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TimedInvokeRequest::Type mRequest; + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::Type mRequest; + TypedComplexArgument>> + mComplex_ICEServers; }; /* - * Command TestSimpleOptionalArgumentRequest + * Command WebRTCAnswer */ -class UnitTestingTestSimpleOptionalArgumentRequest : public ClusterCommand +class WebRTCTransportRequestorWebRTCAnswer : public ClusterCommand { public: - UnitTestingTestSimpleOptionalArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-simple-optional-argument-request", credsIssuerConfig) + WebRTCTransportRequestorWebRTCAnswer(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcanswer", credsIssuerConfig) { - AddArgument("Arg1", 0, 1, &mRequest.arg1); + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("Sdp", &mRequest.sdp); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleOptionalArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15066,8 +14963,8 @@ class UnitTestingTestSimpleOptionalArgumentRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleOptionalArgumentRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15076,28 +14973,27 @@ class UnitTestingTestSimpleOptionalArgumentRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestSimpleOptionalArgumentRequest::Type mRequest; + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::Type mRequest; }; /* - * Command TestEmitTestEventRequest + * Command WebRTCICECandidate */ -class UnitTestingTestEmitTestEventRequest : public ClusterCommand +class WebRTCTransportRequestorWebRTCICECandidate : public ClusterCommand { public: - UnitTestingTestEmitTestEventRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-emit-test-event-request", credsIssuerConfig) + WebRTCTransportRequestorWebRTCICECandidate(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcicecandidate", credsIssuerConfig) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); - AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); - AddArgument("Arg3", 0, 1, &mRequest.arg3); + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("ICECandidate", &mRequest.ICECandidate); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestEventRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15106,8 +15002,8 @@ class UnitTestingTestEmitTestEventRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestEventRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15116,26 +15012,27 @@ class UnitTestingTestEmitTestEventRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestEmitTestEventRequest::Type mRequest; + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::Type mRequest; }; /* - * Command TestEmitTestFabricScopedEventRequest + * Command WebRTCEnd */ -class UnitTestingTestEmitTestFabricScopedEventRequest : public ClusterCommand +class WebRTCTransportRequestorWebRTCEnd : public ClusterCommand { public: - UnitTestingTestEmitTestFabricScopedEventRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-emit-test-fabric-scoped-event-request", credsIssuerConfig) + WebRTCTransportRequestorWebRTCEnd(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("web-rtcend", credsIssuerConfig) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); + AddArgument("Reason", 0, UINT8_MAX, &mRequest.reason); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestFabricScopedEventRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15144,8 +15041,8 @@ class UnitTestingTestEmitTestFabricScopedEventRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestFabricScopedEventRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15154,28 +15051,54 @@ class UnitTestingTestEmitTestFabricScopedEventRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestEmitTestFabricScopedEventRequest::Type mRequest; + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster PushAvStreamTransport | 0x0555 | +|------------------------------------------------------------------------------| +| Commands: | | +| * AllocatePushTransport | 0x00 | +| * DeallocatePushTransport | 0x02 | +| * ModifyPushTransport | 0x03 | +| * SetTransportStatus | 0x04 | +| * ManuallyTriggerTransport | 0x05 | +| * FindStreamConfiguration | 0x06 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * SupportedContainerFormats | 0x0000 | +| * SupportedIngestMethods | 0x0001 | +| * CurrentConnections | 0x0002 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * PushTransportBegin | 0x0000 | +| * PushTransportEnd | 0x0001 | +\*----------------------------------------------------------------------------*/ + /* - * Command TestBatchHelperRequest + * Command AllocatePushTransport */ -class UnitTestingTestBatchHelperRequest : public ClusterCommand +class PushAvStreamTransportAllocatePushTransport : public ClusterCommand { public: - UnitTestingTestBatchHelperRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-batch-helper-request", credsIssuerConfig) + PushAvStreamTransportAllocatePushTransport(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("allocate-push-transport", credsIssuerConfig), + mComplex_StreamTransportOptions(&mRequest.streamTransportOptions) { - AddArgument("SleepBeforeResponseTimeMs", 0, UINT16_MAX, &mRequest.sleepBeforeResponseTimeMs); - AddArgument("SizeOfResponseBuffer", 0, UINT16_MAX, &mRequest.sizeOfResponseBuffer); - AddArgument("FillCharacter", 0, UINT8_MAX, &mRequest.fillCharacter); + AddArgument("StreamTransportOptions", &mComplex_StreamTransportOptions); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestBatchHelperRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15184,8 +15107,8 @@ class UnitTestingTestBatchHelperRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestBatchHelperRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15194,28 +15117,28 @@ class UnitTestingTestBatchHelperRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestBatchHelperRequest::Type mRequest; + chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::Type mRequest; + TypedComplexArgument + mComplex_StreamTransportOptions; }; /* - * Command TestSecondBatchHelperRequest + * Command DeallocatePushTransport */ -class UnitTestingTestSecondBatchHelperRequest : public ClusterCommand +class PushAvStreamTransportDeallocatePushTransport : public ClusterCommand { public: - UnitTestingTestSecondBatchHelperRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-second-batch-helper-request", credsIssuerConfig) + PushAvStreamTransportDeallocatePushTransport(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("deallocate-push-transport", credsIssuerConfig) { - AddArgument("SleepBeforeResponseTimeMs", 0, UINT16_MAX, &mRequest.sleepBeforeResponseTimeMs); - AddArgument("SizeOfResponseBuffer", 0, UINT16_MAX, &mRequest.sizeOfResponseBuffer); - AddArgument("FillCharacter", 0, UINT8_MAX, &mRequest.fillCharacter); + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSecondBatchHelperRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15224,8 +15147,8 @@ class UnitTestingTestSecondBatchHelperRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSecondBatchHelperRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15234,26 +15157,28 @@ class UnitTestingTestSecondBatchHelperRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestSecondBatchHelperRequest::Type mRequest; + chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::Type mRequest; }; /* - * Command StringEchoRequest + * Command ModifyPushTransport */ -class UnitTestingStringEchoRequest : public ClusterCommand +class PushAvStreamTransportModifyPushTransport : public ClusterCommand { public: - UnitTestingStringEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("string-echo-request", credsIssuerConfig) + PushAvStreamTransportModifyPushTransport(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("modify-push-transport", credsIssuerConfig), + mComplex_StreamTransportOptions(&mRequest.streamTransportOptions) { - AddArgument("Payload", &mRequest.payload); + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); + AddArgument("StreamTransportOptions", &mComplex_StreamTransportOptions); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::StringEchoRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15262,8 +15187,8 @@ class UnitTestingStringEchoRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::StringEchoRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15272,27 +15197,29 @@ class UnitTestingStringEchoRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::StringEchoRequest::Type mRequest; + chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::Type mRequest; + TypedComplexArgument + mComplex_StreamTransportOptions; }; /* - * Command GlobalEchoRequest + * Command SetTransportStatus */ -class UnitTestingGlobalEchoRequest : public ClusterCommand +class PushAvStreamTransportSetTransportStatus : public ClusterCommand { public: - UnitTestingGlobalEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("global-echo-request", credsIssuerConfig), mComplex_Field1(&mRequest.field1) + PushAvStreamTransportSetTransportStatus(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-transport-status", credsIssuerConfig) { - AddArgument("Field1", &mComplex_Field1); - AddArgument("Field2", 0, UINT8_MAX, &mRequest.field2); + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); + AddArgument("StreamTransportStatus", 0, UINT8_MAX, &mRequest.streamTransportStatus); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::GlobalEchoRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15301,8 +15228,8 @@ class UnitTestingGlobalEchoRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::GlobalEchoRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15311,27 +15238,28 @@ class UnitTestingGlobalEchoRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::GlobalEchoRequest::Type mRequest; - TypedComplexArgument mComplex_Field1; + chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::Type mRequest; }; /* - * Command TestDifferentVendorMeiRequest + * Command ManuallyTriggerTransport */ -class UnitTestingTestDifferentVendorMeiRequest : public ClusterCommand +class PushAvStreamTransportManuallyTriggerTransport : public ClusterCommand { public: - UnitTestingTestDifferentVendorMeiRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("test-different-vendor-mei-request", credsIssuerConfig) + PushAvStreamTransportManuallyTriggerTransport(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("manually-trigger-transport", credsIssuerConfig), mComplex_TimeControl(&mRequest.timeControl) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); + AddArgument("ActivationReason", 0, UINT8_MAX, &mRequest.activationReason); + AddArgument("TimeControl", &mComplex_TimeControl, "", Argument::kOptional); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestDifferentVendorMeiRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15340,8 +15268,8 @@ class UnitTestingTestDifferentVendorMeiRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestDifferentVendorMeiRequest::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15350,47 +15278,29 @@ class UnitTestingTestDifferentVendorMeiRequest : public ClusterCommand } private: - chip::app::Clusters::UnitTesting::Commands::TestDifferentVendorMeiRequest::Type mRequest; + chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::Type mRequest; + TypedComplexArgument>> + mComplex_TimeControl; }; -/*----------------------------------------------------------------------------*\ -| Cluster FaultInjection | 0xFFF1FC06 | -|------------------------------------------------------------------------------| -| Commands: | | -| * FailAtFault | 0x00 | -| * FailRandomlyAtFault | 0x01 | -|------------------------------------------------------------------------------| -| Attributes: | | -| * GeneratedCommandList | 0xFFF8 | -| * AcceptedCommandList | 0xFFF9 | -| * EventList | 0xFFFA | -| * AttributeList | 0xFFFB | -| * FeatureMap | 0xFFFC | -| * ClusterRevision | 0xFFFD | -|------------------------------------------------------------------------------| -| Events: | | -\*----------------------------------------------------------------------------*/ - /* - * Command FailAtFault + * Command FindStreamConfiguration */ -class FaultInjectionFailAtFault : public ClusterCommand +class PushAvStreamTransportFindStreamConfiguration : public ClusterCommand { public: - FaultInjectionFailAtFault(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fail-at-fault", credsIssuerConfig) + PushAvStreamTransportFindStreamConfiguration(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("find-stream-configuration", credsIssuerConfig) { - AddArgument("Type", 0, UINT8_MAX, &mRequest.type); - AddArgument("Id", 0, UINT32_MAX, &mRequest.id); - AddArgument("NumCallsToSkip", 0, UINT32_MAX, &mRequest.numCallsToSkip); - AddArgument("NumCallsToFail", 0, UINT32_MAX, &mRequest.numCallsToFail); - AddArgument("TakeMutex", 0, 1, &mRequest.takeMutex); + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailAtFault::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15399,8 +15309,8 @@ class FaultInjectionFailAtFault : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailAtFault::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15409,28 +15319,44 @@ class FaultInjectionFailAtFault : public ClusterCommand } private: - chip::app::Clusters::FaultInjection::Commands::FailAtFault::Type mRequest; + chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::Type mRequest; }; +/*----------------------------------------------------------------------------*\ +| Cluster Chime | 0x0556 | +|------------------------------------------------------------------------------| +| Commands: | | +| * PlayChimeSound | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * InstalledChimeSounds | 0x0000 | +| * ActiveChimeSoundId | 0x0001 | +| * Enabled | 0x0002 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + /* - * Command FailRandomlyAtFault + * Command PlayChimeSound */ -class FaultInjectionFailRandomlyAtFault : public ClusterCommand +class ChimePlayChimeSound : public ClusterCommand { public: - FaultInjectionFailRandomlyAtFault(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("fail-randomly-at-fault", credsIssuerConfig) + ChimePlayChimeSound(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("play-chime-sound", credsIssuerConfig) { - AddArgument("Type", 0, UINT8_MAX, &mRequest.type); - AddArgument("Id", 0, UINT32_MAX, &mRequest.id); - AddArgument("Percentage", 0, UINT8_MAX, &mRequest.percentage); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailRandomlyAtFault::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::Chime::Commands::PlayChimeSound::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15439,8 +15365,8 @@ class FaultInjectionFailRandomlyAtFault : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailRandomlyAtFault::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::Chime::Commands::PlayChimeSound::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15449,18 +15375,17 @@ class FaultInjectionFailRandomlyAtFault : public ClusterCommand } private: - chip::app::Clusters::FaultInjection::Commands::FailRandomlyAtFault::Type mRequest; + chip::app::Clusters::Chime::Commands::PlayChimeSound::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Cluster SampleMei | 0xFFF1FC20 | +| Cluster EcosystemInformation | 0x0750 | |------------------------------------------------------------------------------| | Commands: | | -| * Ping | 0x00 | -| * AddArguments | 0x02 | |------------------------------------------------------------------------------| | Attributes: | | -| * FlipFlop | 0x0000 | +| * DeviceDirectory | 0x0000 | +| * LocationDirectory | 0x0001 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -15469,24 +15394,48 @@ class FaultInjectionFailRandomlyAtFault : public ClusterCommand | * ClusterRevision | 0xFFFD | |------------------------------------------------------------------------------| | Events: | | -| * PingCountEvent | 0x0000 | +\*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*\ +| Cluster CommissionerControl | 0x0751 | +|------------------------------------------------------------------------------| +| Commands: | | +| * RequestCommissioningApproval | 0x00 | +| * CommissionNode | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * SupportedDeviceCategories | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * CommissioningRequestResult | 0x0000 | \*----------------------------------------------------------------------------*/ /* - * Command Ping + * Command RequestCommissioningApproval */ -class SampleMeiPing : public ClusterCommand +class CommissionerControlRequestCommissioningApproval : public ClusterCommand { public: - SampleMeiPing(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("ping", credsIssuerConfig) + CommissionerControlRequestCommissioningApproval(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("request-commissioning-approval", credsIssuerConfig) { + AddArgument("RequestID", 0, UINT64_MAX, &mRequest.requestID); + AddArgument("VendorID", 0, UINT16_MAX, &mRequest.vendorID); + AddArgument("ProductID", 0, UINT16_MAX, &mRequest.productID); + AddArgument("Label", &mRequest.label); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::Ping::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::RequestCommissioningApproval::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15495,8 +15444,8 @@ class SampleMeiPing : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::Ping::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::RequestCommissioningApproval::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15505,26 +15454,27 @@ class SampleMeiPing : public ClusterCommand } private: - chip::app::Clusters::SampleMei::Commands::Ping::Type mRequest; + chip::app::Clusters::CommissionerControl::Commands::RequestCommissioningApproval::Type mRequest; }; /* - * Command AddArguments + * Command CommissionNode */ -class SampleMeiAddArguments : public ClusterCommand +class CommissionerControlCommissionNode : public ClusterCommand { public: - SampleMeiAddArguments(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-arguments", credsIssuerConfig) + CommissionerControlCommissionNode(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("commission-node", credsIssuerConfig) { - AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); - AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2); + AddArgument("RequestID", 0, UINT64_MAX, &mRequest.requestID); + AddArgument("ResponseTimeoutSeconds", 0, UINT16_MAX, &mRequest.responseTimeoutSeconds); ClusterCommand::AddArguments(); } CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::AddArguments::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::CommissionNode::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -15533,8 +15483,8 @@ class SampleMeiAddArguments : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { - constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::AddArguments::Id; + constexpr chip::ClusterId clusterId = chip::app::Clusters::CommissionerControl::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CommissionerControl::Commands::CommissionNode::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -15543,140 +15493,1773 @@ class SampleMeiAddArguments : public ClusterCommand } private: - chip::app::Clusters::SampleMei::Commands::AddArguments::Type mRequest; + chip::app::Clusters::CommissionerControl::Commands::CommissionNode::Type mRequest; }; /*----------------------------------------------------------------------------*\ -| Register all Clusters commands | -\*----------------------------------------------------------------------------*/ -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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, - WriteCommandType::kWrite, credsIssuerConfig), // - make_unique>( - Id, "identify-type", 0, UINT8_MAX, Attributes::IdentifyType::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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.RegisterCluster(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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, "name-support", 0, UINT8_MAX, Attributes::NameSupport::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); -} -void registerClusterOnOff(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::OnOff; - - const char * clusterName = "OnOff"; - +| 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 | +| * EventList | 0xFFFA | +| * 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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, 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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::ElectricalMeasurement::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster UnitTesting | 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 | +| * TestBatchHelperRequest | 0x16 | +| * TestSecondBatchHelperRequest | 0x17 | +| * StringEchoRequest | 0x18 | +| * GlobalEchoRequest | 0x19 | +| * TestDifferentVendorMeiRequest | 0xFFF200AA| +|------------------------------------------------------------------------------| +| 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 | +| * GlobalEnum | 0x0033 | +| * GlobalStruct | 0x0034 | +| * Unsupported | 0x00FF | +| * ReadFailureCode | 0x3000 | +| * FailureInt32U | 0x3001 | +| * 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 | +| * WriteOnlyInt8u | 0x402A | +| * NullableGlobalEnum | 0x4033 | +| * NullableGlobalStruct | 0x4034 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +| * MeiInt8u | 0xFFF24F01| +|------------------------------------------------------------------------------| +| Events: | | +| * TestEvent | 0x0001 | +| * TestFabricScopedEvent | 0x0002 | +| * TestDifferentVendorMeiEvent | 0xFFF200EE| +\*----------------------------------------------------------------------------*/ + +/* + * Command Test + */ +class UnitTestingTest : public ClusterCommand +{ +public: + UnitTestingTest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::Test::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::Test::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::Test::Type mRequest; +}; + +/* + * Command TestNotHandled + */ +class UnitTestingTestNotHandled : public ClusterCommand +{ +public: + UnitTestingTestNotHandled(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-not-handled", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNotHandled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNotHandled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestNotHandled::Type mRequest; +}; + +/* + * Command TestSpecific + */ +class UnitTestingTestSpecific : public ClusterCommand +{ +public: + UnitTestingTestSpecific(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-specific", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSpecific::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSpecific::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestSpecific::Type mRequest; +}; + +/* + * Command TestUnknownCommand + */ +class UnitTestingTestUnknownCommand : public ClusterCommand +{ +public: + UnitTestingTestUnknownCommand(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-unknown-command", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestUnknownCommand::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestUnknownCommand::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestUnknownCommand::Type mRequest; +}; + +/* + * Command TestAddArguments + */ +class UnitTestingTestAddArguments : public ClusterCommand +{ +public: + UnitTestingTestAddArguments(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestAddArguments::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestAddArguments::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestAddArguments::Type mRequest; +}; + +/* + * Command TestSimpleArgumentRequest + */ +class UnitTestingTestSimpleArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestSimpleArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestSimpleArgumentRequest::Type mRequest; +}; + +/* + * Command TestStructArrayArgumentRequest + */ +class UnitTestingTestStructArrayArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestStructArrayArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArrayArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArrayArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestStructArrayArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; + TypedComplexArgument> + mComplex_Arg2; + TypedComplexArgument> mComplex_Arg3; + TypedComplexArgument> mComplex_Arg4; +}; + +/* + * Command TestStructArgumentRequest + */ +class UnitTestingTestStructArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestStructArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestStructArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestStructArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TestNestedStructArgumentRequest + */ +class UnitTestingTestNestedStructArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestNestedStructArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestNestedStructArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TestListStructArgumentRequest + */ +class UnitTestingTestListStructArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestListStructArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListStructArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListStructArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestListStructArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; +}; + +/* + * Command TestListInt8UArgumentRequest + */ +class UnitTestingTestListInt8UArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestListInt8UArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestListInt8UArgumentRequest::Type mRequest; + TypedComplexArgument> mComplex_Arg1; +}; + +/* + * Command TestNestedStructListArgumentRequest + */ +class UnitTestingTestNestedStructListArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestNestedStructListArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructListArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNestedStructListArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestNestedStructListArgumentRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TestListNestedStructListArgumentRequest + */ +class UnitTestingTestListNestedStructListArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestListNestedStructListArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::UnitTesting::Commands::TestListNestedStructListArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = + chip::app::Clusters::UnitTesting::Commands::TestListNestedStructListArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestListNestedStructListArgumentRequest::Type mRequest; + TypedComplexArgument> + mComplex_Arg1; +}; + +/* + * Command TestListInt8UReverseRequest + */ +class UnitTestingTestListInt8UReverseRequest : public ClusterCommand +{ +public: + UnitTestingTestListInt8UReverseRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UReverseRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestListInt8UReverseRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestListInt8UReverseRequest::Type mRequest; + TypedComplexArgument> mComplex_Arg1; +}; + +/* + * Command TestEnumsRequest + */ +class UnitTestingTestEnumsRequest : public ClusterCommand +{ +public: + UnitTestingTestEnumsRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEnumsRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEnumsRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestEnumsRequest::Type mRequest; +}; + +/* + * Command TestNullableOptionalRequest + */ +class UnitTestingTestNullableOptionalRequest : public ClusterCommand +{ +public: + UnitTestingTestNullableOptionalRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNullableOptionalRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestNullableOptionalRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestNullableOptionalRequest::Type mRequest; +}; + +/* + * Command TestComplexNullableOptionalRequest + */ +class UnitTestingTestComplexNullableOptionalRequest : public ClusterCommand +{ +public: + UnitTestingTestComplexNullableOptionalRequest(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, "", Argument::kOptional); + AddArgument("NullableOptionalStruct", &mComplex_NullableOptionalStruct, "", Argument::kOptional); + AddArgument("NullableList", &mComplex_NullableList); + AddArgument("OptionalList", &mComplex_OptionalList, "", Argument::kOptional); + AddArgument("NullableOptionalList", &mComplex_NullableOptionalList, "", Argument::kOptional); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestComplexNullableOptionalRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestComplexNullableOptionalRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::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 UnitTestingSimpleStructEchoRequest : public ClusterCommand +{ +public: + UnitTestingSimpleStructEchoRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::SimpleStructEchoRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::SimpleStructEchoRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::SimpleStructEchoRequest::Type mRequest; + TypedComplexArgument mComplex_Arg1; +}; + +/* + * Command TimedInvokeRequest + */ +class UnitTestingTimedInvokeRequest : public ClusterCommand +{ +public: + UnitTestingTimedInvokeRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("timed-invoke-request", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TimedInvokeRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TimedInvokeRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TimedInvokeRequest::Type mRequest; +}; + +/* + * Command TestSimpleOptionalArgumentRequest + */ +class UnitTestingTestSimpleOptionalArgumentRequest : public ClusterCommand +{ +public: + UnitTestingTestSimpleOptionalArgumentRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleOptionalArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSimpleOptionalArgumentRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestSimpleOptionalArgumentRequest::Type mRequest; +}; + +/* + * Command TestEmitTestEventRequest + */ +class UnitTestingTestEmitTestEventRequest : public ClusterCommand +{ +public: + UnitTestingTestEmitTestEventRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestEventRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestEventRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestEmitTestEventRequest::Type mRequest; +}; + +/* + * Command TestEmitTestFabricScopedEventRequest + */ +class UnitTestingTestEmitTestFabricScopedEventRequest : public ClusterCommand +{ +public: + UnitTestingTestEmitTestFabricScopedEventRequest(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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestFabricScopedEventRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestEmitTestFabricScopedEventRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestEmitTestFabricScopedEventRequest::Type mRequest; +}; + +/* + * Command TestBatchHelperRequest + */ +class UnitTestingTestBatchHelperRequest : public ClusterCommand +{ +public: + UnitTestingTestBatchHelperRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-batch-helper-request", credsIssuerConfig) + { + AddArgument("SleepBeforeResponseTimeMs", 0, UINT16_MAX, &mRequest.sleepBeforeResponseTimeMs); + AddArgument("SizeOfResponseBuffer", 0, UINT16_MAX, &mRequest.sizeOfResponseBuffer); + AddArgument("FillCharacter", 0, UINT8_MAX, &mRequest.fillCharacter); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestBatchHelperRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestBatchHelperRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestBatchHelperRequest::Type mRequest; +}; + +/* + * Command TestSecondBatchHelperRequest + */ +class UnitTestingTestSecondBatchHelperRequest : public ClusterCommand +{ +public: + UnitTestingTestSecondBatchHelperRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-second-batch-helper-request", credsIssuerConfig) + { + AddArgument("SleepBeforeResponseTimeMs", 0, UINT16_MAX, &mRequest.sleepBeforeResponseTimeMs); + AddArgument("SizeOfResponseBuffer", 0, UINT16_MAX, &mRequest.sizeOfResponseBuffer); + AddArgument("FillCharacter", 0, UINT8_MAX, &mRequest.fillCharacter); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSecondBatchHelperRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestSecondBatchHelperRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestSecondBatchHelperRequest::Type mRequest; +}; + +/* + * Command StringEchoRequest + */ +class UnitTestingStringEchoRequest : public ClusterCommand +{ +public: + UnitTestingStringEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("string-echo-request", credsIssuerConfig) + { + AddArgument("Payload", &mRequest.payload); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::StringEchoRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::StringEchoRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::StringEchoRequest::Type mRequest; +}; + +/* + * Command GlobalEchoRequest + */ +class UnitTestingGlobalEchoRequest : public ClusterCommand +{ +public: + UnitTestingGlobalEchoRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("global-echo-request", credsIssuerConfig), mComplex_Field1(&mRequest.field1) + { + AddArgument("Field1", &mComplex_Field1); + AddArgument("Field2", 0, UINT8_MAX, &mRequest.field2); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::GlobalEchoRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::GlobalEchoRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::GlobalEchoRequest::Type mRequest; + TypedComplexArgument mComplex_Field1; +}; + +/* + * Command TestDifferentVendorMeiRequest + */ +class UnitTestingTestDifferentVendorMeiRequest : public ClusterCommand +{ +public: + UnitTestingTestDifferentVendorMeiRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("test-different-vendor-mei-request", credsIssuerConfig) + { + AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestDifferentVendorMeiRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::UnitTesting::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::UnitTesting::Commands::TestDifferentVendorMeiRequest::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::UnitTesting::Commands::TestDifferentVendorMeiRequest::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster FaultInjection | 0xFFF1FC06 | +|------------------------------------------------------------------------------| +| Commands: | | +| * FailAtFault | 0x00 | +| * FailRandomlyAtFault | 0x01 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +/* + * Command FailAtFault + */ +class FaultInjectionFailAtFault : public ClusterCommand +{ +public: + FaultInjectionFailAtFault(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fail-at-fault", credsIssuerConfig) + { + AddArgument("Type", 0, UINT8_MAX, &mRequest.type); + AddArgument("Id", 0, UINT32_MAX, &mRequest.id); + AddArgument("NumCallsToSkip", 0, UINT32_MAX, &mRequest.numCallsToSkip); + AddArgument("NumCallsToFail", 0, UINT32_MAX, &mRequest.numCallsToFail); + AddArgument("TakeMutex", 0, 1, &mRequest.takeMutex); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailAtFault::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailAtFault::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::FaultInjection::Commands::FailAtFault::Type mRequest; +}; + +/* + * Command FailRandomlyAtFault + */ +class FaultInjectionFailRandomlyAtFault : public ClusterCommand +{ +public: + FaultInjectionFailRandomlyAtFault(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("fail-randomly-at-fault", credsIssuerConfig) + { + AddArgument("Type", 0, UINT8_MAX, &mRequest.type); + AddArgument("Id", 0, UINT32_MAX, &mRequest.id); + AddArgument("Percentage", 0, UINT8_MAX, &mRequest.percentage); + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailRandomlyAtFault::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::FaultInjection::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::FaultInjection::Commands::FailRandomlyAtFault::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::FaultInjection::Commands::FailRandomlyAtFault::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Cluster SampleMei | 0xFFF1FC20 | +|------------------------------------------------------------------------------| +| Commands: | | +| * Ping | 0x00 | +| * AddArguments | 0x02 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * FlipFlop | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * PingCountEvent | 0x0000 | +\*----------------------------------------------------------------------------*/ + +/* + * Command Ping + */ +class SampleMeiPing : public ClusterCommand +{ +public: + SampleMeiPing(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("ping", credsIssuerConfig) + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::Ping::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::Ping::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::SampleMei::Commands::Ping::Type mRequest; +}; + +/* + * Command AddArguments + */ +class SampleMeiAddArguments : public ClusterCommand +{ +public: + SampleMeiAddArguments(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("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 + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::AddArguments::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, + commandId, endpointIds.at(0)); + return ClusterCommand::SendCommand(device, endpointIds.at(0), clusterId, commandId, mRequest); + } + + CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::SampleMei::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::SampleMei::Commands::AddArguments::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, + groupId); + + return ClusterCommand::SendGroupCommand(groupId, fabricIndex, clusterId, commandId, mRequest); + } + +private: + chip::app::Clusters::SampleMei::Commands::AddArguments::Type mRequest; +}; + +/*----------------------------------------------------------------------------*\ +| Register all Clusters commands | +\*----------------------------------------------------------------------------*/ +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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>( + Id, "identify-type", 0, UINT8_MAX, Attributes::IdentifyType::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "name-support", 0, UINT8_MAX, Attributes::NameSupport::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterOnOff(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::OnOff; + + const char * clusterName = "OnOff"; + commands_list clusterCommands = { // // Commands @@ -24005,11 +25588,250 @@ void registerClusterBallastConfiguration(Commands & commands, CredentialIssuerCo commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::IlluminanceMeasurement; + + const char * clusterName = "IlluminanceMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "light-sensor-type", Attributes::LightSensorType::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "measured-value", 0, UINT16_MAX, + Attributes::MeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "min-measured-value", 0, UINT16_MAX, + Attributes::MinMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "max-measured-value", 0, UINT16_MAX, + Attributes::MaxMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique< + WriteAttribute>>( + Id, "light-sensor-type", 0, UINT8_MAX, Attributes::LightSensorType::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, 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, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::TemperatureMeasurement; + + const char * clusterName = "TemperatureMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "measured-value", INT16_MIN, INT16_MAX, + Attributes::MeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "min-measured-value", INT16_MIN, INT16_MAX, + Attributes::MinMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "max-measured-value", INT16_MIN, INT16_MAX, + Attributes::MaxMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::PressureMeasurement; + + const char * clusterName = "PressureMeasurement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), // + make_unique(Id, "scaled-value", Attributes::ScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "min-scaled-value", Attributes::MinScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "max-scaled-value", Attributes::MaxScaledValue::Id, credsIssuerConfig), // + make_unique(Id, "scaled-tolerance", Attributes::ScaledTolerance::Id, credsIssuerConfig), // + make_unique(Id, "scale", Attributes::Scale::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "measured-value", INT16_MIN, INT16_MAX, + Attributes::MeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "min-measured-value", INT16_MIN, INT16_MAX, + Attributes::MinMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "max-measured-value", INT16_MIN, INT16_MAX, + Attributes::MaxMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "scaled-value", INT16_MIN, INT16_MAX, + Attributes::ScaledValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "min-scaled-value", INT16_MIN, INT16_MAX, + Attributes::MinScaledValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "max-scaled-value", INT16_MIN, INT16_MAX, + Attributes::MaxScaledValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "scaled-tolerance", 0, UINT16_MAX, Attributes::ScaledTolerance::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "scale", INT8_MIN, INT8_MAX, Attributes::Scale::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::IlluminanceMeasurement; + using namespace chip::app::Clusters::FlowMeasurement; - const char * clusterName = "IlluminanceMeasurement"; + const char * clusterName = "FlowMeasurement"; commands_list clusterCommands = { // @@ -24024,7 +25846,6 @@ void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuer 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24043,10 +25864,6 @@ void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuer WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique< - WriteAttribute>>( - Id, "light-sensor-type", 0, UINT8_MAX, Attributes::LightSensorType::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -24065,7 +25882,6 @@ void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuer 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24081,11 +25897,11 @@ void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuer commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TemperatureMeasurement; + using namespace chip::app::Clusters::RelativeHumidityMeasurement; - const char * clusterName = "TemperatureMeasurement"; + const char * clusterName = "RelativeHumidityMeasurement"; commands_list clusterCommands = { // @@ -24107,15 +25923,15 @@ void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuer 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, "measured-value", INT16_MIN, INT16_MAX, - Attributes::MeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "min-measured-value", INT16_MIN, INT16_MAX, - Attributes::MinMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "max-measured-value", INT16_MIN, INT16_MAX, - Attributes::MaxMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "measured-value", 0, UINT16_MAX, + Attributes::MeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "min-measured-value", 0, UINT16_MAX, + Attributes::MinMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "max-measured-value", 0, UINT16_MAX, + Attributes::MaxMeasuredValue::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( @@ -24151,11 +25967,11 @@ void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuer commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterOccupancySensing(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::PressureMeasurement; + using namespace chip::app::Clusters::OccupancySensing; - const char * clusterName = "PressureMeasurement"; + const char * clusterName = "OccupancySensing"; commands_list clusterCommands = { // @@ -24165,16 +25981,31 @@ void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCom // // 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, 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, "hold-time", Attributes::HoldTime::Id, credsIssuerConfig), // + make_unique(Id, "hold-time-limits", Attributes::HoldTimeLimits::Id, credsIssuerConfig), // + make_unique(Id, "piroccupied-to-unoccupied-delay", Attributes::PIROccupiedToUnoccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pirunoccupied-to-occupied-delay", Attributes::PIRUnoccupiedToOccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pirunoccupied-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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24182,30 +26013,45 @@ void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCom 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, "measured-value", INT16_MIN, INT16_MAX, - Attributes::MeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "min-measured-value", INT16_MIN, INT16_MAX, - Attributes::MinMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "max-measured-value", INT16_MIN, INT16_MAX, - Attributes::MaxMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "scaled-value", INT16_MIN, INT16_MAX, - Attributes::ScaledValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "min-scaled-value", INT16_MIN, INT16_MAX, - Attributes::MinScaledValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "max-scaled-value", INT16_MIN, INT16_MAX, - Attributes::MaxScaledValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "scaled-tolerance", 0, UINT16_MAX, Attributes::ScaledTolerance::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "scale", INT8_MIN, INT8_MAX, Attributes::Scale::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // + make_unique>>( + Id, "occupancy", 0, UINT8_MAX, Attributes::Occupancy::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "occupancy-sensor-type", 0, UINT8_MAX, Attributes::OccupancySensorType::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "occupancy-sensor-type-bitmap", 0, UINT8_MAX, Attributes::OccupancySensorTypeBitmap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "hold-time", 0, UINT16_MAX, Attributes::HoldTime::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>( + Id, "hold-time-limits", Attributes::HoldTimeLimits::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "piroccupied-to-unoccupied-delay", 0, UINT16_MAX, + Attributes::PIROccupiedToUnoccupiedDelay::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "pirunoccupied-to-occupied-delay", 0, UINT16_MAX, + Attributes::PIRUnoccupiedToOccupiedDelay::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "pirunoccupied-to-occupied-threshold", 0, UINT8_MAX, + Attributes::PIRUnoccupiedToOccupiedThreshold::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "ultrasonic-occupied-to-unoccupied-delay", 0, UINT16_MAX, + Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "ultrasonic-unoccupied-to-occupied-delay", 0, UINT16_MAX, + Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "ultrasonic-unoccupied-to-occupied-threshold", 0, UINT8_MAX, + Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "physical-contact-occupied-to-unoccupied-delay", 0, UINT16_MAX, + Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "physical-contact-unoccupied-to-occupied-delay", 0, UINT16_MAX, + Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "physical-contact-unoccupied-to-occupied-threshold", 0, UINT8_MAX, + Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id, WriteCommandType::kWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -24218,17 +26064,32 @@ void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCom make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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), // + WriteCommandType::kForceWrite, 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, "hold-time", Attributes::HoldTime::Id, credsIssuerConfig), // + make_unique(Id, "hold-time-limits", Attributes::HoldTimeLimits::Id, credsIssuerConfig), // + make_unique(Id, "piroccupied-to-unoccupied-delay", Attributes::PIROccupiedToUnoccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pirunoccupied-to-occupied-delay", Attributes::PIRUnoccupiedToOccupiedDelay::Id, + credsIssuerConfig), // + make_unique(Id, "pirunoccupied-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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24238,17 +26099,19 @@ void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCom // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "occupancy-changed", Events::OccupancyChanged::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "occupancy-changed", Events::OccupancyChanged::Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterCarbonMonoxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::FlowMeasurement; + using namespace chip::app::Clusters::CarbonMonoxideConcentrationMeasurement; - const char * clusterName = "FlowMeasurement"; + const char * clusterName = "CarbonMonoxideConcentrationMeasurement"; commands_list clusterCommands = { // @@ -24258,11 +26121,19 @@ void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommand // // 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, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // + make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // + make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // + make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24270,17 +26141,38 @@ void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommand 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, "measured-value", 0, UINT16_MAX, - Attributes::MeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "min-measured-value", 0, UINT16_MAX, - Attributes::MinMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "max-measured-value", 0, UINT16_MAX, - Attributes::MaxMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "min-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MinMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "max-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MaxMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "peak-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::PeakMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "peak-measured-value-window", 0, UINT32_MAX, + Attributes::PeakMeasuredValueWindow::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "average-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::AverageMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "average-measured-value-window", 0, UINT32_MAX, + Attributes::AverageMeasuredValueWindow::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), + std::numeric_limits::infinity(), Attributes::Uncertainty::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>( + Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>( + Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -24293,12 +26185,21 @@ void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommand make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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), // + WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // + make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // + make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // + make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24314,11 +26215,11 @@ void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommand commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::RelativeHumidityMeasurement; + using namespace chip::app::Clusters::CarbonDioxideConcentrationMeasurement; - const char * clusterName = "RelativeHumidityMeasurement"; + const char * clusterName = "CarbonDioxideConcentrationMeasurement"; commands_list clusterCommands = { // @@ -24328,11 +26229,19 @@ void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialI // // 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, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // + make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // + make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // + make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24340,17 +26249,38 @@ void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialI 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, "measured-value", 0, UINT16_MAX, - Attributes::MeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "min-measured-value", 0, UINT16_MAX, - Attributes::MinMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "max-measured-value", 0, UINT16_MAX, - Attributes::MaxMeasuredValue::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "tolerance", 0, UINT16_MAX, Attributes::Tolerance::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "min-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MinMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "max-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MaxMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "peak-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::PeakMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "peak-measured-value-window", 0, UINT32_MAX, + Attributes::PeakMeasuredValueWindow::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "average-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::AverageMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "average-measured-value-window", 0, UINT32_MAX, + Attributes::AverageMeasuredValueWindow::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), + std::numeric_limits::infinity(), Attributes::Uncertainty::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>( + Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>( + Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -24363,12 +26293,21 @@ void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialI make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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), // + WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // + make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // + make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // + make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24384,11 +26323,11 @@ void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialI commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterOccupancySensing(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterNitrogenDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::OccupancySensing; + using namespace chip::app::Clusters::NitrogenDioxideConcentrationMeasurement; - const char * clusterName = "OccupancySensing"; + const char * clusterName = "NitrogenDioxideConcentrationMeasurement"; commands_list clusterCommands = { // @@ -24398,31 +26337,19 @@ void registerClusterOccupancySensing(Commands & commands, CredentialIssuerComman // // 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, "hold-time", Attributes::HoldTime::Id, credsIssuerConfig), // - make_unique(Id, "hold-time-limits", Attributes::HoldTimeLimits::Id, credsIssuerConfig), // - make_unique(Id, "piroccupied-to-unoccupied-delay", Attributes::PIROccupiedToUnoccupiedDelay::Id, - credsIssuerConfig), // - make_unique(Id, "pirunoccupied-to-occupied-delay", Attributes::PIRUnoccupiedToOccupiedDelay::Id, - credsIssuerConfig), // - make_unique(Id, "pirunoccupied-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, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // + make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // + make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // + make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24430,45 +26357,38 @@ void registerClusterOccupancySensing(Commands & commands, CredentialIssuerComman 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, "occupancy", 0, UINT8_MAX, Attributes::Occupancy::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( - Id, "occupancy-sensor-type", 0, UINT8_MAX, Attributes::OccupancySensorType::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "occupancy-sensor-type-bitmap", 0, UINT8_MAX, Attributes::OccupancySensorTypeBitmap::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "hold-time", 0, UINT16_MAX, Attributes::HoldTime::Id, WriteCommandType::kWrite, - credsIssuerConfig), // - make_unique>( - Id, "hold-time-limits", Attributes::HoldTimeLimits::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "piroccupied-to-unoccupied-delay", 0, UINT16_MAX, - Attributes::PIROccupiedToUnoccupiedDelay::Id, WriteCommandType::kWrite, - credsIssuerConfig), // - make_unique>(Id, "pirunoccupied-to-occupied-delay", 0, UINT16_MAX, - Attributes::PIRUnoccupiedToOccupiedDelay::Id, WriteCommandType::kWrite, - credsIssuerConfig), // - make_unique>(Id, "pirunoccupied-to-occupied-threshold", 0, UINT8_MAX, - Attributes::PIRUnoccupiedToOccupiedThreshold::Id, WriteCommandType::kWrite, - credsIssuerConfig), // - make_unique>(Id, "ultrasonic-occupied-to-unoccupied-delay", 0, UINT16_MAX, - Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, WriteCommandType::kWrite, - credsIssuerConfig), // - make_unique>(Id, "ultrasonic-unoccupied-to-occupied-delay", 0, UINT16_MAX, - Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, WriteCommandType::kWrite, - credsIssuerConfig), // - make_unique>(Id, "ultrasonic-unoccupied-to-occupied-threshold", 0, UINT8_MAX, - Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, WriteCommandType::kWrite, - credsIssuerConfig), // - make_unique>(Id, "physical-contact-occupied-to-unoccupied-delay", 0, UINT16_MAX, - Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, WriteCommandType::kWrite, + make_unique>>( + Id, "measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "min-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MinMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "max-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::MaxMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "peak-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::PeakMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "peak-measured-value-window", 0, UINT32_MAX, + Attributes::PeakMeasuredValueWindow::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "physical-contact-unoccupied-to-occupied-delay", 0, UINT16_MAX, - Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, WriteCommandType::kWrite, + make_unique>>( + Id, "average-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), + Attributes::AverageMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "average-measured-value-window", 0, UINT32_MAX, + Attributes::AverageMeasuredValueWindow::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "physical-contact-unoccupied-to-occupied-threshold", 0, UINT8_MAX, - Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id, WriteCommandType::kWrite, - credsIssuerConfig), // + make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), + std::numeric_limits::infinity(), Attributes::Uncertainty::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>( + Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>( + Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -24481,32 +26401,21 @@ void registerClusterOccupancySensing(Commands & commands, CredentialIssuerComman make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "hold-time", Attributes::HoldTime::Id, credsIssuerConfig), // - make_unique(Id, "hold-time-limits", Attributes::HoldTimeLimits::Id, credsIssuerConfig), // - make_unique(Id, "piroccupied-to-unoccupied-delay", Attributes::PIROccupiedToUnoccupiedDelay::Id, - credsIssuerConfig), // - make_unique(Id, "pirunoccupied-to-occupied-delay", Attributes::PIRUnoccupiedToOccupiedDelay::Id, - credsIssuerConfig), // - make_unique(Id, "pirunoccupied-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), // + WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // + make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // + make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // + make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -24516,19 +26425,17 @@ void registerClusterOccupancySensing(Commands & commands, CredentialIssuerComman // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "occupancy-changed", Events::OccupancyChanged::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "occupancy-changed", Events::OccupancyChanged::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterCarbonMonoxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterOzoneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::CarbonMonoxideConcentrationMeasurement; + using namespace chip::app::Clusters::OzoneConcentrationMeasurement; - const char * clusterName = "CarbonMonoxideConcentrationMeasurement"; + const char * clusterName = "OzoneConcentrationMeasurement"; commands_list clusterCommands = { // @@ -24582,13 +26489,13 @@ void registerClusterCarbonMonoxideConcentrationMeasurement(Commands & commands, make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), Attributes::Uncertainty::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -24632,11 +26539,11 @@ void registerClusterCarbonMonoxideConcentrationMeasurement(Commands & commands, commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterPm25ConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::CarbonDioxideConcentrationMeasurement; + using namespace chip::app::Clusters::Pm25ConcentrationMeasurement; - const char * clusterName = "CarbonDioxideConcentrationMeasurement"; + const char * clusterName = "Pm25ConcentrationMeasurement"; commands_list clusterCommands = { // @@ -24690,13 +26597,13 @@ void registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, C make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), Attributes::Uncertainty::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -24740,11 +26647,11 @@ void registerClusterCarbonDioxideConcentrationMeasurement(Commands & commands, C commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterNitrogenDioxideConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterFormaldehydeConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::NitrogenDioxideConcentrationMeasurement; + using namespace chip::app::Clusters::FormaldehydeConcentrationMeasurement; - const char * clusterName = "NitrogenDioxideConcentrationMeasurement"; + const char * clusterName = "FormaldehydeConcentrationMeasurement"; commands_list clusterCommands = { // @@ -24798,13 +26705,13 @@ void registerClusterNitrogenDioxideConcentrationMeasurement(Commands & commands, make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), Attributes::Uncertainty::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -24848,11 +26755,11 @@ void registerClusterNitrogenDioxideConcentrationMeasurement(Commands & commands, commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterOzoneConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterPm1ConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::OzoneConcentrationMeasurement; + using namespace chip::app::Clusters::Pm1ConcentrationMeasurement; - const char * clusterName = "OzoneConcentrationMeasurement"; + const char * clusterName = "Pm1ConcentrationMeasurement"; commands_list clusterCommands = { // @@ -24906,13 +26813,13 @@ void registerClusterOzoneConcentrationMeasurement(Commands & commands, Credentia make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), Attributes::Uncertainty::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -24956,11 +26863,11 @@ void registerClusterOzoneConcentrationMeasurement(Commands & commands, Credentia commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterPm25ConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterPm10ConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::Pm25ConcentrationMeasurement; + using namespace chip::app::Clusters::Pm10ConcentrationMeasurement; - const char * clusterName = "Pm25ConcentrationMeasurement"; + const char * clusterName = "Pm10ConcentrationMeasurement"; commands_list clusterCommands = { // @@ -25014,13 +26921,13 @@ void registerClusterPm25ConcentrationMeasurement(Commands & commands, Credential make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), Attributes::Uncertainty::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -25064,11 +26971,12 @@ void registerClusterPm25ConcentrationMeasurement(Commands & commands, Credential commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterFormaldehydeConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterTotalVolatileOrganicCompoundsConcentrationMeasurement(Commands & commands, + CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::FormaldehydeConcentrationMeasurement; + using namespace chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement; - const char * clusterName = "FormaldehydeConcentrationMeasurement"; + const char * clusterName = "TotalVolatileOrganicCompoundsConcentrationMeasurement"; commands_list clusterCommands = { // @@ -25122,13 +27030,15 @@ void registerClusterFormaldehydeConcentrationMeasurement(Commands & commands, Cr make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), Attributes::Uncertainty::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique< + WriteAttribute>( Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique< + WriteAttribute>( Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -25172,11 +27082,11 @@ void registerClusterFormaldehydeConcentrationMeasurement(Commands & commands, Cr commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterPm1ConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterRadonConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::Pm1ConcentrationMeasurement; + using namespace chip::app::Clusters::RadonConcentrationMeasurement; - const char * clusterName = "Pm1ConcentrationMeasurement"; + const char * clusterName = "RadonConcentrationMeasurement"; commands_list clusterCommands = { // @@ -25230,13 +27140,13 @@ void registerClusterPm1ConcentrationMeasurement(Commands & commands, CredentialI make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), Attributes::Uncertainty::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( + make_unique>( Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -25250,21 +27160,235 @@ void registerClusterPm1ConcentrationMeasurement(Commands & commands, CredentialI make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // + make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, + credsIssuerConfig), // + make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // + make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // + make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // + make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterWiFiNetworkManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::WiFiNetworkManagement; + + const char * clusterName = "WiFiNetworkManagement"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "ssid", Attributes::Ssid::Id, credsIssuerConfig), // + make_unique(Id, "passphrase-surrogate", Attributes::PassphraseSurrogate::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "ssid", Attributes::Ssid::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "passphrase-surrogate", 0, UINT64_MAX, + Attributes::PassphraseSurrogate::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "ssid", Attributes::Ssid::Id, credsIssuerConfig), // + make_unique(Id, "passphrase-surrogate", Attributes::PassphraseSurrogate::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterThreadBorderRouterManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ThreadBorderRouterManagement; + + const char * clusterName = "ThreadBorderRouterManagement"; + + 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, "border-router-name", Attributes::BorderRouterName::Id, credsIssuerConfig), // + make_unique(Id, "border-agent-id", Attributes::BorderAgentID::Id, credsIssuerConfig), // + make_unique(Id, "thread-version", Attributes::ThreadVersion::Id, credsIssuerConfig), // + make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // + make_unique(Id, "active-dataset-timestamp", Attributes::ActiveDatasetTimestamp::Id, credsIssuerConfig), // + make_unique(Id, "pending-dataset-timestamp", Attributes::PendingDatasetTimestamp::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "border-router-name", Attributes::BorderRouterName::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "border-agent-id", Attributes::BorderAgentID::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "thread-version", 0, UINT16_MAX, Attributes::ThreadVersion::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "interface-enabled", 0, 1, Attributes::InterfaceEnabled::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "active-dataset-timestamp", 0, UINT64_MAX, + Attributes::ActiveDatasetTimestamp::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "pending-dataset-timestamp", 0, UINT64_MAX, + Attributes::PendingDatasetTimestamp::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "border-router-name", Attributes::BorderRouterName::Id, credsIssuerConfig), // + make_unique(Id, "border-agent-id", Attributes::BorderAgentID::Id, credsIssuerConfig), // + make_unique(Id, "thread-version", Attributes::ThreadVersion::Id, credsIssuerConfig), // + make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // + make_unique(Id, "active-dataset-timestamp", Attributes::ActiveDatasetTimestamp::Id, + credsIssuerConfig), // + make_unique(Id, "pending-dataset-timestamp", Attributes::PendingDatasetTimestamp::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterThreadNetworkDirectory(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ThreadNetworkDirectory; + + const char * clusterName = "ThreadNetworkDirectory"; + + 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, "preferred-extended-pan-id", Attributes::PreferredExtendedPanID::Id, credsIssuerConfig), // + make_unique(Id, "thread-networks", Attributes::ThreadNetworks::Id, credsIssuerConfig), // + make_unique(Id, "thread-network-table-size", Attributes::ThreadNetworkTableSize::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "preferred-extended-pan-id", + Attributes::PreferredExtendedPanID::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "thread-networks", Attributes::ThreadNetworks::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "thread-network-table-size", 0, UINT8_MAX, Attributes::ThreadNetworkTableSize::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "preferred-extended-pan-id", Attributes::PreferredExtendedPanID::Id, + credsIssuerConfig), // + make_unique(Id, "thread-networks", Attributes::ThreadNetworks::Id, credsIssuerConfig), // + make_unique(Id, "thread-network-table-size", Attributes::ThreadNetworkTableSize::Id, credsIssuerConfig), // - make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // - make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // - make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // - make_unique(Id, "level-value", Attributes::LevelValue::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25280,11 +27404,11 @@ void registerClusterPm1ConcentrationMeasurement(Commands & commands, CredentialI commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterPm10ConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::Pm10ConcentrationMeasurement; + using namespace chip::app::Clusters::WakeOnLan; - const char * clusterName = "Pm10ConcentrationMeasurement"; + const char * clusterName = "WakeOnLan"; commands_list clusterCommands = { // @@ -25294,19 +27418,9 @@ void registerClusterPm10ConcentrationMeasurement(Commands & commands, Credential // // 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // - make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // - make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // - make_unique(Id, "level-value", Attributes::LevelValue::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "macaddress", Attributes::MACAddress::Id, credsIssuerConfig), // + make_unique(Id, "link-local-address", Attributes::LinkLocalAddress::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25314,38 +27428,10 @@ void registerClusterPm10ConcentrationMeasurement(Commands & commands, Credential 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, "measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "min-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MinMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "max-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MaxMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "peak-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::PeakMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "peak-measured-value-window", 0, UINT32_MAX, - Attributes::PeakMeasuredValueWindow::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "average-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::AverageMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "average-measured-value-window", 0, UINT32_MAX, - Attributes::AverageMeasuredValueWindow::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), - std::numeric_limits::infinity(), Attributes::Uncertainty::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( - Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>( - Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>( - Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "macaddress", Attributes::MACAddress::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "link-local-address", Attributes::LinkLocalAddress::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25358,21 +27444,10 @@ void registerClusterPm10ConcentrationMeasurement(Commands & commands, Credential make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // - make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // - make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // - make_unique(Id, "level-value", Attributes::LevelValue::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "macaddress", Attributes::MACAddress::Id, credsIssuerConfig), // + make_unique(Id, "link-local-address", Attributes::LinkLocalAddress::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25388,34 +27463,30 @@ void registerClusterPm10ConcentrationMeasurement(Commands & commands, Credential commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterTotalVolatileOrganicCompoundsConcentrationMeasurement(Commands & commands, - CredentialIssuerCommands * credsIssuerConfig) +void registerClusterChannel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement; + using namespace chip::app::Clusters::Channel; - const char * clusterName = "TotalVolatileOrganicCompoundsConcentrationMeasurement"; + const char * clusterName = "Channel"; 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // - make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // - make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // - make_unique(Id, "level-value", Attributes::LevelValue::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // + make_unique(Id, "lineup", Attributes::Lineup::Id, credsIssuerConfig), // + make_unique(Id, "current-channel", Attributes::CurrentChannel::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25423,40 +27494,15 @@ void registerClusterTotalVolatileOrganicCompoundsConcentrationMeasurement(Comman 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, "measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "min-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MinMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "max-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MaxMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "peak-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::PeakMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "peak-measured-value-window", 0, UINT32_MAX, - Attributes::PeakMeasuredValueWindow::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "average-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::AverageMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "average-measured-value-window", 0, UINT32_MAX, - Attributes::AverageMeasuredValueWindow::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), - std::numeric_limits::infinity(), Attributes::Uncertainty::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique< - WriteAttribute>( - Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // + make_unique>>( + Id, "channel-list", Attributes::ChannelList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique< - WriteAttribute>( - Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>( - Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + WriteAttributeAsComplex>>( + Id, "lineup", Attributes::Lineup::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "current-channel", Attributes::CurrentChannel::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25466,24 +27512,14 @@ void registerClusterTotalVolatileOrganicCompoundsConcentrationMeasurement(Comman Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // - make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // - make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // - make_unique(Id, "level-value", Attributes::LevelValue::Id, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // + make_unique(Id, "lineup", Attributes::Lineup::Id, credsIssuerConfig), // + make_unique(Id, "current-channel", Attributes::CurrentChannel::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25499,33 +27535,24 @@ void registerClusterTotalVolatileOrganicCompoundsConcentrationMeasurement(Comman commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterRadonConcentrationMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::RadonConcentrationMeasurement; + using namespace chip::app::Clusters::TargetNavigator; - const char * clusterName = "RadonConcentrationMeasurement"; + const char * clusterName = "TargetNavigator"; 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // - make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // - make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // - make_unique(Id, "level-value", Attributes::LevelValue::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "target-list", Attributes::TargetList::Id, credsIssuerConfig), // + make_unique(Id, "current-target", Attributes::CurrentTarget::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25533,38 +27560,11 @@ void registerClusterRadonConcentrationMeasurement(Commands & commands, Credentia 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, "measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "min-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MinMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "max-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::MaxMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "peak-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::PeakMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "peak-measured-value-window", 0, UINT32_MAX, - Attributes::PeakMeasuredValueWindow::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "average-measured-value", -std::numeric_limits::infinity(), std::numeric_limits::infinity(), - Attributes::AverageMeasuredValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "average-measured-value-window", 0, UINT32_MAX, - Attributes::AverageMeasuredValueWindow::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>(Id, "uncertainty", -std::numeric_limits::infinity(), - std::numeric_limits::infinity(), Attributes::Uncertainty::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( - Id, "measurement-unit", 0, UINT8_MAX, Attributes::MeasurementUnit::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>( - Id, "measurement-medium", 0, UINT8_MAX, Attributes::MeasurementMedium::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>( - Id, "level-value", 0, UINT8_MAX, Attributes::LevelValue::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "target-list", Attributes::TargetList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "current-target", 0, UINT8_MAX, Attributes::CurrentTarget::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25577,21 +27577,10 @@ void registerClusterRadonConcentrationMeasurement(Commands & commands, Credentia make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "peak-measured-value", Attributes::PeakMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "peak-measured-value-window", Attributes::PeakMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "average-measured-value", Attributes::AverageMeasuredValue::Id, credsIssuerConfig), // - make_unique(Id, "average-measured-value-window", Attributes::AverageMeasuredValueWindow::Id, - credsIssuerConfig), // - make_unique(Id, "uncertainty", Attributes::Uncertainty::Id, credsIssuerConfig), // - make_unique(Id, "measurement-unit", Attributes::MeasurementUnit::Id, credsIssuerConfig), // - make_unique(Id, "measurement-medium", Attributes::MeasurementMedium::Id, credsIssuerConfig), // - make_unique(Id, "level-value", Attributes::LevelValue::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "target-list", Attributes::TargetList::Id, credsIssuerConfig), // + make_unique(Id, "current-target", Attributes::CurrentTarget::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25601,30 +27590,54 @@ void registerClusterRadonConcentrationMeasurement(Commands & commands, Credentia // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "target-updated", Events::TargetUpdated::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "target-updated", Events::TargetUpdated::Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterWiFiNetworkManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::WiFiNetworkManagement; + using namespace chip::app::Clusters::MediaPlayback; - const char * clusterName = "WiFiNetworkManagement"; + const char * clusterName = "MediaPlayback"; 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), // + 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, "ssid", Attributes::Ssid::Id, credsIssuerConfig), // - make_unique(Id, "passphrase-surrogate", Attributes::PassphraseSurrogate::Id, credsIssuerConfig), // + make_unique(Id, "current-state", Attributes::CurrentState::Id, credsIssuerConfig), // + make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // + make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // + make_unique(Id, "sampled-position", Attributes::SampledPosition::Id, credsIssuerConfig), // + make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // + make_unique(Id, "active-audio-track", Attributes::ActiveAudioTrack::Id, credsIssuerConfig), // + make_unique(Id, "available-audio-tracks", Attributes::AvailableAudioTracks::Id, credsIssuerConfig), // + make_unique(Id, "active-text-track", Attributes::ActiveTextTrack::Id, credsIssuerConfig), // + make_unique(Id, "available-text-tracks", Attributes::AvailableTextTracks::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25632,11 +27645,36 @@ void registerClusterWiFiNetworkManagement(Commands & commands, CredentialIssuerC 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, "ssid", Attributes::Ssid::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "passphrase-surrogate", 0, UINT64_MAX, - Attributes::PassphraseSurrogate::Id, + make_unique>( + Id, "current-state", 0, UINT8_MAX, Attributes::CurrentState::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "start-time", 0, UINT64_MAX, Attributes::StartTime::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "duration", 0, UINT64_MAX, Attributes::Duration::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "sampled-position", Attributes::SampledPosition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "playback-speed", -std::numeric_limits::infinity(), + std::numeric_limits::infinity(), Attributes::PlaybackSpeed::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "seek-range-end", 0, UINT64_MAX, Attributes::SeekRangeEnd::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>(Id, "seek-range-start", 0, UINT64_MAX, + Attributes::SeekRangeStart::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "active-audio-track", Attributes::ActiveAudioTrack::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>>( + Id, "available-audio-tracks", Attributes::AvailableAudioTracks::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "active-text-track", Attributes::ActiveTextTrack::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>>( + Id, "available-text-tracks", Attributes::AvailableTextTracks::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25651,8 +27689,17 @@ void registerClusterWiFiNetworkManagement(Commands & commands, CredentialIssuerC make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "ssid", Attributes::Ssid::Id, credsIssuerConfig), // - make_unique(Id, "passphrase-surrogate", Attributes::PassphraseSurrogate::Id, credsIssuerConfig), // + make_unique(Id, "current-state", Attributes::CurrentState::Id, credsIssuerConfig), // + make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // + make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // + make_unique(Id, "sampled-position", Attributes::SampledPosition::Id, credsIssuerConfig), // + make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // + make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // + make_unique(Id, "active-audio-track", Attributes::ActiveAudioTrack::Id, credsIssuerConfig), // + make_unique(Id, "available-audio-tracks", Attributes::AvailableAudioTracks::Id, credsIssuerConfig), // + make_unique(Id, "active-text-track", Attributes::ActiveTextTrack::Id, credsIssuerConfig), // + make_unique(Id, "available-text-tracks", Attributes::AvailableTextTracks::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25662,58 +27709,47 @@ void registerClusterWiFiNetworkManagement(Commands & commands, CredentialIssuerC // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterThreadBorderRouterManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ThreadBorderRouterManagement; + using namespace chip::app::Clusters::MediaInput; - const char * clusterName = "ThreadBorderRouterManagement"; + const char * clusterName = "MediaInput"; commands_list clusterCommands = { // // Commands // - make_unique(Id, 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), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "border-router-name", Attributes::BorderRouterName::Id, credsIssuerConfig), // - make_unique(Id, "border-agent-id", Attributes::BorderAgentID::Id, credsIssuerConfig), // - make_unique(Id, "thread-version", Attributes::ThreadVersion::Id, credsIssuerConfig), // - make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // - make_unique(Id, "active-dataset-timestamp", Attributes::ActiveDatasetTimestamp::Id, credsIssuerConfig), // - make_unique(Id, "pending-dataset-timestamp", Attributes::PendingDatasetTimestamp::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, "border-router-name", Attributes::BorderRouterName::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "border-agent-id", Attributes::BorderAgentID::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "thread-version", 0, UINT16_MAX, Attributes::ThreadVersion::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "interface-enabled", 0, 1, Attributes::InterfaceEnabled::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "active-dataset-timestamp", 0, UINT64_MAX, - Attributes::ActiveDatasetTimestamp::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "pending-dataset-timestamp", 0, UINT64_MAX, - Attributes::PendingDatasetTimestamp::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "input-list", Attributes::InputList::Id, credsIssuerConfig), // + make_unique(Id, "current-input", Attributes::CurrentInput::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "input-list", Attributes::InputList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "current-input", 0, UINT8_MAX, Attributes::CurrentInput::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25722,20 +27758,14 @@ void registerClusterThreadBorderRouterManagement(Commands & commands, Credential make_unique>>( Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( - Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "border-router-name", Attributes::BorderRouterName::Id, credsIssuerConfig), // - make_unique(Id, "border-agent-id", Attributes::BorderAgentID::Id, credsIssuerConfig), // - make_unique(Id, "thread-version", Attributes::ThreadVersion::Id, credsIssuerConfig), // - make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), // - make_unique(Id, "active-dataset-timestamp", Attributes::ActiveDatasetTimestamp::Id, - credsIssuerConfig), // - make_unique(Id, "pending-dataset-timestamp", Attributes::PendingDatasetTimestamp::Id, - credsIssuerConfig), // + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "input-list", Attributes::InputList::Id, credsIssuerConfig), // + make_unique(Id, "current-input", Attributes::CurrentInput::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25751,42 +27781,29 @@ void registerClusterThreadBorderRouterManagement(Commands & commands, Credential commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterThreadNetworkDirectory(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ThreadNetworkDirectory; + using namespace chip::app::Clusters::LowPower; - const char * clusterName = "ThreadNetworkDirectory"; + const char * clusterName = "LowPower"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "preferred-extended-pan-id", Attributes::PreferredExtendedPanID::Id, credsIssuerConfig), // - make_unique(Id, "thread-networks", Attributes::ThreadNetworks::Id, credsIssuerConfig), // - make_unique(Id, "thread-network-table-size", Attributes::ThreadNetworkTableSize::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, "preferred-extended-pan-id", - Attributes::PreferredExtendedPanID::Id, - WriteCommandType::kWrite, credsIssuerConfig), // - make_unique>>( - Id, "thread-networks", Attributes::ThreadNetworks::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "thread-network-table-size", 0, UINT8_MAX, Attributes::ThreadNetworkTableSize::Id, - WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25799,13 +27816,8 @@ void registerClusterThreadNetworkDirectory(Commands & commands, CredentialIssuer make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "preferred-extended-pan-id", Attributes::PreferredExtendedPanID::Id, - credsIssuerConfig), // - make_unique(Id, "thread-networks", Attributes::ThreadNetworks::Id, credsIssuerConfig), // - make_unique(Id, "thread-network-table-size", Attributes::ThreadNetworkTableSize::Id, - credsIssuerConfig), // + WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25821,23 +27833,22 @@ void registerClusterThreadNetworkDirectory(Commands & commands, CredentialIssuer commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterKeypadInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::WakeOnLan; + using namespace chip::app::Clusters::KeypadInput; - const char * clusterName = "WakeOnLan"; + const char * clusterName = "KeypadInput"; commands_list clusterCommands = { // // Commands // make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "macaddress", Attributes::MACAddress::Id, credsIssuerConfig), // - make_unique(Id, "link-local-address", Attributes::LinkLocalAddress::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25845,10 +27856,6 @@ void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * cr 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, "macaddress", Attributes::MACAddress::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>(Id, "link-local-address", Attributes::LinkLocalAddress::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25863,8 +27870,6 @@ void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * cr make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "macaddress", Attributes::MACAddress::Id, credsIssuerConfig), // - make_unique(Id, "link-local-address", Attributes::LinkLocalAddress::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25880,30 +27885,26 @@ void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * cr commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterChannel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterContentLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::Channel; + using namespace chip::app::Clusters::ContentLauncher; - const char * clusterName = "Channel"; + const char * clusterName = "ContentLauncher"; 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, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // - make_unique(Id, "lineup", Attributes::Lineup::Id, credsIssuerConfig), // - make_unique(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "accept-header", Attributes::AcceptHeader::Id, credsIssuerConfig), // + make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25911,15 +27912,11 @@ void registerClusterChannel(Commands & commands, CredentialIssuerCommands * cred 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, "channel-list", Attributes::ChannelList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique< - WriteAttributeAsComplex>>( - Id, "lineup", Attributes::Lineup::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "current-channel", Attributes::CurrentChannel::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "accept-header", Attributes::AcceptHeader::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "supported-streaming-protocols", 0, UINT32_MAX, Attributes::SupportedStreamingProtocols::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -25932,11 +27929,11 @@ void registerClusterChannel(Commands & commands, CredentialIssuerCommands * cred make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), // - make_unique(Id, "lineup", Attributes::Lineup::Id, credsIssuerConfig), // - make_unique(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "accept-header", Attributes::AcceptHeader::Id, credsIssuerConfig), // + make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25952,24 +27949,25 @@ void registerClusterChannel(Commands & commands, CredentialIssuerCommands * cred commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::TargetNavigator; + using namespace chip::app::Clusters::AudioOutput; - const char * clusterName = "TargetNavigator"; + const char * clusterName = "AudioOutput"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "target-list", Attributes::TargetList::Id, credsIssuerConfig), // - make_unique(Id, "current-target", Attributes::CurrentTarget::Id, credsIssuerConfig), // + make_unique(Id, "output-list", Attributes::OutputList::Id, credsIssuerConfig), // + make_unique(Id, "current-output", Attributes::CurrentOutput::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -25978,9 +27976,9 @@ void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommand make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // make_unique>(Id, credsIssuerConfig), // make_unique>>( - Id, "target-list", Attributes::TargetList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "current-target", 0, UINT8_MAX, Attributes::CurrentTarget::Id, + chip::app::DataModel::List>>( + Id, "output-list", Attributes::OutputList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "current-output", 0, UINT8_MAX, Attributes::CurrentOutput::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, @@ -25996,8 +27994,8 @@ void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommand make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "target-list", Attributes::TargetList::Id, credsIssuerConfig), // - make_unique(Id, "current-target", Attributes::CurrentTarget::Id, credsIssuerConfig), // + make_unique(Id, "output-list", Attributes::OutputList::Id, credsIssuerConfig), // + make_unique(Id, "current-output", Attributes::CurrentOutput::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26007,54 +28005,32 @@ void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommand // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "target-updated", Events::TargetUpdated::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "target-updated", Events::TargetUpdated::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::MediaPlayback; + using namespace chip::app::Clusters::ApplicationLauncher; - const char * clusterName = "MediaPlayback"; + const char * clusterName = "ApplicationLauncher"; 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(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-state", Attributes::CurrentState::Id, credsIssuerConfig), // - make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // - make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // - make_unique(Id, "sampled-position", Attributes::SampledPosition::Id, credsIssuerConfig), // - make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // - make_unique(Id, "active-audio-track", Attributes::ActiveAudioTrack::Id, credsIssuerConfig), // - make_unique(Id, "available-audio-tracks", Attributes::AvailableAudioTracks::Id, credsIssuerConfig), // - make_unique(Id, "active-text-track", Attributes::ActiveTextTrack::Id, credsIssuerConfig), // - make_unique(Id, "available-text-tracks", Attributes::AvailableTextTracks::Id, credsIssuerConfig), // + make_unique(Id, "catalog-list", Attributes::CatalogList::Id, credsIssuerConfig), // + make_unique(Id, "current-app", Attributes::CurrentApp::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26062,36 +28038,88 @@ void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // make_unique>(Id, credsIssuerConfig), // - make_unique>( - Id, "current-state", 0, UINT8_MAX, Attributes::CurrentState::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "start-time", 0, UINT64_MAX, Attributes::StartTime::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "duration", 0, UINT64_MAX, Attributes::Duration::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "sampled-position", Attributes::SampledPosition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "playback-speed", -std::numeric_limits::infinity(), - std::numeric_limits::infinity(), Attributes::PlaybackSpeed::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "seek-range-end", 0, UINT64_MAX, Attributes::SeekRangeEnd::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>(Id, "seek-range-start", 0, UINT64_MAX, - Attributes::SeekRangeStart::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "catalog-list", Attributes::CatalogList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( - Id, "active-audio-track", Attributes::ActiveAudioTrack::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>>( - Id, "available-audio-tracks", Attributes::AvailableAudioTracks::Id, WriteCommandType::kForceWrite, + chip::app::DataModel::Nullable>>( + Id, "current-app", Attributes::CurrentApp::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "active-text-track", Attributes::ActiveTextTrack::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>>( - Id, "available-text-tracks", Attributes::AvailableTextTracks::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "catalog-list", Attributes::CatalogList::Id, credsIssuerConfig), // + make_unique(Id, "current-app", Attributes::CurrentApp::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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.RegisterCluster(clusterName, clusterCommands); +} +void registerClusterApplicationBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +{ + using namespace chip::app::Clusters::ApplicationBasic; + + const char * clusterName = "ApplicationBasic"; + + commands_list clusterCommands = { + // + // Commands + // + make_unique(Id, credsIssuerConfig), // + // + // Attributes + // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // + make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // + make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // + make_unique(Id, "application", Attributes::Application::Id, credsIssuerConfig), // + make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // + make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // + make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "vendor-id", 0, UINT16_MAX, Attributes::VendorID::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "application-name", Attributes::ApplicationName::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "product-id", 0, UINT16_MAX, Attributes::ProductID::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "application", Attributes::Application::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "status", 0, UINT8_MAX, Attributes::Status::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "application-version", Attributes::ApplicationVersion::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26106,17 +28134,14 @@ void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "current-state", Attributes::CurrentState::Id, credsIssuerConfig), // - make_unique(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), // - make_unique(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), // - make_unique(Id, "sampled-position", Attributes::SampledPosition::Id, credsIssuerConfig), // - make_unique(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), // - make_unique(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), // - make_unique(Id, "active-audio-track", Attributes::ActiveAudioTrack::Id, credsIssuerConfig), // - make_unique(Id, "available-audio-tracks", Attributes::AvailableAudioTracks::Id, credsIssuerConfig), // - make_unique(Id, "active-text-track", Attributes::ActiveTextTrack::Id, credsIssuerConfig), // - make_unique(Id, "available-text-tracks", Attributes::AvailableTextTracks::Id, credsIssuerConfig), // + make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // + make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // + make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // + make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // + make_unique(Id, "application", Attributes::Application::Id, credsIssuerConfig), // + make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // + make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // + make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26126,35 +28151,30 @@ void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterAccountLogin(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::MediaInput; + using namespace chip::app::Clusters::AccountLogin; - const char * clusterName = "MediaInput"; + const char * clusterName = "AccountLogin"; commands_list clusterCommands = { // // Commands // - make_unique(Id, 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), // // // Attributes // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "input-list", Attributes::InputList::Id, credsIssuerConfig), // - make_unique(Id, "current-input", Attributes::CurrentInput::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26162,11 +28182,6 @@ void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * c 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, "input-list", Attributes::InputList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "current-input", 0, UINT8_MAX, Attributes::CurrentInput::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26181,8 +28196,6 @@ void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * c make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "input-list", Attributes::InputList::Id, credsIssuerConfig), // - make_unique(Id, "current-input", Attributes::CurrentInput::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26192,28 +28205,48 @@ void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * c // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "logged-out", Events::LoggedOut::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "logged-out", Events::LoggedOut::Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterContentControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::LowPower; + using namespace chip::app::Clusters::ContentControl; - const char * clusterName = "LowPower"; + const char * clusterName = "ContentControl"; 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), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "enabled", Attributes::Enabled::Id, credsIssuerConfig), // + make_unique(Id, "on-demand-ratings", Attributes::OnDemandRatings::Id, credsIssuerConfig), // + make_unique(Id, "on-demand-rating-threshold", Attributes::OnDemandRatingThreshold::Id, credsIssuerConfig), // + make_unique(Id, "scheduled-content-ratings", Attributes::ScheduledContentRatings::Id, credsIssuerConfig), // + make_unique(Id, "scheduled-content-rating-threshold", Attributes::ScheduledContentRatingThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "screen-daily-time", Attributes::ScreenDailyTime::Id, credsIssuerConfig), // + make_unique(Id, "remaining-screen-time", Attributes::RemainingScreenTime::Id, credsIssuerConfig), // + make_unique(Id, "block-unrated", Attributes::BlockUnrated::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26221,6 +28254,26 @@ void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * cre 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, "enabled", 0, 1, Attributes::Enabled::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "on-demand-ratings", Attributes::OnDemandRatings::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "on-demand-rating-threshold", Attributes::OnDemandRatingThreshold::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "scheduled-content-ratings", Attributes::ScheduledContentRatings::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "scheduled-content-rating-threshold", + Attributes::ScheduledContentRatingThreshold::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "screen-daily-time", 0, UINT32_MAX, Attributes::ScreenDailyTime::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "remaining-screen-time", 0, UINT32_MAX, Attributes::RemainingScreenTime::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "block-unrated", 0, 1, Attributes::BlockUnrated::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26233,8 +28286,19 @@ void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * cre make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "enabled", Attributes::Enabled::Id, credsIssuerConfig), // + make_unique(Id, "on-demand-ratings", Attributes::OnDemandRatings::Id, credsIssuerConfig), // + make_unique(Id, "on-demand-rating-threshold", Attributes::OnDemandRatingThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "scheduled-content-ratings", Attributes::ScheduledContentRatings::Id, + credsIssuerConfig), // + make_unique(Id, "scheduled-content-rating-threshold", Attributes::ScheduledContentRatingThreshold::Id, + credsIssuerConfig), // + make_unique(Id, "screen-daily-time", Attributes::ScreenDailyTime::Id, credsIssuerConfig), // + make_unique(Id, "remaining-screen-time", Attributes::RemainingScreenTime::Id, credsIssuerConfig), // + make_unique(Id, "block-unrated", Attributes::BlockUnrated::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26244,24 +28308,27 @@ void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * cre // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "remaining-screen-time-expired", Events::RemainingScreenTimeExpired::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "remaining-screen-time-expired", Events::RemainingScreenTimeExpired::Id, + credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterKeypadInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterContentAppObserver(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::KeypadInput; + using namespace chip::app::Clusters::ContentAppObserver; - const char * clusterName = "KeypadInput"; + const char * clusterName = "ContentAppObserver"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // @@ -26302,38 +28369,225 @@ void registerClusterKeypadInput(Commands & commands, CredentialIssuerCommands * commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterContentLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterCameraAvStreamManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ContentLauncher; + using namespace chip::app::Clusters::CameraAvStreamManagement; - const char * clusterName = "ContentLauncher"; + const char * clusterName = "CameraAvStreamManagement"; commands_list clusterCommands = { // // Commands // - make_unique(Id, 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), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "accept-header", Attributes::AcceptHeader::Id, credsIssuerConfig), // - make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, "accept-header", Attributes::AcceptHeader::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "supported-streaming-protocols", 0, UINT32_MAX, Attributes::SupportedStreamingProtocols::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-concurrent-video-encoders", Attributes::MaxConcurrentVideoEncoders::Id, + credsIssuerConfig), // + make_unique(Id, "max-encoded-pixel-rate", Attributes::MaxEncodedPixelRate::Id, credsIssuerConfig), // + make_unique(Id, "video-sensor-params", Attributes::VideoSensorParams::Id, credsIssuerConfig), // + make_unique(Id, "night-vision-capable", Attributes::NightVisionCapable::Id, credsIssuerConfig), // + make_unique(Id, "min-view-port-width", Attributes::MinViewPortWidth::Id, credsIssuerConfig), // + make_unique(Id, "min-view-port-height", Attributes::MinViewPortHeight::Id, credsIssuerConfig), // + make_unique(Id, "rate-distortion-trade-off-points", Attributes::RateDistortionTradeOffPoints::Id, + credsIssuerConfig), // + make_unique(Id, "max-pre-roll-buffer-size", Attributes::MaxPreRollBufferSize::Id, credsIssuerConfig), // + make_unique(Id, "microphone-capabilities", Attributes::MicrophoneCapabilities::Id, credsIssuerConfig), // + make_unique(Id, "speaker-capabilities", Attributes::SpeakerCapabilities::Id, credsIssuerConfig), // + make_unique(Id, "two-way-talk-support", Attributes::TwoWayTalkSupport::Id, credsIssuerConfig), // + make_unique(Id, "supported-snapshot-params", Attributes::SupportedSnapshotParams::Id, credsIssuerConfig), // + make_unique(Id, "hdrcapable", Attributes::HDRCapable::Id, credsIssuerConfig), // + make_unique(Id, "max-network-bandwidth", Attributes::MaxNetworkBandwidth::Id, credsIssuerConfig), // + make_unique(Id, "current-frame-rate", Attributes::CurrentFrameRate::Id, credsIssuerConfig), // + make_unique(Id, "hdrmode", Attributes::HDRMode::Id, credsIssuerConfig), // + make_unique(Id, "current-video-codecs", Attributes::CurrentVideoCodecs::Id, credsIssuerConfig), // + make_unique(Id, "current-snapshot-config", Attributes::CurrentSnapshotConfig::Id, credsIssuerConfig), // + make_unique(Id, "fabrics-using-camera", Attributes::FabricsUsingCamera::Id, credsIssuerConfig), // + make_unique(Id, "allocated-video-streams", Attributes::AllocatedVideoStreams::Id, credsIssuerConfig), // + make_unique(Id, "allocated-audio-streams", Attributes::AllocatedAudioStreams::Id, credsIssuerConfig), // + make_unique(Id, "allocated-snapshot-streams", Attributes::AllocatedSnapshotStreams::Id, + credsIssuerConfig), // + make_unique(Id, "ranked-video-stream-priorities-list", Attributes::RankedVideoStreamPrioritiesList::Id, + credsIssuerConfig), // + make_unique(Id, "soft-recording-privacy-mode-setting", Attributes::SoftRecordingPrivacyModeSetting::Id, + credsIssuerConfig), // + make_unique(Id, "soft-livestream-privacy-mode-setting", Attributes::SoftLivestreamPrivacyModeSetting::Id, + credsIssuerConfig), // + make_unique(Id, "hard-privacy-mode", Attributes::HardPrivacyMode::Id, credsIssuerConfig), // + make_unique(Id, "night-vision", Attributes::NightVision::Id, credsIssuerConfig), // + make_unique(Id, "night-vision-illum", Attributes::NightVisionIllum::Id, credsIssuerConfig), // + make_unique(Id, "awb", Attributes::Awb::Id, credsIssuerConfig), // + make_unique(Id, "shutter-speed", Attributes::ShutterSpeed::Id, credsIssuerConfig), // + make_unique(Id, "iso", Attributes::Iso::Id, credsIssuerConfig), // + make_unique(Id, "viewport", Attributes::Viewport::Id, credsIssuerConfig), // + make_unique(Id, "spkr-on-off", Attributes::SpkrOnOff::Id, credsIssuerConfig), // + make_unique(Id, "spkr-volume-level", Attributes::SpkrVolumeLevel::Id, credsIssuerConfig), // + make_unique(Id, "spkr-max-level", Attributes::SpkrMaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "spkr-min-level", Attributes::SpkrMinLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-on-off", Attributes::MicOnOff::Id, credsIssuerConfig), // + make_unique(Id, "mic-current-level", Attributes::MicCurrentLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-max-level", Attributes::MicMaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-min-level", Attributes::MicMinLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-agc", Attributes::MicAGC::Id, credsIssuerConfig), // + make_unique(Id, "image-rotation", Attributes::ImageRotation::Id, credsIssuerConfig), // + make_unique(Id, "image-flip-horizontal", Attributes::ImageFlipHorizontal::Id, credsIssuerConfig), // + make_unique(Id, "image-flip-vertical", Attributes::ImageFlipVertical::Id, credsIssuerConfig), // + make_unique(Id, "local-video-recording-enabled", Attributes::LocalVideoRecordingEnabled::Id, + credsIssuerConfig), // + make_unique(Id, "local-snapshot-recording-enabled", Attributes::LocalSnapshotRecordingEnabled::Id, + credsIssuerConfig), // + make_unique(Id, "status-light", Attributes::StatusLight::Id, credsIssuerConfig), // + make_unique(Id, "status-light-brightness", Attributes::StatusLightBrightness::Id, credsIssuerConfig), // + make_unique(Id, "depth-sensor-status", Attributes::DepthSensorStatus::Id, credsIssuerConfig), // + make_unique(Id, "watermark-enabled", Attributes::WatermarkEnabled::Id, credsIssuerConfig), // + make_unique(Id, "osdenabled", Attributes::OSDEnabled::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "max-concurrent-video-encoders", 0, UINT8_MAX, + Attributes::MaxConcurrentVideoEncoders::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "max-encoded-pixel-rate", 0, UINT32_MAX, Attributes::MaxEncodedPixelRate::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "video-sensor-params", Attributes::VideoSensorParams::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "night-vision-capable", 0, 1, Attributes::NightVisionCapable::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "min-view-port-width", Attributes::MinViewPortWidth::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "min-view-port-height", Attributes::MinViewPortHeight::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "rate-distortion-trade-off-points", Attributes::RateDistortionTradeOffPoints::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "max-pre-roll-buffer-size", 0, UINT32_MAX, Attributes::MaxPreRollBufferSize::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "microphone-capabilities", Attributes::MicrophoneCapabilities::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>( + Id, "speaker-capabilities", Attributes::SpeakerCapabilities::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "two-way-talk-support", 0, UINT8_MAX, Attributes::TwoWayTalkSupport::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "supported-snapshot-params", Attributes::SupportedSnapshotParams::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "hdrcapable", 0, 1, Attributes::HDRCapable::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "max-network-bandwidth", 0, UINT32_MAX, Attributes::MaxNetworkBandwidth::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "current-frame-rate", 0, UINT16_MAX, Attributes::CurrentFrameRate::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "hdrmode", 0, 1, Attributes::HDRMode::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>>( + Id, "current-video-codecs", Attributes::CurrentVideoCodecs::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "current-snapshot-config", Attributes::CurrentSnapshotConfig::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "fabrics-using-camera", Attributes::FabricsUsingCamera::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "allocated-video-streams", Attributes::AllocatedVideoStreams::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "allocated-audio-streams", Attributes::AllocatedAudioStreams::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "allocated-snapshot-streams", Attributes::AllocatedSnapshotStreams::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>>( + Id, "ranked-video-stream-priorities-list", Attributes::RankedVideoStreamPrioritiesList::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "soft-recording-privacy-mode-setting", 0, 1, + Attributes::SoftRecordingPrivacyModeSetting::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "soft-livestream-privacy-mode-setting", 0, 1, + Attributes::SoftLivestreamPrivacyModeSetting::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "hard-privacy-mode", 0, 1, Attributes::HardPrivacyMode::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>( + Id, "night-vision", 0, UINT8_MAX, Attributes::NightVision::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>( + Id, "night-vision-illum", 0, UINT8_MAX, Attributes::NightVisionIllum::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "awb", 0, 1, Attributes::Awb::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "shutter-speed", 0, 1, Attributes::ShutterSpeed::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "iso", 0, 1, Attributes::Iso::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>( + Id, "viewport", Attributes::Viewport::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "spkr-on-off", 0, 1, Attributes::SpkrOnOff::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "spkr-volume-level", 0, UINT8_MAX, Attributes::SpkrVolumeLevel::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "spkr-max-level", 0, UINT8_MAX, Attributes::SpkrMaxLevel::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "spkr-min-level", 0, UINT8_MAX, Attributes::SpkrMinLevel::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "mic-on-off", 0, 1, Attributes::MicOnOff::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "mic-current-level", 0, UINT8_MAX, Attributes::MicCurrentLevel::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "mic-max-level", 0, UINT8_MAX, Attributes::MicMaxLevel::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "mic-min-level", 0, UINT8_MAX, Attributes::MicMinLevel::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "mic-agc", 0, 1, Attributes::MicAGC::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "image-rotation", 0, UINT16_MAX, Attributes::ImageRotation::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "image-flip-horizontal", 0, 1, Attributes::ImageFlipHorizontal::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "image-flip-vertical", 0, 1, Attributes::ImageFlipVertical::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "local-video-recording-enabled", 0, 1, Attributes::LocalVideoRecordingEnabled::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "local-snapshot-recording-enabled", 0, 1, + Attributes::LocalSnapshotRecordingEnabled::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>(Id, "status-light", 0, 1, Attributes::StatusLight::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>( + Id, "status-light-brightness", 0, UINT8_MAX, Attributes::StatusLightBrightness::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>( + Id, "depth-sensor-status", 0, UINT8_MAX, Attributes::DepthSensorStatus::Id, WriteCommandType::kWrite, + credsIssuerConfig), // + make_unique>>( + Id, "watermark-enabled", Attributes::WatermarkEnabled::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "osdenabled", Attributes::OSDEnabled::Id, WriteCommandType::kWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26346,45 +28600,115 @@ void registerClusterContentLauncher(Commands & commands, CredentialIssuerCommand make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "accept-header", Attributes::AcceptHeader::Id, credsIssuerConfig), // - make_unique(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "max-concurrent-video-encoders", Attributes::MaxConcurrentVideoEncoders::Id, + credsIssuerConfig), // + make_unique(Id, "max-encoded-pixel-rate", Attributes::MaxEncodedPixelRate::Id, credsIssuerConfig), // + make_unique(Id, "video-sensor-params", Attributes::VideoSensorParams::Id, credsIssuerConfig), // + make_unique(Id, "night-vision-capable", Attributes::NightVisionCapable::Id, credsIssuerConfig), // + make_unique(Id, "min-view-port-width", Attributes::MinViewPortWidth::Id, credsIssuerConfig), // + make_unique(Id, "min-view-port-height", Attributes::MinViewPortHeight::Id, credsIssuerConfig), // + make_unique(Id, "rate-distortion-trade-off-points", Attributes::RateDistortionTradeOffPoints::Id, + credsIssuerConfig), // + make_unique(Id, "max-pre-roll-buffer-size", Attributes::MaxPreRollBufferSize::Id, credsIssuerConfig), // + make_unique(Id, "microphone-capabilities", Attributes::MicrophoneCapabilities::Id, + credsIssuerConfig), // + make_unique(Id, "speaker-capabilities", Attributes::SpeakerCapabilities::Id, credsIssuerConfig), // + make_unique(Id, "two-way-talk-support", Attributes::TwoWayTalkSupport::Id, credsIssuerConfig), // + make_unique(Id, "supported-snapshot-params", Attributes::SupportedSnapshotParams::Id, + credsIssuerConfig), // + make_unique(Id, "hdrcapable", Attributes::HDRCapable::Id, credsIssuerConfig), // + make_unique(Id, "max-network-bandwidth", Attributes::MaxNetworkBandwidth::Id, credsIssuerConfig), // + make_unique(Id, "current-frame-rate", Attributes::CurrentFrameRate::Id, credsIssuerConfig), // + make_unique(Id, "hdrmode", Attributes::HDRMode::Id, credsIssuerConfig), // + make_unique(Id, "current-video-codecs", Attributes::CurrentVideoCodecs::Id, credsIssuerConfig), // + make_unique(Id, "current-snapshot-config", Attributes::CurrentSnapshotConfig::Id, credsIssuerConfig), // + make_unique(Id, "fabrics-using-camera", Attributes::FabricsUsingCamera::Id, credsIssuerConfig), // + make_unique(Id, "allocated-video-streams", Attributes::AllocatedVideoStreams::Id, credsIssuerConfig), // + make_unique(Id, "allocated-audio-streams", Attributes::AllocatedAudioStreams::Id, credsIssuerConfig), // + make_unique(Id, "allocated-snapshot-streams", Attributes::AllocatedSnapshotStreams::Id, + credsIssuerConfig), // + make_unique(Id, "ranked-video-stream-priorities-list", Attributes::RankedVideoStreamPrioritiesList::Id, + credsIssuerConfig), // + make_unique(Id, "soft-recording-privacy-mode-setting", Attributes::SoftRecordingPrivacyModeSetting::Id, + credsIssuerConfig), // + make_unique(Id, "soft-livestream-privacy-mode-setting", + Attributes::SoftLivestreamPrivacyModeSetting::Id, credsIssuerConfig), // + make_unique(Id, "hard-privacy-mode", Attributes::HardPrivacyMode::Id, credsIssuerConfig), // + make_unique(Id, "night-vision", Attributes::NightVision::Id, credsIssuerConfig), // + make_unique(Id, "night-vision-illum", Attributes::NightVisionIllum::Id, credsIssuerConfig), // + make_unique(Id, "awb", Attributes::Awb::Id, credsIssuerConfig), // + make_unique(Id, "shutter-speed", Attributes::ShutterSpeed::Id, credsIssuerConfig), // + make_unique(Id, "iso", Attributes::Iso::Id, credsIssuerConfig), // + make_unique(Id, "viewport", Attributes::Viewport::Id, credsIssuerConfig), // + make_unique(Id, "spkr-on-off", Attributes::SpkrOnOff::Id, credsIssuerConfig), // + make_unique(Id, "spkr-volume-level", Attributes::SpkrVolumeLevel::Id, credsIssuerConfig), // + make_unique(Id, "spkr-max-level", Attributes::SpkrMaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "spkr-min-level", Attributes::SpkrMinLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-on-off", Attributes::MicOnOff::Id, credsIssuerConfig), // + make_unique(Id, "mic-current-level", Attributes::MicCurrentLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-max-level", Attributes::MicMaxLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-min-level", Attributes::MicMinLevel::Id, credsIssuerConfig), // + make_unique(Id, "mic-agc", Attributes::MicAGC::Id, credsIssuerConfig), // + make_unique(Id, "image-rotation", Attributes::ImageRotation::Id, credsIssuerConfig), // + make_unique(Id, "image-flip-horizontal", Attributes::ImageFlipHorizontal::Id, credsIssuerConfig), // + make_unique(Id, "image-flip-vertical", Attributes::ImageFlipVertical::Id, credsIssuerConfig), // + make_unique(Id, "local-video-recording-enabled", Attributes::LocalVideoRecordingEnabled::Id, + credsIssuerConfig), // + make_unique(Id, "local-snapshot-recording-enabled", Attributes::LocalSnapshotRecordingEnabled::Id, + credsIssuerConfig), // + make_unique(Id, "status-light", Attributes::StatusLight::Id, credsIssuerConfig), // + make_unique(Id, "status-light-brightness", Attributes::StatusLightBrightness::Id, credsIssuerConfig), // + make_unique(Id, "depth-sensor-status", Attributes::DepthSensorStatus::Id, credsIssuerConfig), // + make_unique(Id, "watermark-enabled", Attributes::WatermarkEnabled::Id, credsIssuerConfig), // + make_unique(Id, "osdenabled", Attributes::OSDEnabled::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "video-stream-changed", Events::VideoStreamChanged::Id, credsIssuerConfig), // + make_unique(Id, "audio-stream-changed", Events::AudioStreamChanged::Id, credsIssuerConfig), // + make_unique(Id, "snapshot-stream-changed", Events::SnapshotStreamChanged::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "video-stream-changed", Events::VideoStreamChanged::Id, credsIssuerConfig), // + make_unique(Id, "audio-stream-changed", Events::AudioStreamChanged::Id, credsIssuerConfig), // + make_unique(Id, "snapshot-stream-changed", Events::SnapshotStreamChanged::Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterCameraAvSettingsUserLevelManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::AudioOutput; + using namespace chip::app::Clusters::CameraAvSettingsUserLevelManagement; - const char * clusterName = "AudioOutput"; + const char * clusterName = "CameraAvSettingsUserLevelManagement"; commands_list clusterCommands = { // // Commands // - make_unique(Id, 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), // // // Attributes // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "output-list", Attributes::OutputList::Id, credsIssuerConfig), // - make_unique(Id, "current-output", Attributes::CurrentOutput::Id, credsIssuerConfig), // + make_unique(Id, "mptz", Attributes::Mptz::Id, credsIssuerConfig), // + make_unique(Id, "max-presets", Attributes::MaxPresets::Id, credsIssuerConfig), // + make_unique(Id, "preset-mptz-table", Attributes::PresetMptzTable::Id, credsIssuerConfig), // + make_unique(Id, "mptz-relative-move", Attributes::MptzRelativeMove::Id, credsIssuerConfig), // + make_unique(Id, "dptz-relative-move", Attributes::DptzRelativeMove::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26392,11 +28716,18 @@ void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // make_unique>(Id, credsIssuerConfig), // - make_unique>>( - Id, "output-list", Attributes::OutputList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "current-output", 0, UINT8_MAX, Attributes::CurrentOutput::Id, + make_unique>( + Id, "mptz", Attributes::Mptz::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "max-presets", 0, UINT8_MAX, Attributes::MaxPresets::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "preset-mptz-table", Attributes::PresetMptzTable::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>(Id, "mptz-relative-move", 0, 1, Attributes::MptzRelativeMove::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "dptz-relative-move", Attributes::DptzRelativeMove::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26411,8 +28742,11 @@ void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "output-list", Attributes::OutputList::Id, credsIssuerConfig), // - make_unique(Id, "current-output", Attributes::CurrentOutput::Id, credsIssuerConfig), // + make_unique(Id, "mptz", Attributes::Mptz::Id, credsIssuerConfig), // + make_unique(Id, "max-presets", Attributes::MaxPresets::Id, credsIssuerConfig), // + make_unique(Id, "preset-mptz-table", Attributes::PresetMptzTable::Id, credsIssuerConfig), // + make_unique(Id, "mptz-relative-move", Attributes::MptzRelativeMove::Id, credsIssuerConfig), // + make_unique(Id, "dptz-relative-move", Attributes::DptzRelativeMove::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26428,26 +28762,27 @@ void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterWebRTCTransportProvider(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ApplicationLauncher; + using namespace chip::app::Clusters::WebRTCTransportProvider; - const char * clusterName = "ApplicationLauncher"; + const char * clusterName = "WebRTCTransportProvider"; commands_list clusterCommands = { // // Commands // - make_unique(Id, 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), // // // Attributes // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "catalog-list", Attributes::CatalogList::Id, credsIssuerConfig), // - make_unique(Id, "current-app", Attributes::CurrentApp::Id, credsIssuerConfig), // + make_unique(Id, "current-sessions", Attributes::CurrentSessions::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26455,11 +28790,9 @@ void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCom 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, "catalog-list", Attributes::CatalogList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( - Id, "current-app", Attributes::CurrentApp::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + chip::app::DataModel::List>>( + Id, "current-sessions", Attributes::CurrentSessions::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26474,8 +28807,7 @@ void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCom make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "catalog-list", Attributes::CatalogList::Id, credsIssuerConfig), // - make_unique(Id, "current-app", Attributes::CurrentApp::Id, credsIssuerConfig), // + make_unique(Id, "current-sessions", Attributes::CurrentSessions::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26491,29 +28823,26 @@ void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCom commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterApplicationBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterWebRTCTransportRequestor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ApplicationBasic; + using namespace chip::app::Clusters::WebRTCTransportRequestor; - const char * clusterName = "ApplicationBasic"; + const char * clusterName = "WebRTCTransportRequestor"; 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, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // - make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // - make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // - make_unique(Id, "application", Attributes::Application::Id, credsIssuerConfig), // - make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // - make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // - make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), // + make_unique(Id, "current-sessions", Attributes::CurrentSessions::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26521,22 +28850,9 @@ void registerClusterApplicationBasic(Commands & commands, CredentialIssuerComman 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, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>(Id, "vendor-id", 0, UINT16_MAX, Attributes::VendorID::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "application-name", Attributes::ApplicationName::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "product-id", 0, UINT16_MAX, Attributes::ProductID::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( - Id, "application", Attributes::Application::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>( - Id, "status", 0, UINT8_MAX, Attributes::Status::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "application-version", Attributes::ApplicationVersion::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "current-sessions", Attributes::CurrentSessions::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26551,14 +28867,7 @@ void registerClusterApplicationBasic(Commands & commands, CredentialIssuerComman make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // - make_unique(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), // - make_unique(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), // - make_unique(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), // - make_unique(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), // - make_unique(Id, "application", Attributes::Application::Id, credsIssuerConfig), // - make_unique(Id, "status", Attributes::Status::Id, credsIssuerConfig), // - make_unique(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), // - make_unique(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), // + make_unique(Id, "current-sessions", Attributes::CurrentSessions::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26574,123 +28883,48 @@ void registerClusterApplicationBasic(Commands & commands, CredentialIssuerComman commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterAccountLogin(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) -{ - using namespace chip::app::Clusters::AccountLogin; - - const char * clusterName = "AccountLogin"; - - commands_list clusterCommands = { - // - // Commands - // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - // - // Attributes - // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "event-list", Attributes::EventList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "attribute-list", Attributes::AttributeList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, 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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, "logged-out", Events::LoggedOut::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "logged-out", Events::LoggedOut::Id, credsIssuerConfig), // - }; - - commands.RegisterCluster(clusterName, clusterCommands); -} -void registerClusterContentControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterPushAvStreamTransport(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ContentControl; + using namespace chip::app::Clusters::PushAvStreamTransport; - const char * clusterName = "ContentControl"; + const char * clusterName = "PushAvStreamTransport"; 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(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, "enabled", Attributes::Enabled::Id, credsIssuerConfig), // - make_unique(Id, "on-demand-ratings", Attributes::OnDemandRatings::Id, credsIssuerConfig), // - make_unique(Id, "on-demand-rating-threshold", Attributes::OnDemandRatingThreshold::Id, credsIssuerConfig), // - make_unique(Id, "scheduled-content-ratings", Attributes::ScheduledContentRatings::Id, credsIssuerConfig), // - make_unique(Id, "scheduled-content-rating-threshold", Attributes::ScheduledContentRatingThreshold::Id, - credsIssuerConfig), // - make_unique(Id, "screen-daily-time", Attributes::ScreenDailyTime::Id, credsIssuerConfig), // - make_unique(Id, "remaining-screen-time", Attributes::RemainingScreenTime::Id, credsIssuerConfig), // - make_unique(Id, "block-unrated", Attributes::BlockUnrated::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "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, "enabled", 0, 1, Attributes::Enabled::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>>( - Id, "on-demand-ratings", Attributes::OnDemandRatings::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "on-demand-rating-threshold", Attributes::OnDemandRatingThreshold::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>>( - Id, "scheduled-content-ratings", Attributes::ScheduledContentRatings::Id, WriteCommandType::kForceWrite, + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "supported-container-formats", Attributes::SupportedContainerFormats::Id, + credsIssuerConfig), // + make_unique(Id, "supported-ingest-methods", Attributes::SupportedIngestMethods::Id, credsIssuerConfig), // + make_unique(Id, "current-connections", Attributes::CurrentConnections::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "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, "supported-container-formats", 0, UINT8_MAX, Attributes::SupportedContainerFormats::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique>>( + Id, "supported-ingest-methods", 0, UINT8_MAX, Attributes::SupportedIngestMethods::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "scheduled-content-rating-threshold", - Attributes::ScheduledContentRatingThreshold::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // - make_unique>(Id, "screen-daily-time", 0, UINT32_MAX, Attributes::ScreenDailyTime::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "remaining-screen-time", 0, UINT32_MAX, Attributes::RemainingScreenTime::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique>(Id, "block-unrated", 0, 1, Attributes::BlockUnrated::Id, WriteCommandType::kForceWrite, - credsIssuerConfig), // + make_unique>>( + Id, "current-connections", Attributes::CurrentConnections::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26703,19 +28937,13 @@ void registerClusterContentControl(Commands & commands, CredentialIssuerCommands make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "enabled", Attributes::Enabled::Id, credsIssuerConfig), // - make_unique(Id, "on-demand-ratings", Attributes::OnDemandRatings::Id, credsIssuerConfig), // - make_unique(Id, "on-demand-rating-threshold", Attributes::OnDemandRatingThreshold::Id, - credsIssuerConfig), // - make_unique(Id, "scheduled-content-ratings", Attributes::ScheduledContentRatings::Id, + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "supported-container-formats", Attributes::SupportedContainerFormats::Id, credsIssuerConfig), // - make_unique(Id, "scheduled-content-rating-threshold", Attributes::ScheduledContentRatingThreshold::Id, + make_unique(Id, "supported-ingest-methods", Attributes::SupportedIngestMethods::Id, credsIssuerConfig), // - make_unique(Id, "screen-daily-time", Attributes::ScreenDailyTime::Id, credsIssuerConfig), // - make_unique(Id, "remaining-screen-time", Attributes::RemainingScreenTime::Id, credsIssuerConfig), // - make_unique(Id, "block-unrated", Attributes::BlockUnrated::Id, credsIssuerConfig), // + make_unique(Id, "current-connections", Attributes::CurrentConnections::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26725,31 +28953,35 @@ void registerClusterContentControl(Commands & commands, CredentialIssuerCommands // // Events // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "remaining-screen-time-expired", Events::RemainingScreenTimeExpired::Id, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "remaining-screen-time-expired", Events::RemainingScreenTimeExpired::Id, - credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "push-transport-begin", Events::PushTransportBegin::Id, credsIssuerConfig), // + make_unique(Id, "push-transport-end", Events::PushTransportEnd::Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "push-transport-begin", Events::PushTransportBegin::Id, credsIssuerConfig), // + make_unique(Id, "push-transport-end", Events::PushTransportEnd::Id, credsIssuerConfig), // }; commands.RegisterCluster(clusterName, clusterCommands); } -void registerClusterContentAppObserver(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) +void registerClusterChime(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) { - using namespace chip::app::Clusters::ContentAppObserver; + using namespace chip::app::Clusters::Chime; - const char * clusterName = "ContentAppObserver"; + const char * clusterName = "Chime"; commands_list clusterCommands = { // // Commands // - make_unique(Id, credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // make_unique(Id, credsIssuerConfig), // + make_unique(Id, "installed-chime-sounds", Attributes::InstalledChimeSounds::Id, credsIssuerConfig), // + make_unique(Id, "active-chime-sound-id", Attributes::ActiveChimeSoundId::Id, credsIssuerConfig), // + make_unique(Id, "enabled", Attributes::Enabled::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -26757,6 +28989,14 @@ void registerClusterContentAppObserver(Commands & commands, CredentialIssuerComm 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, "installed-chime-sounds", Attributes::InstalledChimeSounds::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // + make_unique>(Id, "active-chime-sound-id", 0, UINT8_MAX, Attributes::ActiveChimeSoundId::Id, + WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>(Id, "enabled", 0, 1, Attributes::Enabled::Id, WriteCommandType::kWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -26771,6 +29011,9 @@ void registerClusterContentAppObserver(Commands & commands, CredentialIssuerComm make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique(Id, credsIssuerConfig), // + make_unique(Id, "installed-chime-sounds", Attributes::InstalledChimeSounds::Id, credsIssuerConfig), // + make_unique(Id, "active-chime-sound-id", Attributes::ActiveChimeSoundId::Id, credsIssuerConfig), // + make_unique(Id, "enabled", Attributes::Enabled::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, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -28347,6 +30590,12 @@ void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssue registerClusterAccountLogin(commands, credsIssuerConfig); registerClusterContentControl(commands, credsIssuerConfig); registerClusterContentAppObserver(commands, credsIssuerConfig); + registerClusterCameraAvStreamManagement(commands, credsIssuerConfig); + registerClusterCameraAvSettingsUserLevelManagement(commands, credsIssuerConfig); + registerClusterWebRTCTransportProvider(commands, credsIssuerConfig); + registerClusterWebRTCTransportRequestor(commands, credsIssuerConfig); + registerClusterPushAvStreamTransport(commands, credsIssuerConfig); + registerClusterChime(commands, credsIssuerConfig); registerClusterEcosystemInformation(commands, credsIssuerConfig); registerClusterCommissionerControl(commands, credsIssuerConfig); registerClusterElectricalMeasurement(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 9a1062c23b40a0..75efabe56df1db 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp @@ -430,6 +430,53 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::detail::Structs::Error ComplexArgumentParser::Finalize(request.errorStateDetails); } +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::detail::Structs::ICEServerStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ICEServerStruct.urls", "urls", value.isMember("urls"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "urls"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.urls, value["urls"])); + valueCopy.removeMember("urls"); + + if (value.isMember("username")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "username"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.username, value["username"])); + } + valueCopy.removeMember("username"); + + if (value.isMember("credential")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "credential"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.credential, value["credential"])); + } + valueCopy.removeMember("credential"); + + if (value.isMember("caid")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "caid"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.caid, value["caid"])); + } + valueCopy.removeMember("caid"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::detail::Structs::ICEServerStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.urls); + ComplexArgumentParser::Finalize(request.username); + ComplexArgumentParser::Finalize(request.credential); + ComplexArgumentParser::Finalize(request.caid); +} + CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::detail::Structs::LabelStruct::Type & request, Json::Value & value) { @@ -493,6 +540,143 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::detail::Structs::Opera ComplexArgumentParser::Finalize(request.operationalStateLabel); } +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::detail::Structs::PerStreamStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("PerStreamStruct.streamID", "streamID", value.isMember("streamID"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PerStreamStruct.onOff", "onOff", value.isMember("onOff"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "streamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.streamID, value["streamID"])); + valueCopy.removeMember("streamID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "onOff"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.onOff, value["onOff"])); + valueCopy.removeMember("onOff"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::detail::Structs::PerStreamStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.streamID); + ComplexArgumentParser::Finalize(request.onOff); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::detail::Structs::ViewportStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ViewportStruct.x1", "x1", value.isMember("x1"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ViewportStruct.y1", "y1", value.isMember("y1"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ViewportStruct.x2", "x2", value.isMember("x2"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ViewportStruct.y2", "y2", value.isMember("y2"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "x1"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.x1, value["x1"])); + valueCopy.removeMember("x1"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "y1"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.y1, value["y1"])); + valueCopy.removeMember("y1"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "x2"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.x2, value["x2"])); + valueCopy.removeMember("x2"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "y2"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.y2, value["y2"])); + valueCopy.removeMember("y2"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::detail::Structs::ViewportStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.x1); + ComplexArgumentParser::Finalize(request.y1); + ComplexArgumentParser::Finalize(request.x2); + ComplexArgumentParser::Finalize(request.y2); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::detail::Structs::WebRTCSessionStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("WebRTCSessionStruct.id", "id", value.isMember("id"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("WebRTCSessionStruct.peerNodeId", "peerNodeId", value.isMember("peerNodeId"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("WebRTCSessionStruct.peerFabricIndex", "peerFabricIndex", + value.isMember("peerFabricIndex"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("WebRTCSessionStruct.streamType", "streamType", value.isMember("streamType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("WebRTCSessionStruct.videoStreamID", "videoStreamID", + value.isMember("videoStreamID"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("WebRTCSessionStruct.audioStreamID", "audioStreamID", + value.isMember("audioStreamID"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("WebRTCSessionStruct.metadataOptions", "metadataOptions", + value.isMember("metadataOptions"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "id"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.id, value["id"])); + valueCopy.removeMember("id"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "peerNodeId"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.peerNodeId, value["peerNodeId"])); + valueCopy.removeMember("peerNodeId"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "peerFabricIndex"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.peerFabricIndex, value["peerFabricIndex"])); + valueCopy.removeMember("peerFabricIndex"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "streamType"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.streamType, value["streamType"])); + valueCopy.removeMember("streamType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "videoStreamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.videoStreamID, value["videoStreamID"])); + valueCopy.removeMember("videoStreamID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "audioStreamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.audioStreamID, value["audioStreamID"])); + valueCopy.removeMember("audioStreamID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "metadataOptions"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.metadataOptions, value["metadataOptions"])); + valueCopy.removeMember("metadataOptions"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::detail::Structs::WebRTCSessionStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.id); + ComplexArgumentParser::Finalize(request.peerNodeId); + ComplexArgumentParser::Finalize(request.peerFabricIndex); + ComplexArgumentParser::Finalize(request.streamType); + ComplexArgumentParser::Finalize(request.videoStreamID); + ComplexArgumentParser::Finalize(request.audioStreamID); + ComplexArgumentParser::Finalize(request.metadataOptions); +} + CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::Descriptor::Structs::SemanticTagStruct::Type & request, Json::Value & value) @@ -5671,6 +5855,881 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::ContentControl::Struct ComplexArgumentParser::Finalize(request.ratingNameDesc); } +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("AudioCapabilitiesStruct.maxNumberOfChannels", + "maxNumberOfChannels", value.isMember("maxNumberOfChannels"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("AudioCapabilitiesStruct.supportedCodecs", "supportedCodecs", + value.isMember("supportedCodecs"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("AudioCapabilitiesStruct.supportedSampleRates", + "supportedSampleRates", value.isMember("supportedSampleRates"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("AudioCapabilitiesStruct.supportedBitDepths", + "supportedBitDepths", value.isMember("supportedBitDepths"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxNumberOfChannels"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxNumberOfChannels, value["maxNumberOfChannels"])); + valueCopy.removeMember("maxNumberOfChannels"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "supportedCodecs"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.supportedCodecs, value["supportedCodecs"])); + valueCopy.removeMember("supportedCodecs"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "supportedSampleRates"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.supportedSampleRates, value["supportedSampleRates"])); + valueCopy.removeMember("supportedSampleRates"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "supportedBitDepths"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.supportedBitDepths, value["supportedBitDepths"])); + valueCopy.removeMember("supportedBitDepths"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.maxNumberOfChannels); + ComplexArgumentParser::Finalize(request.supportedCodecs); + ComplexArgumentParser::Finalize(request.supportedSampleRates); + ComplexArgumentParser::Finalize(request.supportedBitDepths); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.audioStreamID", "audioStreamID", + value.isMember("audioStreamID"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.streamType", "streamType", value.isMember("streamType"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.audioCodec", "audioCodec", value.isMember("audioCodec"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.channelCount", "channelCount", value.isMember("channelCount"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.sampleRate", "sampleRate", value.isMember("sampleRate"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.bitRate", "bitRate", value.isMember("bitRate"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.bitDepth", "bitDepth", value.isMember("bitDepth"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("AudioStreamStruct.referenceCount", "referenceCount", + value.isMember("referenceCount"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "audioStreamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.audioStreamID, value["audioStreamID"])); + valueCopy.removeMember("audioStreamID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "streamType"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.streamType, value["streamType"])); + valueCopy.removeMember("streamType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "audioCodec"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.audioCodec, value["audioCodec"])); + valueCopy.removeMember("audioCodec"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "channelCount"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.channelCount, value["channelCount"])); + valueCopy.removeMember("channelCount"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "sampleRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.sampleRate, value["sampleRate"])); + valueCopy.removeMember("sampleRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "bitRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.bitRate, value["bitRate"])); + valueCopy.removeMember("bitRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "bitDepth"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.bitDepth, value["bitDepth"])); + valueCopy.removeMember("bitDepth"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "referenceCount"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.referenceCount, value["referenceCount"])); + valueCopy.removeMember("referenceCount"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.audioStreamID); + ComplexArgumentParser::Finalize(request.streamType); + ComplexArgumentParser::Finalize(request.audioCodec); + ComplexArgumentParser::Finalize(request.channelCount); + ComplexArgumentParser::Finalize(request.sampleRate); + ComplexArgumentParser::Finalize(request.bitRate); + ComplexArgumentParser::Finalize(request.bitDepth); + ComplexArgumentParser::Finalize(request.referenceCount); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("RateDistortionTradeOffPointsStruct.codec", "codec", value.isMember("codec"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("RateDistortionTradeOffPointsStruct.resolution", "resolution", + value.isMember("resolution"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("RateDistortionTradeOffPointsStruct.minBitRate", "minBitRate", + value.isMember("minBitRate"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "codec"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.codec, value["codec"])); + valueCopy.removeMember("codec"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "resolution"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.resolution, value["resolution"])); + valueCopy.removeMember("resolution"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "minBitRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.minBitRate, value["minBitRate"])); + valueCopy.removeMember("minBitRate"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.codec); + ComplexArgumentParser::Finalize(request.resolution); + ComplexArgumentParser::Finalize(request.minBitRate); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("SnapshotParamsStruct.resolution", "resolution", value.isMember("resolution"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("SnapshotParamsStruct.maxFrameRate", "maxFrameRate", + value.isMember("maxFrameRate"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("SnapshotParamsStruct.imageCodec", "imageCodec", value.isMember("imageCodec"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "resolution"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.resolution, value["resolution"])); + valueCopy.removeMember("resolution"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxFrameRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxFrameRate, value["maxFrameRate"])); + valueCopy.removeMember("maxFrameRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "imageCodec"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.imageCodec, value["imageCodec"])); + valueCopy.removeMember("imageCodec"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.resolution); + ComplexArgumentParser::Finalize(request.maxFrameRate); + ComplexArgumentParser::Finalize(request.imageCodec); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.snapshotStreamID", "snapshotStreamID", + value.isMember("snapshotStreamID"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.imageCodec", "imageCodec", value.isMember("imageCodec"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.frameRate", "frameRate", value.isMember("frameRate"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.bitRate", "bitRate", value.isMember("bitRate"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.minResolution", "minResolution", + value.isMember("minResolution"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.maxResolution", "maxResolution", + value.isMember("maxResolution"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.quality", "quality", value.isMember("quality"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("SnapshotStreamStruct.referenceCount", "referenceCount", + value.isMember("referenceCount"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "snapshotStreamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.snapshotStreamID, value["snapshotStreamID"])); + valueCopy.removeMember("snapshotStreamID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "imageCodec"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.imageCodec, value["imageCodec"])); + valueCopy.removeMember("imageCodec"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "frameRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.frameRate, value["frameRate"])); + valueCopy.removeMember("frameRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "bitRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.bitRate, value["bitRate"])); + valueCopy.removeMember("bitRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "minResolution"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.minResolution, value["minResolution"])); + valueCopy.removeMember("minResolution"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxResolution"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxResolution, value["maxResolution"])); + valueCopy.removeMember("maxResolution"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "quality"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.quality, value["quality"])); + valueCopy.removeMember("quality"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "referenceCount"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.referenceCount, value["referenceCount"])); + valueCopy.removeMember("referenceCount"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.snapshotStreamID); + ComplexArgumentParser::Finalize(request.imageCodec); + ComplexArgumentParser::Finalize(request.frameRate); + ComplexArgumentParser::Finalize(request.bitRate); + ComplexArgumentParser::Finalize(request.minResolution); + ComplexArgumentParser::Finalize(request.maxResolution); + ComplexArgumentParser::Finalize(request.quality); + ComplexArgumentParser::Finalize(request.referenceCount); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoSensorParamsStruct.sensorWidth", "sensorWidth", + value.isMember("sensorWidth"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoSensorParamsStruct.sensorHeight", "sensorHeight", + value.isMember("sensorHeight"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoSensorParamsStruct.HDRCapable", "HDRCapable", value.isMember("HDRCapable"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoSensorParamsStruct.maxFPS", "maxFPS", value.isMember("maxFPS"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoSensorParamsStruct.maxHDRFPS", "maxHDRFPS", value.isMember("maxHDRFPS"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "sensorWidth"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.sensorWidth, value["sensorWidth"])); + valueCopy.removeMember("sensorWidth"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "sensorHeight"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.sensorHeight, value["sensorHeight"])); + valueCopy.removeMember("sensorHeight"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "HDRCapable"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.HDRCapable, value["HDRCapable"])); + valueCopy.removeMember("HDRCapable"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxFPS"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxFPS, value["maxFPS"])); + valueCopy.removeMember("maxFPS"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxHDRFPS"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxHDRFPS, value["maxHDRFPS"])); + valueCopy.removeMember("maxHDRFPS"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.sensorWidth); + ComplexArgumentParser::Finalize(request.sensorHeight); + ComplexArgumentParser::Finalize(request.HDRCapable); + ComplexArgumentParser::Finalize(request.maxFPS); + ComplexArgumentParser::Finalize(request.maxHDRFPS); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.videoStreamID", "videoStreamID", + value.isMember("videoStreamID"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.streamType", "streamType", value.isMember("streamType"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.videoCodec", "videoCodec", value.isMember("videoCodec"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.minFrameRate", "minFrameRate", value.isMember("minFrameRate"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.maxFrameRate", "maxFrameRate", value.isMember("maxFrameRate"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.minResolution", "minResolution", + value.isMember("minResolution"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.maxResolution", "maxResolution", + value.isMember("maxResolution"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.minBitRate", "minBitRate", value.isMember("minBitRate"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.maxBitRate", "maxBitRate", value.isMember("maxBitRate"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.minFragmentLen", "minFragmentLen", + value.isMember("minFragmentLen"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.maxFragmentLen", "maxFragmentLen", + value.isMember("maxFragmentLen"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("VideoStreamStruct.referenceCount", "referenceCount", + value.isMember("referenceCount"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "videoStreamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.videoStreamID, value["videoStreamID"])); + valueCopy.removeMember("videoStreamID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "streamType"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.streamType, value["streamType"])); + valueCopy.removeMember("streamType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "videoCodec"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.videoCodec, value["videoCodec"])); + valueCopy.removeMember("videoCodec"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "minFrameRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.minFrameRate, value["minFrameRate"])); + valueCopy.removeMember("minFrameRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxFrameRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxFrameRate, value["maxFrameRate"])); + valueCopy.removeMember("maxFrameRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "minResolution"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.minResolution, value["minResolution"])); + valueCopy.removeMember("minResolution"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxResolution"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxResolution, value["maxResolution"])); + valueCopy.removeMember("maxResolution"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "minBitRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.minBitRate, value["minBitRate"])); + valueCopy.removeMember("minBitRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxBitRate"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxBitRate, value["maxBitRate"])); + valueCopy.removeMember("maxBitRate"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "minFragmentLen"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.minFragmentLen, value["minFragmentLen"])); + valueCopy.removeMember("minFragmentLen"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxFragmentLen"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxFragmentLen, value["maxFragmentLen"])); + valueCopy.removeMember("maxFragmentLen"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "referenceCount"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.referenceCount, value["referenceCount"])); + valueCopy.removeMember("referenceCount"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.videoStreamID); + ComplexArgumentParser::Finalize(request.streamType); + ComplexArgumentParser::Finalize(request.videoCodec); + ComplexArgumentParser::Finalize(request.minFrameRate); + ComplexArgumentParser::Finalize(request.maxFrameRate); + ComplexArgumentParser::Finalize(request.minResolution); + ComplexArgumentParser::Finalize(request.maxResolution); + ComplexArgumentParser::Finalize(request.minBitRate); + ComplexArgumentParser::Finalize(request.maxBitRate); + ComplexArgumentParser::Finalize(request.minFragmentLen); + ComplexArgumentParser::Finalize(request.maxFragmentLen); + ComplexArgumentParser::Finalize(request.referenceCount); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + char labelWithMember[kMaxLabelLength]; + if (value.isMember("MPan")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "MPan"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.MPan, value["MPan"])); + } + valueCopy.removeMember("MPan"); + + if (value.isMember("MTilt")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "MTilt"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.MTilt, value["MTilt"])); + } + valueCopy.removeMember("MTilt"); + + if (value.isMember("MZoom")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "MZoom"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.MZoom, value["MZoom"])); + } + valueCopy.removeMember("MZoom"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.MPan); + ComplexArgumentParser::Finalize(request.MTilt); + ComplexArgumentParser::Finalize(request.MZoom); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMotionTriggerTimeControlStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportMotionTriggerTimeControlStruct.initialDuration", + "initialDuration", value.isMember("initialDuration"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportMotionTriggerTimeControlStruct.augmentationDuration", + "augmentationDuration", value.isMember("augmentationDuration"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportMotionTriggerTimeControlStruct.maxDuration", + "maxDuration", value.isMember("maxDuration"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "PushAVStreamTransportMotionTriggerTimeControlStruct.blindDuration", "blindDuration", value.isMember("blindDuration"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "initialDuration"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.initialDuration, value["initialDuration"])); + valueCopy.removeMember("initialDuration"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "augmentationDuration"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.augmentationDuration, value["augmentationDuration"])); + valueCopy.removeMember("augmentationDuration"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "maxDuration"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.maxDuration, value["maxDuration"])); + valueCopy.removeMember("maxDuration"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "blindDuration"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.blindDuration, value["blindDuration"])); + valueCopy.removeMember("blindDuration"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMotionTriggerTimeControlStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.initialDuration); + ComplexArgumentParser::Finalize(request.augmentationDuration); + ComplexArgumentParser::Finalize(request.maxDuration); + ComplexArgumentParser::Finalize(request.blindDuration); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMetadataOptionsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportMetadataOptionsStruct.multiplexing", + "multiplexing", value.isMember("multiplexing"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportMetadataOptionsStruct.includeMotionZones", + "includeMotionZones", value.isMember("includeMotionZones"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "PushAVStreamTransportMetadataOptionsStruct.enableMetadataPrivacySensitive", "enableMetadataPrivacySensitive", + value.isMember("enableMetadataPrivacySensitive"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "multiplexing"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.multiplexing, value["multiplexing"])); + valueCopy.removeMember("multiplexing"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "includeMotionZones"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.includeMotionZones, value["includeMotionZones"])); + valueCopy.removeMember("includeMotionZones"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "enableMetadataPrivacySensitive"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.enableMetadataPrivacySensitive, + value["enableMetadataPrivacySensitive"])); + valueCopy.removeMember("enableMetadataPrivacySensitive"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMetadataOptionsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.multiplexing); + ComplexArgumentParser::Finalize(request.includeMotionZones); + ComplexArgumentParser::Finalize(request.enableMetadataPrivacySensitive); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportTriggerOptionsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportTriggerOptionsStruct.triggerType", + "triggerType", value.isMember("triggerType"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "triggerType"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.triggerType, value["triggerType"])); + valueCopy.removeMember("triggerType"); + + if (value.isMember("motionZones")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "motionZones"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.motionZones, value["motionZones"])); + } + valueCopy.removeMember("motionZones"); + + if (value.isMember("motionSensitivity")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "motionSensitivity"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.motionSensitivity, value["motionSensitivity"])); + } + valueCopy.removeMember("motionSensitivity"); + + if (value.isMember("motionTimeControl")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "motionTimeControl"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.motionTimeControl, value["motionTimeControl"])); + } + valueCopy.removeMember("motionTimeControl"); + + if (value.isMember("activationReason")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "activationReason"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.activationReason, value["activationReason"])); + } + valueCopy.removeMember("activationReason"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportTriggerOptionsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.triggerType); + ComplexArgumentParser::Finalize(request.motionZones); + ComplexArgumentParser::Finalize(request.motionSensitivity); + ComplexArgumentParser::Finalize(request.motionTimeControl); + ComplexArgumentParser::Finalize(request.activationReason); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportCMAFContainerOptionsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportCMAFContainerOptionsStruct.chunkDuration", + "chunkDuration", value.isMember("chunkDuration"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "chunkDuration"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.chunkDuration, value["chunkDuration"])); + valueCopy.removeMember("chunkDuration"); + + if (value.isMember("CENCKey")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "CENCKey"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.CENCKey, value["CENCKey"])); + } + valueCopy.removeMember("CENCKey"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportCMAFContainerOptionsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.chunkDuration); + ComplexArgumentParser::Finalize(request.CENCKey); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportContainerOptionsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportContainerOptionsStruct.containerType", + "containerType", value.isMember("containerType"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "containerType"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.containerType, value["containerType"])); + valueCopy.removeMember("containerType"); + + if (value.isMember("CMAFContainerOptions")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "CMAFContainerOptions"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.CMAFContainerOptions, value["CMAFContainerOptions"])); + } + valueCopy.removeMember("CMAFContainerOptions"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportContainerOptionsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.containerType); + ComplexArgumentParser::Finalize(request.CMAFContainerOptions); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportOptionsStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportOptionsStruct.streamType", "streamType", + value.isMember("streamType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportOptionsStruct.TLSEndpointID", + "TLSEndpointID", value.isMember("TLSEndpointID"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportOptionsStruct.url", "url", value.isMember("url"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportOptionsStruct.triggerOptions", + "triggerOptions", value.isMember("triggerOptions"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportOptionsStruct.containerFormat", + "containerFormat", value.isMember("containerFormat"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportOptionsStruct.ingestMethod", "ingestMethod", + value.isMember("ingestMethod"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamTransportOptionsStruct.containerOptions", + "containerOptions", value.isMember("containerOptions"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "streamType"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.streamType, value["streamType"])); + valueCopy.removeMember("streamType"); + + if (value.isMember("videoStreamID")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "videoStreamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.videoStreamID, value["videoStreamID"])); + } + valueCopy.removeMember("videoStreamID"); + + if (value.isMember("audioStreamID")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "audioStreamID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.audioStreamID, value["audioStreamID"])); + } + valueCopy.removeMember("audioStreamID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "TLSEndpointID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.TLSEndpointID, value["TLSEndpointID"])); + valueCopy.removeMember("TLSEndpointID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "url"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.url, value["url"])); + valueCopy.removeMember("url"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "triggerOptions"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.triggerOptions, value["triggerOptions"])); + valueCopy.removeMember("triggerOptions"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "containerFormat"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.containerFormat, value["containerFormat"])); + valueCopy.removeMember("containerFormat"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "ingestMethod"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.ingestMethod, value["ingestMethod"])); + valueCopy.removeMember("ingestMethod"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "containerOptions"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.containerOptions, value["containerOptions"])); + valueCopy.removeMember("containerOptions"); + + if (value.isMember("metadataOptions")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "metadataOptions"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.metadataOptions, value["metadataOptions"])); + } + valueCopy.removeMember("metadataOptions"); + + if (value.isMember("expiryTime")) + { + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "expiryTime"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.expiryTime, value["expiryTime"])); + } + valueCopy.removeMember("expiryTime"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportOptionsStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.streamType); + ComplexArgumentParser::Finalize(request.videoStreamID); + ComplexArgumentParser::Finalize(request.audioStreamID); + ComplexArgumentParser::Finalize(request.TLSEndpointID); + ComplexArgumentParser::Finalize(request.url); + ComplexArgumentParser::Finalize(request.triggerOptions); + ComplexArgumentParser::Finalize(request.containerFormat); + ComplexArgumentParser::Finalize(request.ingestMethod); + ComplexArgumentParser::Finalize(request.containerOptions); + ComplexArgumentParser::Finalize(request.metadataOptions); + ComplexArgumentParser::Finalize(request.expiryTime); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamConfigurationStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamConfigurationStruct.connectionID", "connectionID", + value.isMember("connectionID"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "PushAVStreamConfigurationStruct.streamTransportStatus", "streamTransportStatus", value.isMember("streamTransportStatus"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("PushAVStreamConfigurationStruct.streamTransportOptions", + "streamTransportOptions", + value.isMember("streamTransportOptions"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "connectionID"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.connectionID, value["connectionID"])); + valueCopy.removeMember("connectionID"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "streamTransportStatus"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.streamTransportStatus, value["streamTransportStatus"])); + valueCopy.removeMember("streamTransportStatus"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "streamTransportOptions"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.streamTransportOptions, value["streamTransportOptions"])); + valueCopy.removeMember("streamTransportOptions"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamConfigurationStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.connectionID); + ComplexArgumentParser::Finalize(request.streamTransportStatus); + ComplexArgumentParser::Finalize(request.streamTransportOptions); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::Chime::Structs::ChimeSoundStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("ChimeSoundStruct.chimeId", "chimeId", value.isMember("chimeId"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ChimeSoundStruct.name", "name", value.isMember("name"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "chimeId"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.chimeId, value["chimeId"])); + valueCopy.removeMember("chimeId"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "name"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.name, value["name"])); + valueCopy.removeMember("name"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::Chime::Structs::ChimeSoundStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.chimeId); + ComplexArgumentParser::Finalize(request.name); +} + CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::EcosystemInformation::Structs::EcosystemDeviceStruct::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 ccce33ece63cd8..8cec71d678a241 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h @@ -72,6 +72,11 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs static void Finalize(chip::app::Clusters::detail::Structs::ErrorStateStruct::Type & request); +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs::ICEServerStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::detail::Structs::ICEServerStruct::Type & request); + static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs::LabelStruct::Type & request, Json::Value & value); static void Finalize(chip::app::Clusters::detail::Structs::LabelStruct::Type & request); @@ -81,6 +86,21 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs static void Finalize(chip::app::Clusters::detail::Structs::OperationalStateStruct::Type & request); +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs::PerStreamStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::detail::Structs::PerStreamStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs::ViewportStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::detail::Structs::ViewportStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs::WebRTCSessionStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::detail::Structs::WebRTCSessionStruct::Type & request); + static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Descriptor::Structs::SemanticTagStruct::Type & request, Json::Value & value); @@ -658,6 +678,111 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ContentControl: static void Finalize(chip::app::Clusters::ContentControl::Structs::RatingNameStruct::Type & request); +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::Type & request); + +static CHIP_ERROR +Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMotionTriggerTimeControlStruct::Type & request, + Json::Value & value); + +static void +Finalize(chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMotionTriggerTimeControlStruct::Type & request); + +static CHIP_ERROR +Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMetadataOptionsStruct::Type & request, + Json::Value & value); + +static void +Finalize(chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMetadataOptionsStruct::Type & request); + +static CHIP_ERROR +Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportTriggerOptionsStruct::Type & request, + Json::Value & value); + +static void +Finalize(chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportTriggerOptionsStruct::Type & request); + +static CHIP_ERROR +Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportCMAFContainerOptionsStruct::Type & request, + Json::Value & value); + +static void +Finalize(chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportCMAFContainerOptionsStruct::Type & request); + +static CHIP_ERROR +Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportContainerOptionsStruct::Type & request, + Json::Value & value); + +static void +Finalize(chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportContainerOptionsStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportOptionsStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportOptionsStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamConfigurationStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamConfigurationStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Chime::Structs::ChimeSoundStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::Chime::Structs::ChimeSoundStruct::Type & request); + static CHIP_ERROR Setup(const char * label, chip::app::Clusters::EcosystemInformation::Structs::EcosystemDeviceStruct::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 2d788bd2613215..15ee61c3af79bc 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -377,6 +377,47 @@ 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::detail::Structs::ICEServerStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("Urls", indent + 1, value.urls); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Urls'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("Username", indent + 1, value.username); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Username'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("Credential", indent + 1, value.credential); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Credential'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("Caid", indent + 1, value.caid); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Caid'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::detail::Structs::LabelStruct::DecodableType & value) { @@ -427,6 +468,137 @@ 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::detail::Structs::PerStreamStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("StreamID", indent + 1, value.streamID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'StreamID'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("OnOff", indent + 1, value.onOff); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OnOff'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::detail::Structs::ViewportStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("X1", indent + 1, value.x1); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'X1'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("Y1", indent + 1, value.y1); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Y1'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("X2", indent + 1, value.x2); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'X2'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("Y2", indent + 1, value.y2); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Y2'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::detail::Structs::WebRTCSessionStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("Id", indent + 1, value.id); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Id'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("PeerNodeId", indent + 1, value.peerNodeId); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'PeerNodeId'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("PeerFabricIndex", indent + 1, value.peerFabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'PeerFabricIndex'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("StreamType", indent + 1, value.streamType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'StreamType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("VideoStreamID", indent + 1, value.videoStreamID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VideoStreamID'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("AudioStreamID", indent + 1, value.audioStreamID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'AudioStreamID'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("MetadataOptions", indent + 1, value.metadataOptions); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MetadataOptions'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Descriptor::Structs::SemanticTagStruct::DecodableType & value) { @@ -4992,114 +5164,114 @@ 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::EcosystemInformation::Structs::EcosystemDeviceStruct::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("DeviceName", indent + 1, value.deviceName); + CHIP_ERROR err = LogValue("MaxNumberOfChannels", indent + 1, value.maxNumberOfChannels); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'DeviceName'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxNumberOfChannels'"); return err; } } { - CHIP_ERROR err = LogValue("DeviceNameLastEdit", indent + 1, value.deviceNameLastEdit); + CHIP_ERROR err = LogValue("SupportedCodecs", indent + 1, value.supportedCodecs); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'DeviceNameLastEdit'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'SupportedCodecs'"); return err; } } { - CHIP_ERROR err = LogValue("BridgedEndpoint", indent + 1, value.bridgedEndpoint); + CHIP_ERROR err = LogValue("SupportedSampleRates", indent + 1, value.supportedSampleRates); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'BridgedEndpoint'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'SupportedSampleRates'"); return err; } } { - CHIP_ERROR err = LogValue("OriginalEndpoint", indent + 1, value.originalEndpoint); + CHIP_ERROR err = LogValue("SupportedBitDepths", indent + 1, value.supportedBitDepths); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OriginalEndpoint'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'SupportedBitDepths'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("DeviceTypes", indent + 1, value.deviceTypes); + CHIP_ERROR err = LogValue("AudioStreamID", indent + 1, value.audioStreamID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'DeviceTypes'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'AudioStreamID'"); return err; } } { - CHIP_ERROR err = LogValue("UniqueLocationIDs", indent + 1, value.uniqueLocationIDs); + CHIP_ERROR err = LogValue("StreamType", indent + 1, value.streamType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'UniqueLocationIDs'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'StreamType'"); return err; } } { - CHIP_ERROR err = LogValue("UniqueLocationIDsLastEdit", indent + 1, value.uniqueLocationIDsLastEdit); + CHIP_ERROR err = LogValue("AudioCodec", indent + 1, value.audioCodec); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'UniqueLocationIDsLastEdit'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'AudioCodec'"); return err; } } { - CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = LogValue("ChannelCount", indent + 1, value.channelCount); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ChannelCount'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} - -CHIP_ERROR -DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::EcosystemInformation::Structs::EcosystemLocationStruct::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("UniqueLocationID", indent + 1, value.uniqueLocationID); + CHIP_ERROR err = LogValue("SampleRate", indent + 1, value.sampleRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'UniqueLocationID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'SampleRate'"); return err; } } { - CHIP_ERROR err = LogValue("LocationDescriptor", indent + 1, value.locationDescriptor); + CHIP_ERROR err = LogValue("BitRate", indent + 1, value.bitRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'LocationDescriptor'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'BitRate'"); return err; } } { - CHIP_ERROR err = LogValue("LocationDescriptorLastEdit", indent + 1, value.locationDescriptorLastEdit); + CHIP_ERROR err = LogValue("BitDepth", indent + 1, value.bitDepth); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'LocationDescriptorLastEdit'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'BitDepth'"); return err; } } { - CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = LogValue("ReferenceCount", indent + 1, value.referenceCount); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ReferenceCount'"); return err; } } @@ -5108,79 +5280,66 @@ 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::UnitTesting::Structs::SimpleStruct::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("A", indent + 1, value.a); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("B", indent + 1, value.b); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'B'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("C", indent + 1, value.c); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'C'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("D", indent + 1, value.d); + CHIP_ERROR err = LogValue("Codec", indent + 1, value.codec); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'D'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Codec'"); return err; } } { - CHIP_ERROR err = LogValue("E", indent + 1, value.e); + CHIP_ERROR err = LogValue("Resolution", indent + 1, value.resolution); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'E'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Resolution'"); return err; } } { - CHIP_ERROR err = LogValue("F", indent + 1, value.f); + CHIP_ERROR err = LogValue("MinBitRate", indent + 1, value.minBitRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'F'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MinBitRate'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("G", indent + 1, value.g); + CHIP_ERROR err = LogValue("Resolution", indent + 1, value.resolution); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'G'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Resolution'"); return err; } } { - CHIP_ERROR err = LogValue("H", indent + 1, value.h); + CHIP_ERROR err = LogValue("MaxFrameRate", indent + 1, value.maxFrameRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'H'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxFrameRate'"); return err; } } { - CHIP_ERROR err = LogValue("I", indent + 1, value.i); + CHIP_ERROR err = LogValue("ImageCodec", indent + 1, value.imageCodec); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'I'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ImageCodec'"); return err; } } @@ -5189,72 +5348,72 @@ 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::UnitTesting::Structs::TestFabricScoped::DecodableType & value) +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("FabricSensitiveInt8u", indent + 1, value.fabricSensitiveInt8u); + CHIP_ERROR err = LogValue("SnapshotStreamID", indent + 1, value.snapshotStreamID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveInt8u'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'SnapshotStreamID'"); return err; } } { - CHIP_ERROR err = LogValue("OptionalFabricSensitiveInt8u", indent + 1, value.optionalFabricSensitiveInt8u); + CHIP_ERROR err = LogValue("ImageCodec", indent + 1, value.imageCodec); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalFabricSensitiveInt8u'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ImageCodec'"); return err; } } { - CHIP_ERROR err = LogValue("NullableFabricSensitiveInt8u", indent + 1, value.nullableFabricSensitiveInt8u); + CHIP_ERROR err = LogValue("FrameRate", indent + 1, value.frameRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableFabricSensitiveInt8u'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FrameRate'"); return err; } } { - CHIP_ERROR err = LogValue("NullableOptionalFabricSensitiveInt8u", indent + 1, value.nullableOptionalFabricSensitiveInt8u); + CHIP_ERROR err = LogValue("BitRate", indent + 1, value.bitRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, - "Struct truncated due to invalid value for 'NullableOptionalFabricSensitiveInt8u'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'BitRate'"); return err; } } { - CHIP_ERROR err = LogValue("FabricSensitiveCharString", indent + 1, value.fabricSensitiveCharString); + CHIP_ERROR err = LogValue("MinResolution", indent + 1, value.minResolution); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveCharString'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MinResolution'"); return err; } } { - CHIP_ERROR err = LogValue("FabricSensitiveStruct", indent + 1, value.fabricSensitiveStruct); + CHIP_ERROR err = LogValue("MaxResolution", indent + 1, value.maxResolution); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveStruct'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxResolution'"); return err; } } { - CHIP_ERROR err = LogValue("FabricSensitiveInt8uList", indent + 1, value.fabricSensitiveInt8uList); + CHIP_ERROR err = LogValue("Quality", indent + 1, value.quality); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveInt8uList'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Quality'"); return err; } } { - CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = LogValue("ReferenceCount", indent + 1, value.referenceCount); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ReferenceCount'"); return err; } } @@ -5263,145 +5422,154 @@ 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::UnitTesting::Structs::NullablesAndOptionalsStruct::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("NullableInt", indent + 1, value.nullableInt); + CHIP_ERROR err = LogValue("SensorWidth", indent + 1, value.sensorWidth); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableInt'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'SensorWidth'"); return err; } } { - CHIP_ERROR err = LogValue("OptionalInt", indent + 1, value.optionalInt); + CHIP_ERROR err = LogValue("SensorHeight", indent + 1, value.sensorHeight); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalInt'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'SensorHeight'"); return err; } } { - CHIP_ERROR err = LogValue("NullableOptionalInt", indent + 1, value.nullableOptionalInt); + CHIP_ERROR err = LogValue("HDRCapable", indent + 1, value.HDRCapable); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalInt'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'HDRCapable'"); return err; } } { - CHIP_ERROR err = LogValue("NullableString", indent + 1, value.nullableString); + CHIP_ERROR err = LogValue("MaxFPS", indent + 1, value.maxFPS); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableString'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxFPS'"); return err; } } { - CHIP_ERROR err = LogValue("OptionalString", indent + 1, value.optionalString); + CHIP_ERROR err = LogValue("MaxHDRFPS", indent + 1, value.maxHDRFPS); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalString'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxHDRFPS'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("NullableOptionalString", indent + 1, value.nullableOptionalString); + CHIP_ERROR err = LogValue("VideoStreamID", indent + 1, value.videoStreamID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalString'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VideoStreamID'"); return err; } } { - CHIP_ERROR err = LogValue("NullableStruct", indent + 1, value.nullableStruct); + CHIP_ERROR err = LogValue("StreamType", indent + 1, value.streamType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableStruct'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'StreamType'"); return err; } } { - CHIP_ERROR err = LogValue("OptionalStruct", indent + 1, value.optionalStruct); + CHIP_ERROR err = LogValue("VideoCodec", indent + 1, value.videoCodec); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalStruct'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VideoCodec'"); return err; } } { - CHIP_ERROR err = LogValue("NullableOptionalStruct", indent + 1, value.nullableOptionalStruct); + CHIP_ERROR err = LogValue("MinFrameRate", indent + 1, value.minFrameRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalStruct'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MinFrameRate'"); return err; } } { - CHIP_ERROR err = LogValue("NullableList", indent + 1, value.nullableList); + CHIP_ERROR err = LogValue("MaxFrameRate", indent + 1, value.maxFrameRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableList'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxFrameRate'"); return err; } } { - CHIP_ERROR err = LogValue("OptionalList", indent + 1, value.optionalList); + CHIP_ERROR err = LogValue("MinResolution", indent + 1, value.minResolution); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalList'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MinResolution'"); return err; } } { - CHIP_ERROR err = LogValue("NullableOptionalList", indent + 1, value.nullableOptionalList); + CHIP_ERROR err = LogValue("MaxResolution", indent + 1, value.maxResolution); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalList'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxResolution'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} - -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::UnitTesting::Structs::NestedStruct::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("A", indent + 1, value.a); + CHIP_ERROR err = LogValue("MinBitRate", indent + 1, value.minBitRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MinBitRate'"); return err; } } { - CHIP_ERROR err = LogValue("B", indent + 1, value.b); + CHIP_ERROR err = LogValue("MaxBitRate", indent + 1, value.maxBitRate); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'B'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxBitRate'"); return err; } } { - CHIP_ERROR err = LogValue("C", indent + 1, value.c); + CHIP_ERROR err = LogValue("MinFragmentLen", indent + 1, value.minFragmentLen); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'C'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MinFragmentLen'"); return err; } } { - CHIP_ERROR err = LogValue("D", indent + 1, value.d); + CHIP_ERROR err = LogValue("MaxFragmentLen", indent + 1, value.maxFragmentLen); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'D'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxFragmentLen'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ReferenceCount", indent + 1, value.referenceCount); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ReferenceCount'"); return err; } } @@ -5410,63 +5578,75 @@ 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::UnitTesting::Structs::NestedStructList::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("A", indent + 1, value.a); + CHIP_ERROR err = LogValue("MPan", indent + 1, value.MPan); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MPan'"); return err; } } { - CHIP_ERROR err = LogValue("B", indent + 1, value.b); + CHIP_ERROR err = LogValue("MTilt", indent + 1, value.MTilt); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'B'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MTilt'"); return err; } } { - CHIP_ERROR err = LogValue("C", indent + 1, value.c); + CHIP_ERROR err = LogValue("MZoom", indent + 1, value.MZoom); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'C'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MZoom'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMotionTriggerTimeControlStruct::DecodableType & + value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("D", indent + 1, value.d); + CHIP_ERROR err = LogValue("InitialDuration", indent + 1, value.initialDuration); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'D'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'InitialDuration'"); return err; } } { - CHIP_ERROR err = LogValue("E", indent + 1, value.e); + CHIP_ERROR err = LogValue("AugmentationDuration", indent + 1, value.augmentationDuration); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'E'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'AugmentationDuration'"); return err; } } { - CHIP_ERROR err = LogValue("F", indent + 1, value.f); + CHIP_ERROR err = LogValue("MaxDuration", indent + 1, value.maxDuration); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'F'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MaxDuration'"); return err; } } { - CHIP_ERROR err = LogValue("G", indent + 1, value.g); + CHIP_ERROR err = LogValue("BlindDuration", indent + 1, value.blindDuration); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'G'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'BlindDuration'"); return err; } } @@ -5475,40 +5655,32 @@ 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::UnitTesting::Structs::DoubleNestedStructList::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMetadataOptionsStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("A", indent + 1, value.a); + CHIP_ERROR err = LogValue("Multiplexing", indent + 1, value.multiplexing); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Multiplexing'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} - -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::UnitTesting::Structs::TestListStructOctet::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = LogValue("Member1", indent + 1, value.member1); + CHIP_ERROR err = LogValue("IncludeMotionZones", indent + 1, value.includeMotionZones); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Member1'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'IncludeMotionZones'"); return err; } } { - CHIP_ERROR err = LogValue("Member2", indent + 1, value.member2); + CHIP_ERROR err = LogValue("EnableMetadataPrivacySensitive", indent + 1, value.enableMetadataPrivacySensitive); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Member2'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'EnableMetadataPrivacySensitive'"); return err; } } @@ -5517,47 +5689,48 @@ 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 AccessControl::Events::AccessControlEntryChanged::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportTriggerOptionsStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AdminNodeID", indent + 1, value.adminNodeID); + CHIP_ERROR err = LogValue("TriggerType", indent + 1, value.triggerType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminNodeID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'TriggerType'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("AdminPasscodeID", indent + 1, value.adminPasscodeID); + CHIP_ERROR err = LogValue("MotionZones", indent + 1, value.motionZones); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminPasscodeID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MotionZones'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("ChangeType", indent + 1, value.changeType); + CHIP_ERROR err = LogValue("MotionSensitivity", indent + 1, value.motionSensitivity); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ChangeType'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MotionSensitivity'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("LatestValue", indent + 1, value.latestValue); + CHIP_ERROR err = LogValue("MotionTimeControl", indent + 1, value.motionTimeControl); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LatestValue'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MotionTimeControl'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = LogValue("ActivationReason", indent + 1, value.activationReason); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ActivationReason'"); return err; } } @@ -5565,47 +5738,52 @@ 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 AccessControl::Events::AccessControlExtensionChanged::DecodableType & value) + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportCMAFContainerOptionsStruct::DecodableType & + value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AdminNodeID", indent + 1, value.adminNodeID); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminNodeID'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("AdminPasscodeID", indent + 1, value.adminPasscodeID); + CHIP_ERROR err = LogValue("ChunkDuration", indent + 1, value.chunkDuration); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminPasscodeID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ChunkDuration'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("ChangeType", indent + 1, value.changeType); + CHIP_ERROR err = LogValue("CENCKey", indent + 1, value.CENCKey); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ChangeType'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CENCKey'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportContainerOptionsStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("LatestValue", indent + 1, value.latestValue); + CHIP_ERROR err = LogValue("ContainerType", indent + 1, value.containerType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LatestValue'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ContainerType'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = LogValue("CMAFContainerOptions", indent + 1, value.CMAFContainerOptions); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'CMAFContainerOptions'"); return err; } } @@ -5613,109 +5791,97 @@ 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 AccessControl::Events::FabricRestrictionReviewUpdate::DecodableType & value) + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportOptionsStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Token", indent + 1, value.token); + CHIP_ERROR err = LogValue("StreamType", indent + 1, value.streamType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Token'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'StreamType'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Instruction", indent + 1, value.instruction); + CHIP_ERROR err = LogValue("VideoStreamID", indent + 1, value.videoStreamID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Instruction'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VideoStreamID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("ARLRequestFlowUrl", indent + 1, value.ARLRequestFlowUrl); + CHIP_ERROR err = LogValue("AudioStreamID", indent + 1, value.audioStreamID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ARLRequestFlowUrl'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'AudioStreamID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = LogValue("TLSEndpointID", indent + 1, value.TLSEndpointID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'TLSEndpointID'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Actions::Events::StateChanged::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ActionID", indent + 1, value.actionID); + CHIP_ERROR err = LogValue("Url", indent + 1, value.url); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ActionID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Url'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("InvokeID", indent + 1, value.invokeID); + CHIP_ERROR err = LogValue("TriggerOptions", indent + 1, value.triggerOptions); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'InvokeID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'TriggerOptions'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("NewState", indent + 1, value.newState); + CHIP_ERROR err = LogValue("ContainerFormat", indent + 1, value.containerFormat); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewState'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ContainerFormat'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Actions::Events::ActionFailed::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ActionID", indent + 1, value.actionID); + CHIP_ERROR err = LogValue("IngestMethod", indent + 1, value.ingestMethod); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ActionID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'IngestMethod'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("InvokeID", indent + 1, value.invokeID); + CHIP_ERROR err = LogValue("ContainerOptions", indent + 1, value.containerOptions); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'InvokeID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ContainerOptions'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("NewState", indent + 1, value.newState); + CHIP_ERROR err = LogValue("MetadataOptions", indent + 1, value.metadataOptions); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewState'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'MetadataOptions'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Error", indent + 1, value.error); + CHIP_ERROR err = LogValue("ExpiryTime", indent + 1, value.expiryTime); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Error'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ExpiryTime'"); return err; } } @@ -5723,15 +5889,33 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Ac return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BasicInformation::Events::StartUp::DecodableType & value) + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamConfigurationStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); + CHIP_ERROR err = LogValue("ConnectionID", indent + 1, value.connectionID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ConnectionID'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("StreamTransportStatus", indent + 1, value.streamTransportStatus); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'StreamTransportStatus'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("StreamTransportOptions", indent + 1, value.streamTransportOptions); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'StreamTransportOptions'"); return err; } } @@ -5739,39 +5923,24 @@ 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 BasicInformation::Events::ShutDown::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BasicInformation::Events::Leave::DecodableType & value) + const chip::app::Clusters::Chime::Structs::ChimeSoundStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = LogValue("ChimeId", indent + 1, value.chimeId); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ChimeId'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BasicInformation::Events::ReachableChanged::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ReachableNewValue", indent + 1, value.reachableNewValue); + CHIP_ERROR err = LogValue("Name", indent + 1, value.name); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ReachableNewValue'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Name'"); return err; } } @@ -5779,63 +5948,73 @@ 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 OtaSoftwareUpdateRequestor::Events::StateTransition::DecodableType & value) + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::EcosystemInformation::Structs::EcosystemDeviceStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("PreviousState", indent + 1, value.previousState); + CHIP_ERROR err = LogValue("DeviceName", indent + 1, value.deviceName); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousState'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'DeviceName'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("NewState", indent + 1, value.newState); + CHIP_ERROR err = LogValue("DeviceNameLastEdit", indent + 1, value.deviceNameLastEdit); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewState'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'DeviceNameLastEdit'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Reason", indent + 1, value.reason); + CHIP_ERROR err = LogValue("BridgedEndpoint", indent + 1, value.bridgedEndpoint); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Reason'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'BridgedEndpoint'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("TargetSoftwareVersion", indent + 1, value.targetSoftwareVersion); + CHIP_ERROR err = LogValue("OriginalEndpoint", indent + 1, value.originalEndpoint); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TargetSoftwareVersion'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OriginalEndpoint'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OtaSoftwareUpdateRequestor::Events::VersionApplied::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); + CHIP_ERROR err = LogValue("DeviceTypes", indent + 1, value.deviceTypes); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'DeviceTypes'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("ProductID", indent + 1, value.productID); + CHIP_ERROR err = LogValue("UniqueLocationIDs", indent + 1, value.uniqueLocationIDs); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ProductID'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'UniqueLocationIDs'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("UniqueLocationIDsLastEdit", indent + 1, value.uniqueLocationIDsLastEdit); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'UniqueLocationIDsLastEdit'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); return err; } } @@ -5843,39 +6022,41 @@ 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 OtaSoftwareUpdateRequestor::Events::DownloadError::DecodableType & value) + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::EcosystemInformation::Structs::EcosystemLocationStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); + CHIP_ERROR err = LogValue("UniqueLocationID", indent + 1, value.uniqueLocationID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'UniqueLocationID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("BytesDownloaded", indent + 1, value.bytesDownloaded); + CHIP_ERROR err = LogValue("LocationDescriptor", indent + 1, value.locationDescriptor); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BytesDownloaded'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'LocationDescriptor'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("ProgressPercent", indent + 1, value.progressPercent); + CHIP_ERROR err = LogValue("LocationDescriptorLastEdit", indent + 1, value.locationDescriptorLastEdit); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ProgressPercent'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'LocationDescriptorLastEdit'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("PlatformCode", indent + 1, value.platformCode); + CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PlatformCode'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); return err; } } @@ -5883,95 +6064,80 @@ 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 PowerSource::Events::WiredFaultChange::DecodableType & value) + const chip::app::Clusters::UnitTesting::Structs::SimpleStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + CHIP_ERROR err = LogValue("A", indent + 1, value.a); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + CHIP_ERROR err = LogValue("B", indent + 1, value.b); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'B'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PowerSource::Events::BatFaultChange::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + CHIP_ERROR err = LogValue("C", indent + 1, value.c); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'C'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + CHIP_ERROR err = LogValue("D", indent + 1, value.d); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'D'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PowerSource::Events::BatChargeFaultChange::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + CHIP_ERROR err = LogValue("E", indent + 1, value.e); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'E'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + CHIP_ERROR err = LogValue("F", indent + 1, value.f); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'F'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralDiagnostics::Events::HardwareFaultChange::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + CHIP_ERROR err = LogValue("G", indent + 1, value.g); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'G'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + CHIP_ERROR err = LogValue("H", indent + 1, value.h); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'H'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("I", indent + 1, value.i); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'I'"); return err; } } @@ -5979,95 +6145,73 @@ 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 GeneralDiagnostics::Events::RadioFaultChange::DecodableType & value) + const chip::app::Clusters::UnitTesting::Structs::TestFabricScoped::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + CHIP_ERROR err = LogValue("FabricSensitiveInt8u", indent + 1, value.fabricSensitiveInt8u); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveInt8u'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + CHIP_ERROR err = LogValue("OptionalFabricSensitiveInt8u", indent + 1, value.optionalFabricSensitiveInt8u); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalFabricSensitiveInt8u'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralDiagnostics::Events::NetworkFaultChange::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + CHIP_ERROR err = LogValue("NullableFabricSensitiveInt8u", indent + 1, value.nullableFabricSensitiveInt8u); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableFabricSensitiveInt8u'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + CHIP_ERROR err = LogValue("NullableOptionalFabricSensitiveInt8u", indent + 1, value.nullableOptionalFabricSensitiveInt8u); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + DataModelLogger::LogString(indent + 1, + "Struct truncated due to invalid value for 'NullableOptionalFabricSensitiveInt8u'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralDiagnostics::Events::BootReason::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("BootReason", indent + 1, value.bootReason); + CHIP_ERROR err = LogValue("FabricSensitiveCharString", indent + 1, value.fabricSensitiveCharString); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BootReason'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveCharString'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SoftwareDiagnostics::Events::SoftwareFault::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Id", indent + 1, value.id); + CHIP_ERROR err = LogValue("FabricSensitiveStruct", indent + 1, value.fabricSensitiveStruct); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Id'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveStruct'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Name", indent + 1, value.name); + CHIP_ERROR err = LogValue("FabricSensitiveInt8uList", indent + 1, value.fabricSensitiveInt8uList); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Name'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricSensitiveInt8uList'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FaultRecording", indent + 1, value.faultRecording); + CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FaultRecording'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'"); return err; } } @@ -6075,207 +6219,105 @@ 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 ThreadNetworkDiagnostics::Events::ConnectionStatus::DecodableType & value) + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::UnitTesting::Structs::NullablesAndOptionalsStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ConnectionStatus", indent + 1, value.connectionStatus); + CHIP_ERROR err = LogValue("NullableInt", indent + 1, value.nullableInt); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ConnectionStatus'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableInt'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ThreadNetworkDiagnostics::Events::NetworkFaultChange::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); + CHIP_ERROR err = LogValue("OptionalInt", indent + 1, value.optionalInt); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalInt'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + CHIP_ERROR err = LogValue("NullableOptionalInt", indent + 1, value.nullableOptionalInt); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalInt'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const WiFiNetworkDiagnostics::Events::Disconnection::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ReasonCode", indent + 1, value.reasonCode); + CHIP_ERROR err = LogValue("NullableString", indent + 1, value.nullableString); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ReasonCode'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableString'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const WiFiNetworkDiagnostics::Events::AssociationFailure::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AssociationFailureCause", indent + 1, value.associationFailureCause); + CHIP_ERROR err = LogValue("OptionalString", indent + 1, value.optionalString); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AssociationFailureCause'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalString'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Status", indent + 1, value.status); + CHIP_ERROR err = LogValue("NullableOptionalString", indent + 1, value.nullableOptionalString); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Status'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalString'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const WiFiNetworkDiagnostics::Events::ConnectionStatus::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ConnectionStatus", indent + 1, value.connectionStatus); + CHIP_ERROR err = LogValue("NullableStruct", indent + 1, value.nullableStruct); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ConnectionStatus'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableStruct'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TimeSynchronization::Events::DSTTableEmpty::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TimeSynchronization::Events::DSTStatus::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("DSTOffsetActive", indent + 1, value.DSTOffsetActive); + CHIP_ERROR err = LogValue("OptionalStruct", indent + 1, value.optionalStruct); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DSTOffsetActive'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalStruct'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TimeSynchronization::Events::TimeZoneStatus::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Offset", indent + 1, value.offset); + CHIP_ERROR err = LogValue("NullableOptionalStruct", indent + 1, value.nullableOptionalStruct); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Offset'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalStruct'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Name", indent + 1, value.name); + CHIP_ERROR err = LogValue("NullableList", indent + 1, value.nullableList); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Name'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableList'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TimeSynchronization::Events::TimeFailure::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TimeSynchronization::Events::MissingTrustedTimeSource::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasicInformation::Events::StartUp::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); + CHIP_ERROR err = LogValue("OptionalList", indent + 1, value.optionalList); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'OptionalList'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasicInformation::Events::ShutDown::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasicInformation::Events::Leave::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BridgedDeviceBasicInformation::Events::ReachableChanged::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ReachableNewValue", indent + 1, value.reachableNewValue); + CHIP_ERROR err = LogValue("NullableOptionalList", indent + 1, value.nullableOptionalList); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ReachableNewValue'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'NullableOptionalList'"); return err; } } @@ -6283,60 +6325,40 @@ 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 BridgedDeviceBasicInformation::Events::ActiveChanged::DecodableType & value) + const chip::app::Clusters::UnitTesting::Structs::NestedStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("PromisedActiveDuration", indent + 1, value.promisedActiveDuration); + CHIP_ERROR err = LogValue("A", indent + 1, value.a); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PromisedActiveDuration'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::SwitchLatched::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); + CHIP_ERROR err = LogValue("B", indent + 1, value.b); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'B'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::InitialPress::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); + CHIP_ERROR err = LogValue("C", indent + 1, value.c); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'C'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::LongPress::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); + CHIP_ERROR err = LogValue("D", indent + 1, value.d); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'D'"); return err; } } @@ -6344,94 +6366,64 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Sw return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::ShortRelease::DecodableType & value) + +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::UnitTesting::Structs::NestedStructList::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("PreviousPosition", indent + 1, value.previousPosition); + CHIP_ERROR err = LogValue("A", indent + 1, value.a); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousPosition'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::LongRelease::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("PreviousPosition", indent + 1, value.previousPosition); + CHIP_ERROR err = LogValue("B", indent + 1, value.b); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousPosition'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'B'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Switch::Events::MultiPressOngoing::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); + CHIP_ERROR err = LogValue("C", indent + 1, value.c); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'C'"); return err; } } { - CHIP_ERROR err = - DataModelLogger::LogValue("CurrentNumberOfPressesCounted", indent + 1, value.currentNumberOfPressesCounted); + CHIP_ERROR err = LogValue("D", indent + 1, value.d); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CurrentNumberOfPressesCounted'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'D'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Switch::Events::MultiPressComplete::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("PreviousPosition", indent + 1, value.previousPosition); + CHIP_ERROR err = LogValue("E", indent + 1, value.e); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousPosition'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'E'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("TotalNumberOfPressesCounted", indent + 1, value.totalNumberOfPressesCounted); + CHIP_ERROR err = LogValue("F", indent + 1, value.f); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalNumberOfPressesCounted'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'F'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const BooleanState::Events::StateChange::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("StateValue", indent + 1, value.stateValue); + CHIP_ERROR err = LogValue("G", indent + 1, value.g); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StateValue'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'G'"); return err; } } @@ -6439,15 +6431,16 @@ 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 OvenCavityOperationalState::Events::OperationalError::DecodableType & value) + const chip::app::Clusters::UnitTesting::Structs::DoubleNestedStructList::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ErrorState", indent + 1, value.errorState); + CHIP_ERROR err = LogValue("A", indent + 1, value.a); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ErrorState'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'A'"); return err; } } @@ -6455,31 +6448,24 @@ 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 OvenCavityOperationalState::Events::OperationCompletion::DecodableType & value) + const chip::app::Clusters::UnitTesting::Structs::TestListStructOctet::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("CompletionErrorCode", indent + 1, value.completionErrorCode); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CompletionErrorCode'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("TotalOperationalTime", indent + 1, value.totalOperationalTime); + CHIP_ERROR err = LogValue("Member1", indent + 1, value.member1); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalOperationalTime'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Member1'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("PausedTime", indent + 1, value.pausedTime); + CHIP_ERROR err = LogValue("Member2", indent + 1, value.member2); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PausedTime'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Member2'"); return err; } } @@ -6487,39 +6473,48 @@ 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 RefrigeratorAlarm::Events::Notify::DecodableType & value) + const AccessControl::Events::AccessControlEntryChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Active", indent + 1, value.active); + CHIP_ERROR err = DataModelLogger::LogValue("AdminNodeID", indent + 1, value.adminNodeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Active'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminNodeID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Inactive", indent + 1, value.inactive); + CHIP_ERROR err = DataModelLogger::LogValue("AdminPasscodeID", indent + 1, value.adminPasscodeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Inactive'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminPasscodeID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); + CHIP_ERROR err = DataModelLogger::LogValue("ChangeType", indent + 1, value.changeType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ChangeType'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Mask", indent + 1, value.mask); + CHIP_ERROR err = DataModelLogger::LogValue("LatestValue", indent + 1, value.latestValue); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Mask'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LatestValue'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); return err; } } @@ -6528,117 +6523,46 @@ 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 SmokeCoAlarm::Events::SmokeAlarm::DecodableType & value) + const AccessControl::Events::AccessControlExtensionChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); + CHIP_ERROR err = DataModelLogger::LogValue("AdminNodeID", indent + 1, value.adminNodeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminNodeID'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const SmokeCoAlarm::Events::COAlarm::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); + CHIP_ERROR err = DataModelLogger::LogValue("AdminPasscodeID", indent + 1, value.adminPasscodeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AdminPasscodeID'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::LowBattery::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); + CHIP_ERROR err = DataModelLogger::LogValue("ChangeType", indent + 1, value.changeType); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ChangeType'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::HardwareFault::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::EndOfService::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::SelfTestComplete::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::AlarmMuted::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::MuteEnded::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::InterconnectSmokeAlarm::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); + CHIP_ERROR err = DataModelLogger::LogValue("LatestValue", indent + 1, value.latestValue); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LatestValue'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SmokeCoAlarm::Events::InterconnectCOAlarm::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); return err; } } @@ -6646,62 +6570,39 @@ 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 SmokeCoAlarm::Events::AllClear::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DishwasherAlarm::Events::Notify::DecodableType & value) + const AccessControl::Events::FabricRestrictionReviewUpdate::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Active", indent + 1, value.active); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Active'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("Inactive", indent + 1, value.inactive); + CHIP_ERROR err = DataModelLogger::LogValue("Token", indent + 1, value.token); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Inactive'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Token'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); + CHIP_ERROR err = DataModelLogger::LogValue("Instruction", indent + 1, value.instruction); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Instruction'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Mask", indent + 1, value.mask); + CHIP_ERROR err = DataModelLogger::LogValue("ARLRequestFlowUrl", indent + 1, value.ARLRequestFlowUrl); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Mask'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ARLRequestFlowUrl'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalState::Events::OperationalError::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ErrorState", indent + 1, value.errorState); + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ErrorState'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); return err; } } @@ -6709,31 +6610,30 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalState::Events::OperationCompletion::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Actions::Events::StateChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("CompletionErrorCode", indent + 1, value.completionErrorCode); + CHIP_ERROR err = DataModelLogger::LogValue("ActionID", indent + 1, value.actionID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CompletionErrorCode'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ActionID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("TotalOperationalTime", indent + 1, value.totalOperationalTime); + CHIP_ERROR err = DataModelLogger::LogValue("InvokeID", indent + 1, value.invokeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalOperationalTime'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'InvokeID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("PausedTime", indent + 1, value.pausedTime); + CHIP_ERROR err = DataModelLogger::LogValue("NewState", indent + 1, value.newState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PausedTime'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewState'"); return err; } } @@ -6741,47 +6641,38 @@ 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 RvcOperationalState::Events::OperationalError::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Actions::Events::ActionFailed::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ErrorState", indent + 1, value.errorState); + CHIP_ERROR err = DataModelLogger::LogValue("ActionID", indent + 1, value.actionID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ErrorState'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ActionID'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const RvcOperationalState::Events::OperationCompletion::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("CompletionErrorCode", indent + 1, value.completionErrorCode); + CHIP_ERROR err = DataModelLogger::LogValue("InvokeID", indent + 1, value.invokeID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CompletionErrorCode'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'InvokeID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("TotalOperationalTime", indent + 1, value.totalOperationalTime); + CHIP_ERROR err = DataModelLogger::LogValue("NewState", indent + 1, value.newState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalOperationalTime'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewState'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("PausedTime", indent + 1, value.pausedTime); + CHIP_ERROR err = DataModelLogger::LogValue("Error", indent + 1, value.error); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PausedTime'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Error'"); return err; } } @@ -6790,22 +6681,38 @@ 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 BooleanStateConfiguration::Events::AlarmsStateChanged::DecodableType & value) + const BasicInformation::Events::StartUp::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmsActive", indent + 1, value.alarmsActive); + CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmsActive'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const BasicInformation::Events::ShutDown::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const BasicInformation::Events::Leave::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmsSuppressed", indent + 1, value.alarmsSuppressed); + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmsSuppressed'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); return err; } } @@ -6814,14 +6721,14 @@ 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 BooleanStateConfiguration::Events::SensorFault::DecodableType & value) + const BasicInformation::Events::ReachableChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SensorFault", indent + 1, value.sensorFault); + CHIP_ERROR err = DataModelLogger::LogValue("ReachableNewValue", indent + 1, value.reachableNewValue); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SensorFault'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ReachableNewValue'"); return err; } } @@ -6830,54 +6737,38 @@ 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 ValveConfigurationAndControl::Events::ValveStateChanged::DecodableType & value) + const OtaSoftwareUpdateRequestor::Events::StateTransition::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ValveState", indent + 1, value.valveState); + CHIP_ERROR err = DataModelLogger::LogValue("PreviousState", indent + 1, value.previousState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ValveState'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousState'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("ValveLevel", indent + 1, value.valveLevel); + CHIP_ERROR err = DataModelLogger::LogValue("NewState", indent + 1, value.newState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ValveLevel'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewState'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ValveConfigurationAndControl::Events::ValveFault::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("ValveFault", indent + 1, value.valveFault); + CHIP_ERROR err = DataModelLogger::LogValue("Reason", indent + 1, value.reason); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ValveFault'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Reason'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ElectricalPowerMeasurement::Events::MeasurementPeriodRanges::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Ranges", indent + 1, value.ranges); + CHIP_ERROR err = DataModelLogger::LogValue("TargetSoftwareVersion", indent + 1, value.targetSoftwareVersion); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Ranges'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TargetSoftwareVersion'"); return err; } } @@ -6886,22 +6777,22 @@ 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 ElectricalEnergyMeasurement::Events::CumulativeEnergyMeasured::DecodableType & value) + const OtaSoftwareUpdateRequestor::Events::VersionApplied::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("EnergyImported", indent + 1, value.energyImported); + CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyImported'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("EnergyExported", indent + 1, value.energyExported); + CHIP_ERROR err = DataModelLogger::LogValue("ProductID", indent + 1, value.productID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyExported'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ProductID'"); return err; } } @@ -6910,38 +6801,38 @@ 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 ElectricalEnergyMeasurement::Events::PeriodicEnergyMeasured::DecodableType & value) + const OtaSoftwareUpdateRequestor::Events::DownloadError::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("EnergyImported", indent + 1, value.energyImported); + CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyImported'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("EnergyExported", indent + 1, value.energyExported); + CHIP_ERROR err = DataModelLogger::LogValue("BytesDownloaded", indent + 1, value.bytesDownloaded); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyExported'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BytesDownloaded'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const WaterHeaterManagement::Events::BoostStarted::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("BoostInfo", indent + 1, value.boostInfo); + CHIP_ERROR err = DataModelLogger::LogValue("ProgressPercent", indent + 1, value.progressPercent); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BoostInfo'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ProgressPercent'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("PlatformCode", indent + 1, value.platformCode); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PlatformCode'"); return err; } } @@ -6950,94 +6841,118 @@ 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 WaterHeaterManagement::Events::BoostEnded::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DemandResponseLoadControl::Events::LoadControlEventStatusChange::DecodableType & value) + const PowerSource::Events::WiredFaultChange::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("EventID", indent + 1, value.eventID); + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EventID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("TransitionIndex", indent + 1, value.transitionIndex); + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TransitionIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PowerSource::Events::BatFaultChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Status", indent + 1, value.status); + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Status'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Criticality", indent + 1, value.criticality); + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Criticality'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PowerSource::Events::BatChargeFaultChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Control", indent + 1, value.control); + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Control'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("TemperatureControl", indent + 1, value.temperatureControl); + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TemperatureControl'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const GeneralDiagnostics::Events::HardwareFaultChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AverageLoadControl", indent + 1, value.averageLoadControl); + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AverageLoadControl'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("DutyCycleControl", indent + 1, value.dutyCycleControl); + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DutyCycleControl'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const GeneralDiagnostics::Events::RadioFaultChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("PowerSavingsControl", indent + 1, value.powerSavingsControl); + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PowerSavingsControl'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("HeatingSourceControl", indent + 1, value.heatingSourceControl); + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'HeatingSourceControl'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); return err; } } @@ -7046,14 +6961,22 @@ 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 Messages::Events::MessageQueued::DecodableType & value) + const GeneralDiagnostics::Events::NetworkFaultChange::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("MessageID", indent + 1, value.messageID); + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MessageID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); return err; } } @@ -7062,14 +6985,14 @@ 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 Messages::Events::MessagePresented::DecodableType & value) + const GeneralDiagnostics::Events::BootReason::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("MessageID", indent + 1, value.messageID); + CHIP_ERROR err = DataModelLogger::LogValue("BootReason", indent + 1, value.bootReason); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MessageID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BootReason'"); return err; } } @@ -7078,38 +7001,30 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Messages::Events::MessageComplete::DecodableType & value) + const SoftwareDiagnostics::Events::SoftwareFault::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("MessageID", indent + 1, value.messageID); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MessageID'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("ResponseID", indent + 1, value.responseID); + CHIP_ERROR err = DataModelLogger::LogValue("Id", indent + 1, value.id); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ResponseID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Id'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Reply", indent + 1, value.reply); + CHIP_ERROR err = DataModelLogger::LogValue("Name", indent + 1, value.name); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Reply'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Name'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FutureMessagesPreference", indent + 1, value.futureMessagesPreference); + CHIP_ERROR err = DataModelLogger::LogValue("FaultRecording", indent + 1, value.faultRecording); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FutureMessagesPreference'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FaultRecording'"); return err; } } @@ -7118,38 +7033,38 @@ 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 DeviceEnergyManagement::Events::PowerAdjustStart::DecodableType & value) + const ThreadNetworkDiagnostics::Events::ConnectionStatus::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("ConnectionStatus", indent + 1, value.connectionStatus); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ConnectionStatus'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DeviceEnergyManagement::Events::PowerAdjustEnd::DecodableType & value) + const ThreadNetworkDiagnostics::Events::NetworkFaultChange::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Cause", indent + 1, value.cause); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Cause'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("Duration", indent + 1, value.duration); + CHIP_ERROR err = DataModelLogger::LogValue("Current", indent + 1, value.current); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Duration'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Current'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("EnergyUse", indent + 1, value.energyUse); + CHIP_ERROR err = DataModelLogger::LogValue("Previous", indent + 1, value.previous); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyUse'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Previous'"); return err; } } @@ -7158,22 +7073,38 @@ 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 DeviceEnergyManagement::Events::Paused::DecodableType & value) + const WiFiNetworkDiagnostics::Events::Disconnection::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("ReasonCode", indent + 1, value.reasonCode); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ReasonCode'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DeviceEnergyManagement::Events::Resumed::DecodableType & value) + const WiFiNetworkDiagnostics::Events::AssociationFailure::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Cause", indent + 1, value.cause); + CHIP_ERROR err = DataModelLogger::LogValue("AssociationFailureCause", indent + 1, value.associationFailureCause); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Cause'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AssociationFailureCause'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Status", indent + 1, value.status); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Status'"); return err; } } @@ -7182,14 +7113,14 @@ 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 EnergyEvse::Events::EVConnected::DecodableType & value) + const WiFiNetworkDiagnostics::Events::ConnectionStatus::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); + CHIP_ERROR err = DataModelLogger::LogValue("ConnectionStatus", indent + 1, value.connectionStatus); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ConnectionStatus'"); return err; } } @@ -7198,46 +7129,46 @@ 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 EnergyEvse::Events::EVNotDetected::DecodableType & value) + const TimeSynchronization::Events::DSTTableEmpty::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const TimeSynchronization::Events::DSTStatus::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("SessionDuration", indent + 1, value.sessionDuration); + CHIP_ERROR err = DataModelLogger::LogValue("DSTOffsetActive", indent + 1, value.DSTOffsetActive); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionDuration'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DSTOffsetActive'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const TimeSynchronization::Events::TimeZoneStatus::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SessionEnergyCharged", indent + 1, value.sessionEnergyCharged); + CHIP_ERROR err = DataModelLogger::LogValue("Offset", indent + 1, value.offset); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionEnergyCharged'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Offset'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("SessionEnergyDischarged", indent + 1, value.sessionEnergyDischarged); + CHIP_ERROR err = DataModelLogger::LogValue("Name", indent + 1, value.name); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionEnergyDischarged'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Name'"); return err; } } @@ -7246,38 +7177,30 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const EnergyEvse::Events::EnergyTransferStarted::DecodableType & value) + const TimeSynchronization::Events::TimeFailure::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const TimeSynchronization::Events::MissingTrustedTimeSource::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const BridgedDeviceBasicInformation::Events::StartUp::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("MaximumCurrent", indent + 1, value.maximumCurrent); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaximumCurrent'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("MaximumDischargeCurrent", indent + 1, value.maximumDischargeCurrent); + CHIP_ERROR err = DataModelLogger::LogValue("SoftwareVersion", indent + 1, value.softwareVersion); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaximumDischargeCurrent'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SoftwareVersion'"); return err; } } @@ -7286,85 +7209,76 @@ 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 EnergyEvse::Events::EnergyTransferStopped::DecodableType & value) + const BridgedDeviceBasicInformation::Events::ShutDown::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("Reason", indent + 1, value.reason); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Reason'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("EnergyTransferred", indent + 1, value.energyTransferred); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyTransferred'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("EnergyDischarged", indent + 1, value.energyDischarged); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyDischarged'"); - return err; - } - } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const EnergyEvse::Events::Fault::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const BridgedDeviceBasicInformation::Events::Leave::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const BridgedDeviceBasicInformation::Events::ReachableChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); + CHIP_ERROR err = DataModelLogger::LogValue("ReachableNewValue", indent + 1, value.reachableNewValue); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ReachableNewValue'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const BridgedDeviceBasicInformation::Events::ActiveChanged::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); + CHIP_ERROR err = DataModelLogger::LogValue("PromisedActiveDuration", indent + 1, value.promisedActiveDuration); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PromisedActiveDuration'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::SwitchLatched::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("FaultStatePreviousState", indent + 1, value.faultStatePreviousState); + CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FaultStatePreviousState'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::InitialPress::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("FaultStateCurrentState", indent + 1, value.faultStateCurrentState); + CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FaultStateCurrentState'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); return err; } } @@ -7372,14 +7286,14 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const En return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const EnergyEvse::Events::Rfid::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::LongPress::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Uid", indent + 1, value.uid); + CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Uid'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); return err; } } @@ -7387,15 +7301,14 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const En return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Events::DoorLockAlarm::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::ShortRelease::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("AlarmCode", indent + 1, value.alarmCode); + CHIP_ERROR err = DataModelLogger::LogValue("PreviousPosition", indent + 1, value.previousPosition); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmCode'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousPosition'"); return err; } } @@ -7403,15 +7316,14 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Events::DoorStateChange::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Switch::Events::LongRelease::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("DoorState", indent + 1, value.doorState); + CHIP_ERROR err = DataModelLogger::LogValue("PreviousPosition", indent + 1, value.previousPosition); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DoorState'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousPosition'"); return err; } } @@ -7420,54 +7332,79 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Events::LockOperation::DecodableType & value) + const Switch::Events::MultiPressOngoing::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("LockOperationType", indent + 1, value.lockOperationType); + CHIP_ERROR err = DataModelLogger::LogValue("NewPosition", indent + 1, value.newPosition); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LockOperationType'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'NewPosition'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("OperationSource", indent + 1, value.operationSource); + CHIP_ERROR err = + DataModelLogger::LogValue("CurrentNumberOfPressesCounted", indent + 1, value.currentNumberOfPressesCounted); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationSource'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CurrentNumberOfPressesCounted'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Switch::Events::MultiPressComplete::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("UserIndex", indent + 1, value.userIndex); + CHIP_ERROR err = DataModelLogger::LogValue("PreviousPosition", indent + 1, value.previousPosition); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'UserIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PreviousPosition'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = DataModelLogger::LogValue("TotalNumberOfPressesCounted", indent + 1, value.totalNumberOfPressesCounted); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalNumberOfPressesCounted'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const BooleanState::Events::StateChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SourceNode", indent + 1, value.sourceNode); + CHIP_ERROR err = DataModelLogger::LogValue("StateValue", indent + 1, value.stateValue); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SourceNode'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StateValue'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const OvenCavityOperationalState::Events::OperationalError::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Credentials", indent + 1, value.credentials); + CHIP_ERROR err = DataModelLogger::LogValue("ErrorState", indent + 1, value.errorState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Credentials'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ErrorState'"); return err; } } @@ -7476,62 +7413,70 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Events::LockOperationError::DecodableType & value) + const OvenCavityOperationalState::Events::OperationCompletion::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("LockOperationType", indent + 1, value.lockOperationType); + CHIP_ERROR err = DataModelLogger::LogValue("CompletionErrorCode", indent + 1, value.completionErrorCode); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LockOperationType'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CompletionErrorCode'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("OperationSource", indent + 1, value.operationSource); + CHIP_ERROR err = DataModelLogger::LogValue("TotalOperationalTime", indent + 1, value.totalOperationalTime); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationSource'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalOperationalTime'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("OperationError", indent + 1, value.operationError); + CHIP_ERROR err = DataModelLogger::LogValue("PausedTime", indent + 1, value.pausedTime); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationError'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PausedTime'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const RefrigeratorAlarm::Events::Notify::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("UserIndex", indent + 1, value.userIndex); + CHIP_ERROR err = DataModelLogger::LogValue("Active", indent + 1, value.active); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'UserIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Active'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = DataModelLogger::LogValue("Inactive", indent + 1, value.inactive); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Inactive'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("SourceNode", indent + 1, value.sourceNode); + CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SourceNode'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Credentials", indent + 1, value.credentials); + CHIP_ERROR err = DataModelLogger::LogValue("Mask", indent + 1, value.mask); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Credentials'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Mask'"); return err; } } @@ -7540,143 +7485,54 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Events::LockUserChange::DecodableType & value) + const SmokeCoAlarm::Events::SmokeAlarm::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("LockDataType", indent + 1, value.lockDataType); + CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LockDataType'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const SmokeCoAlarm::Events::COAlarm::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("DataOperationType", indent + 1, value.dataOperationType); + CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DataOperationType'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const SmokeCoAlarm::Events::LowBattery::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("OperationSource", indent + 1, value.operationSource); + CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationSource'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); return err; } } - { - CHIP_ERROR err = DataModelLogger::LogValue("UserIndex", indent + 1, value.userIndex); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'UserIndex'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("SourceNode", indent + 1, value.sourceNode); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SourceNode'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("DataIndex", indent + 1, value.dataIndex); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DataIndex'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::SupplyVoltageLow::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::SupplyVoltageHigh::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::PowerMissingPhase::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::SystemPressureLow::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::SystemPressureHigh::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::DryRunning::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::MotorTemperatureHigh::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::PumpMotorFatalFailure::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::ElectronicTemperatureHigh::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::PumpBlocked::DecodableType & value) + const SmokeCoAlarm::Events::HardwareFault::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -7684,7 +7540,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::SensorFailure::DecodableType & value) + const SmokeCoAlarm::Events::EndOfService::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -7692,7 +7548,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::ElectronicNonFatalFailure::DecodableType & value) + const SmokeCoAlarm::Events::SelfTestComplete::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -7700,7 +7556,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::ElectronicFatalFailure::DecodableType & value) + const SmokeCoAlarm::Events::AlarmMuted::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -7708,7 +7564,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::GeneralFault::DecodableType & value) + const SmokeCoAlarm::Events::MuteEnded::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -7716,23 +7572,38 @@ 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 PumpConfigurationAndControl::Events::Leakage::DecodableType & value) + const SmokeCoAlarm::Events::InterconnectSmokeAlarm::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::AirDetection::DecodableType & value) + const SmokeCoAlarm::Events::InterconnectCOAlarm::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("AlarmSeverityLevel", indent + 1, value.alarmSeverityLevel); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmSeverityLevel'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const PumpConfigurationAndControl::Events::TurbineOperation::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const SmokeCoAlarm::Events::AllClear::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); DataModelLogger::LogString(indent, "}"); @@ -7740,46 +7611,38 @@ 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 OccupancySensing::Events::OccupancyChanged::DecodableType & value) + const DishwasherAlarm::Events::Notify::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Occupancy", indent + 1, value.occupancy); + CHIP_ERROR err = DataModelLogger::LogValue("Active", indent + 1, value.active); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Occupancy'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Active'"); return err; } } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TargetNavigator::Events::TargetUpdated::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("TargetList", indent + 1, value.targetList); + CHIP_ERROR err = DataModelLogger::LogValue("Inactive", indent + 1, value.inactive); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TargetList'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Inactive'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("CurrentTarget", indent + 1, value.currentTarget); + CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CurrentTarget'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Data", indent + 1, value.data); + CHIP_ERROR err = DataModelLogger::LogValue("Mask", indent + 1, value.mask); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Data'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Mask'"); return err; } } @@ -7788,78 +7651,94 @@ 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 MediaPlayback::Events::StateChanged::DecodableType & value) + const OperationalState::Events::OperationalError::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("CurrentState", indent + 1, value.currentState); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CurrentState'"); - return err; - } - } - { - CHIP_ERROR err = DataModelLogger::LogValue("StartTime", indent + 1, value.startTime); + CHIP_ERROR err = DataModelLogger::LogValue("ErrorState", indent + 1, value.errorState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StartTime'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ErrorState'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const OperationalState::Events::OperationCompletion::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Duration", indent + 1, value.duration); + CHIP_ERROR err = DataModelLogger::LogValue("CompletionErrorCode", indent + 1, value.completionErrorCode); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Duration'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CompletionErrorCode'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("SampledPosition", indent + 1, value.sampledPosition); + CHIP_ERROR err = DataModelLogger::LogValue("TotalOperationalTime", indent + 1, value.totalOperationalTime); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SampledPosition'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalOperationalTime'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("PlaybackSpeed", indent + 1, value.playbackSpeed); + CHIP_ERROR err = DataModelLogger::LogValue("PausedTime", indent + 1, value.pausedTime); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PlaybackSpeed'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PausedTime'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const RvcOperationalState::Events::OperationalError::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SeekRangeEnd", indent + 1, value.seekRangeEnd); + CHIP_ERROR err = DataModelLogger::LogValue("ErrorState", indent + 1, value.errorState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SeekRangeEnd'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ErrorState'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const RvcOperationalState::Events::OperationCompletion::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("SeekRangeStart", indent + 1, value.seekRangeStart); + CHIP_ERROR err = DataModelLogger::LogValue("CompletionErrorCode", indent + 1, value.completionErrorCode); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SeekRangeStart'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CompletionErrorCode'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Data", indent + 1, value.data); + CHIP_ERROR err = DataModelLogger::LogValue("TotalOperationalTime", indent + 1, value.totalOperationalTime); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Data'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TotalOperationalTime'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("AudioAdvanceUnmuted", indent + 1, value.audioAdvanceUnmuted); + CHIP_ERROR err = DataModelLogger::LogValue("PausedTime", indent + 1, value.pausedTime); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AudioAdvanceUnmuted'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PausedTime'"); return err; } } @@ -7868,14 +7747,22 @@ 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 AccountLogin::Events::LoggedOut::DecodableType & value) + const BooleanStateConfiguration::Events::AlarmsStateChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Node", indent + 1, value.node); + CHIP_ERROR err = DataModelLogger::LogValue("AlarmsActive", indent + 1, value.alarmsActive); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Node'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmsActive'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("AlarmsSuppressed", indent + 1, value.alarmsSuppressed); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmsSuppressed'"); return err; } } @@ -7884,46 +7771,70 @@ 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 ContentControl::Events::RemainingScreenTimeExpired::DecodableType & value) + const BooleanStateConfiguration::Events::SensorFault::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("SensorFault", indent + 1, value.sensorFault); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SensorFault'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const CommissionerControl::Events::CommissioningRequestResult::DecodableType & value) + const ValveConfigurationAndControl::Events::ValveStateChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("RequestID", indent + 1, value.requestID); + CHIP_ERROR err = DataModelLogger::LogValue("ValveState", indent + 1, value.valveState); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'RequestID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ValveState'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("ClientNodeID", indent + 1, value.clientNodeID); + CHIP_ERROR err = DataModelLogger::LogValue("ValveLevel", indent + 1, value.valveLevel); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ClientNodeID'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ValveLevel'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ValveConfigurationAndControl::Events::ValveFault::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("StatusCode", indent + 1, value.statusCode); + CHIP_ERROR err = DataModelLogger::LogValue("ValveFault", indent + 1, value.valveFault); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StatusCode'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ValveFault'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ElectricalPowerMeasurement::Events::MeasurementPeriodRanges::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = DataModelLogger::LogValue("Ranges", indent + 1, value.ranges); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Ranges'"); return err; } } @@ -7931,54 +7842,159 @@ 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 UnitTesting::Events::TestEvent::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ElectricalEnergyMeasurement::Events::CumulativeEnergyMeasured::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Arg1", indent + 1, value.arg1); + CHIP_ERROR err = DataModelLogger::LogValue("EnergyImported", indent + 1, value.energyImported); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg1'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyImported'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Arg2", indent + 1, value.arg2); + CHIP_ERROR err = DataModelLogger::LogValue("EnergyExported", indent + 1, value.energyExported); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg2'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyExported'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ElectricalEnergyMeasurement::Events::PeriodicEnergyMeasured::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Arg3", indent + 1, value.arg3); + CHIP_ERROR err = DataModelLogger::LogValue("EnergyImported", indent + 1, value.energyImported); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg3'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyImported'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Arg4", indent + 1, value.arg4); + CHIP_ERROR err = DataModelLogger::LogValue("EnergyExported", indent + 1, value.energyExported); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg4'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyExported'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const WaterHeaterManagement::Events::BoostStarted::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = DataModelLogger::LogValue("BoostInfo", indent + 1, value.boostInfo); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BoostInfo'"); return err; } } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const WaterHeaterManagement::Events::BoostEnded::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DemandResponseLoadControl::Events::LoadControlEventStatusChange::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Arg5", indent + 1, value.arg5); + CHIP_ERROR err = DataModelLogger::LogValue("EventID", indent + 1, value.eventID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg5'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EventID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("Arg6", indent + 1, value.arg6); + CHIP_ERROR err = DataModelLogger::LogValue("TransitionIndex", indent + 1, value.transitionIndex); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg6'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TransitionIndex'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Status", indent + 1, value.status); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Status'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Criticality", indent + 1, value.criticality); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Criticality'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Control", indent + 1, value.control); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Control'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("TemperatureControl", indent + 1, value.temperatureControl); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TemperatureControl'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("AverageLoadControl", indent + 1, value.averageLoadControl); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AverageLoadControl'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("DutyCycleControl", indent + 1, value.dutyCycleControl); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DutyCycleControl'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("PowerSavingsControl", indent + 1, value.powerSavingsControl); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PowerSavingsControl'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("HeatingSourceControl", indent + 1, value.heatingSourceControl); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'HeatingSourceControl'"); return err; } } @@ -7987,14 +8003,14 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const Un return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Events::TestFabricScopedEvent::DecodableType & value) + const Messages::Events::MessageQueued::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = DataModelLogger::LogValue("MessageID", indent + 1, value.messageID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MessageID'"); return err; } } @@ -8003,14 +8019,14 @@ 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 UnitTesting::Events::TestDifferentVendorMeiEvent::DecodableType & value) + const Messages::Events::MessagePresented::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Arg1", indent + 1, value.arg1); + CHIP_ERROR err = DataModelLogger::LogValue("MessageID", indent + 1, value.messageID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg1'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MessageID'"); return err; } } @@ -8019,22 +8035,38 @@ 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 SampleMei::Events::PingCountEvent::DecodableType & value) + const Messages::Events::MessageComplete::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { - CHIP_ERROR err = DataModelLogger::LogValue("Count", indent + 1, value.count); + CHIP_ERROR err = DataModelLogger::LogValue("MessageID", indent + 1, value.messageID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Count'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MessageID'"); return err; } } { - CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + CHIP_ERROR err = DataModelLogger::LogValue("ResponseID", indent + 1, value.responseID); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ResponseID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Reply", indent + 1, value.reply); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Reply'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FutureMessagesPreference", indent + 1, value.futureMessagesPreference); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FutureMessagesPreference'"); return err; } } @@ -8042,939 +8074,2565 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } - CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Groups::Commands::AddGroupResponse::DecodableType & value) + const DeviceEnergyManagement::Events::PowerAdjustStart::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Groups::Commands::ViewGroupResponse::DecodableType & value) + const DeviceEnergyManagement::Events::PowerAdjustEnd::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupName", indent + 1, value.groupName)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Cause", indent + 1, value.cause); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Cause'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Duration", indent + 1, value.duration); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Duration'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("EnergyUse", indent + 1, value.energyUse); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyUse'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Groups::Commands::GetGroupMembershipResponse::DecodableType & value) + const DeviceEnergyManagement::Events::Paused::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupList", indent + 1, value.groupList)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Groups::Commands::RemoveGroupResponse::DecodableType & value) + const DeviceEnergyManagement::Events::Resumed::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Cause", indent + 1, value.cause); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Cause'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const AccessControl::Commands::ReviewFabricRestrictionsResponse::DecodableType & value) + const EnergyEvse::Events::EVConnected::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("token", indent + 1, value.token)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("delayedActionTime", indent + 1, value.delayedActionTime)); - ReturnErrorOnFailure(DataModelLogger::LogValue("imageURI", indent + 1, value.imageURI)); - ReturnErrorOnFailure(DataModelLogger::LogValue("softwareVersion", indent + 1, value.softwareVersion)); - ReturnErrorOnFailure(DataModelLogger::LogValue("softwareVersionString", indent + 1, value.softwareVersionString)); - ReturnErrorOnFailure(DataModelLogger::LogValue("updateToken", indent + 1, value.updateToken)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userConsentNeeded", indent + 1, value.userConsentNeeded)); - ReturnErrorOnFailure(DataModelLogger::LogValue("metadataForRequestor", indent + 1, value.metadataForRequestor)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("action", indent + 1, value.action)); - ReturnErrorOnFailure(DataModelLogger::LogValue("delayedActionTime", indent + 1, value.delayedActionTime)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralCommissioning::Commands::SetRegulatoryConfigResponse::DecodableType & value) + const EnergyEvse::Events::EVNotDetected::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionDuration", indent + 1, value.sessionDuration); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionDuration'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionEnergyCharged", indent + 1, value.sessionEnergyCharged); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionEnergyCharged'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionEnergyDischarged", indent + 1, value.sessionEnergyDischarged); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionEnergyDischarged'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType & value) + const EnergyEvse::Events::EnergyTransferStarted::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MaximumCurrent", indent + 1, value.maximumCurrent); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaximumCurrent'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MaximumDischargeCurrent", indent + 1, value.maximumDischargeCurrent); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaximumDischargeCurrent'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralCommissioning::Commands::SetTCAcknowledgementsResponse::DecodableType & value) + const EnergyEvse::Events::EnergyTransferStopped::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Reason", indent + 1, value.reason); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Reason'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("EnergyTransferred", indent + 1, value.energyTransferred); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyTransferred'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("EnergyDischarged", indent + 1, value.energyDischarged); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'EnergyDischarged'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const EnergyEvse::Events::Fault::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); - ReturnErrorOnFailure(DataModelLogger::LogValue("wiFiScanResults", indent + 1, value.wiFiScanResults)); - ReturnErrorOnFailure(DataModelLogger::LogValue("threadScanResults", indent + 1, value.threadScanResults)); + { + CHIP_ERROR err = DataModelLogger::LogValue("SessionID", indent + 1, value.sessionID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SessionID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("State", indent + 1, value.state); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'State'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FaultStatePreviousState", indent + 1, value.faultStatePreviousState); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FaultStatePreviousState'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FaultStateCurrentState", indent + 1, value.faultStateCurrentState); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FaultStateCurrentState'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const EnergyEvse::Events::Rfid::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); - ReturnErrorOnFailure(DataModelLogger::LogValue("networkIndex", indent + 1, value.networkIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("clientIdentity", indent + 1, value.clientIdentity)); - ReturnErrorOnFailure(DataModelLogger::LogValue("possessionSignature", indent + 1, value.possessionSignature)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Uid", indent + 1, value.uid); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Uid'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType & value) + const DoorLock::Events::DoorLockAlarm::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); - ReturnErrorOnFailure(DataModelLogger::LogValue("errorValue", indent + 1, value.errorValue)); + { + CHIP_ERROR err = DataModelLogger::LogValue("AlarmCode", indent + 1, value.alarmCode); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AlarmCode'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const NetworkCommissioning::Commands::QueryIdentityResponse::DecodableType & value) + const DoorLock::Events::DoorStateChange::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("identity", indent + 1, value.identity)); - ReturnErrorOnFailure(DataModelLogger::LogValue("possessionSignature", indent + 1, value.possessionSignature)); + { + CHIP_ERROR err = DataModelLogger::LogValue("DoorState", indent + 1, value.doorState); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DoorState'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType & value) + const DoorLock::Events::LockOperation::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("logContent", indent + 1, value.logContent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("UTCTimeStamp", indent + 1, value.UTCTimeStamp)); - ReturnErrorOnFailure(DataModelLogger::LogValue("timeSinceBoot", indent + 1, value.timeSinceBoot)); + { + CHIP_ERROR err = DataModelLogger::LogValue("LockOperationType", indent + 1, value.lockOperationType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LockOperationType'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("OperationSource", indent + 1, value.operationSource); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationSource'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("UserIndex", indent + 1, value.userIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'UserIndex'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SourceNode", indent + 1, value.sourceNode); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SourceNode'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Credentials", indent + 1, value.credentials); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Credentials'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralDiagnostics::Commands::TimeSnapshotResponse::DecodableType & value) + const DoorLock::Events::LockOperationError::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("systemTimeMs", indent + 1, value.systemTimeMs)); - ReturnErrorOnFailure(DataModelLogger::LogValue("posixTimeMs", indent + 1, value.posixTimeMs)); + { + CHIP_ERROR err = DataModelLogger::LogValue("LockOperationType", indent + 1, value.lockOperationType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LockOperationType'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("OperationSource", indent + 1, value.operationSource); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationSource'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("OperationError", indent + 1, value.operationError); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationError'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("UserIndex", indent + 1, value.userIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'UserIndex'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SourceNode", indent + 1, value.sourceNode); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SourceNode'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Credentials", indent + 1, value.credentials); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Credentials'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GeneralDiagnostics::Commands::PayloadTestResponse::DecodableType & value) + const DoorLock::Events::LockUserChange::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("payload", indent + 1, value.payload)); + { + CHIP_ERROR err = DataModelLogger::LogValue("LockDataType", indent + 1, value.lockDataType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'LockDataType'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("DataOperationType", indent + 1, value.dataOperationType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DataOperationType'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("OperationSource", indent + 1, value.operationSource); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'OperationSource'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("UserIndex", indent + 1, value.userIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'UserIndex'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SourceNode", indent + 1, value.sourceNode); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SourceNode'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("DataIndex", indent + 1, value.dataIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'DataIndex'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TimeSynchronization::Commands::SetTimeZoneResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::SupplyVoltageLow::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("DSTOffsetRequired", indent + 1, value.DSTOffsetRequired)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalCredentials::Commands::AttestationResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::SupplyVoltageHigh::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("attestationElements", indent + 1, value.attestationElements)); - ReturnErrorOnFailure(DataModelLogger::LogValue("attestationSignature", indent + 1, value.attestationSignature)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalCredentials::Commands::CertificateChainResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::PowerMissingPhase::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("certificate", indent + 1, value.certificate)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalCredentials::Commands::CSRResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::SystemPressureLow::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("NOCSRElements", indent + 1, value.NOCSRElements)); - ReturnErrorOnFailure(DataModelLogger::LogValue("attestationSignature", indent + 1, value.attestationSignature)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalCredentials::Commands::NOCResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::SystemPressureHigh::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusCode", indent + 1, value.statusCode)); - ReturnErrorOnFailure(DataModelLogger::LogValue("fabricIndex", indent + 1, value.fabricIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GroupKeyManagement::Commands::KeySetReadResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::DryRunning::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupKeySet", indent + 1, value.groupKeySet)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::MotorTemperatureHigh::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupKeySetIDs", indent + 1, value.groupKeySetIDs)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const IcdManagement::Commands::RegisterClientResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::PumpMotorFatalFailure::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("ICDCounter", indent + 1, value.ICDCounter)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const IcdManagement::Commands::StayActiveResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::ElectronicTemperatureHigh::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("promisedActiveDuration", indent + 1, value.promisedActiveDuration)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OvenCavityOperationalState::Commands::OperationalCommandResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::PumpBlocked::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("commandResponseState", indent + 1, value.commandResponseState)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OvenMode::Commands::ChangeToModeResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::SensorFailure::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const LaundryWasherMode::Commands::ChangeToModeResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::ElectronicNonFatalFailure::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue( - const char * label, size_t indent, - const RefrigeratorAndTemperatureControlledCabinetMode::Commands::ChangeToModeResponse::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PumpConfigurationAndControl::Events::ElectronicFatalFailure::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const RvcRunMode::Commands::ChangeToModeResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::GeneralFault::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const RvcCleanMode::Commands::ChangeToModeResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::Leakage::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DishwasherMode::Commands::ChangeToModeResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::AirDetection::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalState::Commands::OperationalCommandResponse::DecodableType & value) + const PumpConfigurationAndControl::Events::TurbineOperation::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("commandResponseState", indent + 1, value.commandResponseState)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const RvcOperationalState::Commands::OperationalCommandResponse::DecodableType & value) + const OccupancySensing::Events::OccupancyChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("commandResponseState", indent + 1, value.commandResponseState)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ScenesManagement::Commands::AddSceneResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ScenesManagement::Commands::ViewSceneResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("transitionTime", indent + 1, value.transitionTime)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneName", indent + 1, value.sceneName)); - ReturnErrorOnFailure(DataModelLogger::LogValue("extensionFieldSets", indent + 1, value.extensionFieldSets)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ScenesManagement::Commands::RemoveSceneResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ScenesManagement::Commands::RemoveAllScenesResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Occupancy", indent + 1, value.occupancy); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Occupancy'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ScenesManagement::Commands::StoreSceneResponse::DecodableType & value) + const TargetNavigator::Events::TargetUpdated::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); + { + CHIP_ERROR err = DataModelLogger::LogValue("TargetList", indent + 1, value.targetList); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TargetList'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("CurrentTarget", indent + 1, value.currentTarget); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CurrentTarget'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Data", indent + 1, value.data); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Data'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ScenesManagement::Commands::GetSceneMembershipResponse::DecodableType & value) + const MediaPlayback::Events::StateChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneList", indent + 1, value.sceneList)); + { + CHIP_ERROR err = DataModelLogger::LogValue("CurrentState", indent + 1, value.currentState); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'CurrentState'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("StartTime", indent + 1, value.startTime); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StartTime'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Duration", indent + 1, value.duration); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Duration'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SampledPosition", indent + 1, value.sampledPosition); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SampledPosition'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("PlaybackSpeed", indent + 1, value.playbackSpeed); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'PlaybackSpeed'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SeekRangeEnd", indent + 1, value.seekRangeEnd); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SeekRangeEnd'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SeekRangeStart", indent + 1, value.seekRangeStart); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SeekRangeStart'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Data", indent + 1, value.data); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Data'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("AudioAdvanceUnmuted", indent + 1, value.audioAdvanceUnmuted); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AudioAdvanceUnmuted'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ScenesManagement::Commands::CopySceneResponse::DecodableType & value) + const AccountLogin::Events::LoggedOut::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("groupIdentifierFrom", indent + 1, value.groupIdentifierFrom)); - ReturnErrorOnFailure(DataModelLogger::LogValue("sceneIdentifierFrom", indent + 1, value.sceneIdentifierFrom)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Node", indent + 1, value.node); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Node'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const EnergyEvse::Commands::GetTargetsResponse::DecodableType & value) + const ContentControl::Events::RemainingScreenTimeExpired::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("chargingTargetSchedules", indent + 1, value.chargingTargetSchedules)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const EnergyEvseMode::Commands::ChangeToModeResponse::DecodableType & value) + const CameraAvStreamManagement::Events::VideoStreamChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + { + CHIP_ERROR err = DataModelLogger::LogValue("VideoStreamID", indent + 1, value.videoStreamID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'VideoStreamID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("StreamType", indent + 1, value.streamType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StreamType'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("VideoCodec", indent + 1, value.videoCodec); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'VideoCodec'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MinFrameRate", indent + 1, value.minFrameRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MinFrameRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MaxFrameRate", indent + 1, value.maxFrameRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaxFrameRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MinResolution", indent + 1, value.minResolution); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MinResolution'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MaxResolution", indent + 1, value.maxResolution); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaxResolution'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MinBitRate", indent + 1, value.minBitRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MinBitRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MaxBitRate", indent + 1, value.maxBitRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaxBitRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MinFragmentLen", indent + 1, value.minFragmentLen); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MinFragmentLen'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MaxFragmentLen", indent + 1, value.maxFragmentLen); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaxFragmentLen'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const WaterHeaterMode::Commands::ChangeToModeResponse::DecodableType & value) + const CameraAvStreamManagement::Events::AudioStreamChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); - DataModelLogger::LogString(indent, "}"); - return CHIP_NO_ERROR; -} -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DeviceEnergyManagementMode::Commands::ChangeToModeResponse::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + { + CHIP_ERROR err = DataModelLogger::LogValue("AudioStreamID", indent + 1, value.audioStreamID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AudioStreamID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("StreamType", indent + 1, value.streamType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StreamType'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("AudioCodec", indent + 1, value.audioCodec); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'AudioCodec'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("ChannelCount", indent + 1, value.channelCount); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ChannelCount'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("SampleRate", indent + 1, value.sampleRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SampleRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("BitRate", indent + 1, value.bitRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BitRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("BitDepth", indent + 1, value.bitDepth); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BitDepth'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::GetWeekDayScheduleResponse::DecodableType & value) + const CameraAvStreamManagement::Events::SnapshotStreamChanged::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("weekDayIndex", indent + 1, value.weekDayIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("daysMask", indent + 1, value.daysMask)); - ReturnErrorOnFailure(DataModelLogger::LogValue("startHour", indent + 1, value.startHour)); - ReturnErrorOnFailure(DataModelLogger::LogValue("startMinute", indent + 1, value.startMinute)); - ReturnErrorOnFailure(DataModelLogger::LogValue("endHour", indent + 1, value.endHour)); - ReturnErrorOnFailure(DataModelLogger::LogValue("endMinute", indent + 1, value.endMinute)); + { + CHIP_ERROR err = DataModelLogger::LogValue("SnapshotStreamID", indent + 1, value.snapshotStreamID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'SnapshotStreamID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("ImageCodec", indent + 1, value.imageCodec); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ImageCodec'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FrameRate", indent + 1, value.frameRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FrameRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("BitRate", indent + 1, value.bitRate); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'BitRate'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MinResolution", indent + 1, value.minResolution); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MinResolution'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("MaxResolution", indent + 1, value.maxResolution); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'MaxResolution'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Quality", indent + 1, value.quality); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Quality'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::GetYearDayScheduleResponse::DecodableType & value) + const PushAvStreamTransport::Events::PushTransportBegin::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("yearDayIndex", indent + 1, value.yearDayIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("localStartTime", indent + 1, value.localStartTime)); - ReturnErrorOnFailure(DataModelLogger::LogValue("localEndTime", indent + 1, value.localEndTime)); DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::GetHolidayScheduleResponse::DecodableType & value) + const PushAvStreamTransport::Events::PushTransportEnd::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("holidayIndex", indent + 1, value.holidayIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("localStartTime", indent + 1, value.localStartTime)); - ReturnErrorOnFailure(DataModelLogger::LogValue("localEndTime", indent + 1, value.localEndTime)); - ReturnErrorOnFailure(DataModelLogger::LogValue("operatingMode", indent + 1, value.operatingMode)); + { + CHIP_ERROR err = DataModelLogger::LogValue("ConnectionID", indent + 1, value.connectionID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ConnectionID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("TriggerDetails", indent + 1, value.triggerDetails); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'TriggerDetails'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::GetUserResponse::DecodableType & value) + const CommissionerControl::Events::CommissioningRequestResult::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userName", indent + 1, value.userName)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userUniqueID", indent + 1, value.userUniqueID)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); - ReturnErrorOnFailure(DataModelLogger::LogValue("credentialRule", indent + 1, value.credentialRule)); - ReturnErrorOnFailure(DataModelLogger::LogValue("credentials", indent + 1, value.credentials)); - ReturnErrorOnFailure(DataModelLogger::LogValue("creatorFabricIndex", indent + 1, value.creatorFabricIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("lastModifiedFabricIndex", indent + 1, value.lastModifiedFabricIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nextUserIndex", indent + 1, value.nextUserIndex)); + { + CHIP_ERROR err = DataModelLogger::LogValue("RequestID", indent + 1, value.requestID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'RequestID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("ClientNodeID", indent + 1, value.clientNodeID); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'ClientNodeID'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("StatusCode", indent + 1, value.statusCode); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'StatusCode'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::SetCredentialResponse::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const UnitTesting::Events::TestEvent::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nextCredentialIndex", indent + 1, value.nextCredentialIndex)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Arg1", indent + 1, value.arg1); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg1'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Arg2", indent + 1, value.arg2); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg2'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Arg3", indent + 1, value.arg3); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg3'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Arg4", indent + 1, value.arg4); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg4'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Arg5", indent + 1, value.arg5); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg5'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("Arg6", indent + 1, value.arg6); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg6'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const DoorLock::Commands::GetCredentialStatusResponse::DecodableType & value) + const UnitTesting::Events::TestFabricScopedEvent::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("credentialExists", indent + 1, value.credentialExists)); - ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("creatorFabricIndex", indent + 1, value.creatorFabricIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("lastModifiedFabricIndex", indent + 1, value.lastModifiedFabricIndex)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nextCredentialIndex", indent + 1, value.nextCredentialIndex)); + { + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ServiceArea::Commands::SelectAreasResponse::DecodableType & value) + const UnitTesting::Events::TestDifferentVendorMeiEvent::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Arg1", indent + 1, value.arg1); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Arg1'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ServiceArea::Commands::SkipAreaResponse::DecodableType & value) + const SampleMei::Events::PingCountEvent::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + { + CHIP_ERROR err = DataModelLogger::LogValue("Count", indent + 1, value.count); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'Count'"); + return err; + } + } + { + CHIP_ERROR err = DataModelLogger::LogValue("FabricIndex", indent + 1, value.fabricIndex); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for 'FabricIndex'"); + return err; + } + } DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; } + CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType & value) + const Groups::Commands::AddGroupResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure( - DataModelLogger::LogValue("numberOfTransitionsForSequence", indent + 1, value.numberOfTransitionsForSequence)); - ReturnErrorOnFailure(DataModelLogger::LogValue("dayOfWeekForSequence", indent + 1, value.dayOfWeekForSequence)); - ReturnErrorOnFailure(DataModelLogger::LogValue("modeForSequence", indent + 1, value.modeForSequence)); - ReturnErrorOnFailure(DataModelLogger::LogValue("transitions", indent + 1, value.transitions)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Thermostat::Commands::AtomicResponse::DecodableType & value) + const Groups::Commands::ViewGroupResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("statusCode", indent + 1, value.statusCode)); - ReturnErrorOnFailure(DataModelLogger::LogValue("attributeStatus", indent + 1, value.attributeStatus)); - ReturnErrorOnFailure(DataModelLogger::LogValue("timeout", indent + 1, value.timeout)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupName", indent + 1, value.groupName)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const WiFiNetworkManagement::Commands::NetworkPassphraseResponse::DecodableType & value) + const Groups::Commands::GetGroupMembershipResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("passphrase", indent + 1, value.passphrase)); + ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupList", indent + 1, value.groupList)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ThreadBorderRouterManagement::Commands::DatasetResponse::DecodableType & value) + const Groups::Commands::RemoveGroupResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("dataset", indent + 1, value.dataset)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ThreadNetworkDirectory::Commands::OperationalDatasetResponse::DecodableType & value) + const AccessControl::Commands::ReviewFabricRestrictionsResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("operationalDataset", indent + 1, value.operationalDataset)); + ReturnErrorOnFailure(DataModelLogger::LogValue("token", indent + 1, value.token)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Channel::Commands::ChangeChannelResponse::DecodableType & value) + const OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("delayedActionTime", indent + 1, value.delayedActionTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("imageURI", indent + 1, value.imageURI)); + ReturnErrorOnFailure(DataModelLogger::LogValue("softwareVersion", indent + 1, value.softwareVersion)); + ReturnErrorOnFailure(DataModelLogger::LogValue("softwareVersionString", indent + 1, value.softwareVersionString)); + ReturnErrorOnFailure(DataModelLogger::LogValue("updateToken", indent + 1, value.updateToken)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userConsentNeeded", indent + 1, value.userConsentNeeded)); + ReturnErrorOnFailure(DataModelLogger::LogValue("metadataForRequestor", indent + 1, value.metadataForRequestor)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const Channel::Commands::ProgramGuideResponse::DecodableType & value) + const OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("paging", indent + 1, value.paging)); - ReturnErrorOnFailure(DataModelLogger::LogValue("programList", indent + 1, value.programList)); + ReturnErrorOnFailure(DataModelLogger::LogValue("action", indent + 1, value.action)); + ReturnErrorOnFailure(DataModelLogger::LogValue("delayedActionTime", indent + 1, value.delayedActionTime)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const TargetNavigator::Commands::NavigateTargetResponse::DecodableType & value) + const GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const MediaPlayback::Commands::PlaybackResponse::DecodableType & value) + const GeneralCommissioning::Commands::SetRegulatoryConfigResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const KeypadInput::Commands::SendKeyResponse::DecodableType & value) + const GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ContentLauncher::Commands::LauncherResponse::DecodableType & value) + const GeneralCommissioning::Commands::SetTCAcknowledgementsResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("errorCode", indent + 1, value.errorCode)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ApplicationLauncher::Commands::LauncherResponse::DecodableType & value) + const NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); + ReturnErrorOnFailure(DataModelLogger::LogValue("wiFiScanResults", indent + 1, value.wiFiScanResults)); + ReturnErrorOnFailure(DataModelLogger::LogValue("threadScanResults", indent + 1, value.threadScanResults)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const AccountLogin::Commands::GetSetupPINResponse::DecodableType & value) + const NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("setupPIN", indent + 1, value.setupPIN)); + ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); + ReturnErrorOnFailure(DataModelLogger::LogValue("networkIndex", indent + 1, value.networkIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("clientIdentity", indent + 1, value.clientIdentity)); + ReturnErrorOnFailure(DataModelLogger::LogValue("possessionSignature", indent + 1, value.possessionSignature)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ContentControl::Commands::ResetPINResponse::DecodableType & value) + const NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("PINCode", indent + 1, value.PINCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("networkingStatus", indent + 1, value.networkingStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); + ReturnErrorOnFailure(DataModelLogger::LogValue("errorValue", indent + 1, value.errorValue)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ContentAppObserver::Commands::ContentAppMessageResponse::DecodableType & value) + const NetworkCommissioning::Commands::QueryIdentityResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); - ReturnErrorOnFailure(DataModelLogger::LogValue("encodingHint", indent + 1, value.encodingHint)); + ReturnErrorOnFailure(DataModelLogger::LogValue("identity", indent + 1, value.identity)); + ReturnErrorOnFailure(DataModelLogger::LogValue("possessionSignature", indent + 1, value.possessionSignature)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const CommissionerControl::Commands::ReverseOpenCommissioningWindow::DecodableType & value) + const DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("commissioningTimeout", indent + 1, value.commissioningTimeout)); - ReturnErrorOnFailure(DataModelLogger::LogValue("PAKEPasscodeVerifier", indent + 1, value.PAKEPasscodeVerifier)); - ReturnErrorOnFailure(DataModelLogger::LogValue("discriminator", indent + 1, value.discriminator)); - ReturnErrorOnFailure(DataModelLogger::LogValue("iterations", indent + 1, value.iterations)); - ReturnErrorOnFailure(DataModelLogger::LogValue("salt", indent + 1, value.salt)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("logContent", indent + 1, value.logContent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("UTCTimeStamp", indent + 1, value.UTCTimeStamp)); + ReturnErrorOnFailure(DataModelLogger::LogValue("timeSinceBoot", indent + 1, value.timeSinceBoot)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const ElectricalMeasurement::Commands::GetProfileInfoResponseCommand::DecodableType & value) + const GeneralDiagnostics::Commands::TimeSnapshotResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("profileCount", indent + 1, value.profileCount)); - ReturnErrorOnFailure(DataModelLogger::LogValue("profileIntervalPeriod", indent + 1, value.profileIntervalPeriod)); - ReturnErrorOnFailure(DataModelLogger::LogValue("maxNumberOfIntervals", indent + 1, value.maxNumberOfIntervals)); - ReturnErrorOnFailure(DataModelLogger::LogValue("listOfAttributes", indent + 1, value.listOfAttributes)); + ReturnErrorOnFailure(DataModelLogger::LogValue("systemTimeMs", indent + 1, value.systemTimeMs)); + ReturnErrorOnFailure(DataModelLogger::LogValue("posixTimeMs", indent + 1, value.posixTimeMs)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } -CHIP_ERROR -DataModelLogger::LogValue(const char * label, size_t indent, - const ElectricalMeasurement::Commands::GetMeasurementProfileResponseCommand::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const GeneralDiagnostics::Commands::PayloadTestResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("startTime", indent + 1, value.startTime)); - ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("profileIntervalPeriod", indent + 1, value.profileIntervalPeriod)); - ReturnErrorOnFailure(DataModelLogger::LogValue("numberOfIntervalsDelivered", indent + 1, value.numberOfIntervalsDelivered)); - ReturnErrorOnFailure(DataModelLogger::LogValue("attributeId", indent + 1, value.attributeId)); - ReturnErrorOnFailure(DataModelLogger::LogValue("intervals", indent + 1, value.intervals)); + ReturnErrorOnFailure(DataModelLogger::LogValue("payload", indent + 1, value.payload)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestSpecificResponse::DecodableType & value) + const TimeSynchronization::Commands::SetTimeZoneResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("DSTOffsetRequired", indent + 1, value.DSTOffsetRequired)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestAddArgumentsResponse::DecodableType & value) + const OperationalCredentials::Commands::AttestationResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attestationElements", indent + 1, value.attestationElements)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attestationSignature", indent + 1, value.attestationSignature)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestSimpleArgumentResponse::DecodableType & value) + const OperationalCredentials::Commands::CertificateChainResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("certificate", indent + 1, value.certificate)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestStructArrayArgumentResponse::DecodableType & value) + const OperationalCredentials::Commands::CSRResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg2", indent + 1, value.arg2)); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg3", indent + 1, value.arg3)); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg4", indent + 1, value.arg4)); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg5", indent + 1, value.arg5)); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg6", indent + 1, value.arg6)); + ReturnErrorOnFailure(DataModelLogger::LogValue("NOCSRElements", indent + 1, value.NOCSRElements)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attestationSignature", indent + 1, value.attestationSignature)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestListInt8UReverseResponse::DecodableType & value) + const OperationalCredentials::Commands::NOCResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusCode", indent + 1, value.statusCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("fabricIndex", indent + 1, value.fabricIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("debugText", indent + 1, value.debugText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestEnumsResponse::DecodableType & value) + const GroupKeyManagement::Commands::KeySetReadResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg2", indent + 1, value.arg2)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupKeySet", indent + 1, value.groupKeySet)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestNullableOptionalResponse::DecodableType & value) + const GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("wasPresent", indent + 1, value.wasPresent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("wasNull", indent + 1, value.wasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); - ReturnErrorOnFailure(DataModelLogger::LogValue("originalValue", indent + 1, value.originalValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupKeySetIDs", indent + 1, value.groupKeySetIDs)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestComplexNullableOptionalResponse::DecodableType & value) + const IcdManagement::Commands::RegisterClientResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableIntWasNull", indent + 1, value.nullableIntWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableIntValue", indent + 1, value.nullableIntValue)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalIntWasPresent", indent + 1, value.optionalIntWasPresent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalIntValue", indent + 1, value.optionalIntValue)); - ReturnErrorOnFailure( - DataModelLogger::LogValue("nullableOptionalIntWasPresent", indent + 1, value.nullableOptionalIntWasPresent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalIntWasNull", indent + 1, value.nullableOptionalIntWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalIntValue", indent + 1, value.nullableOptionalIntValue)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStringWasNull", indent + 1, value.nullableStringWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStringValue", indent + 1, value.nullableStringValue)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStringWasPresent", indent + 1, value.optionalStringWasPresent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStringValue", indent + 1, value.optionalStringValue)); - ReturnErrorOnFailure( - DataModelLogger::LogValue("nullableOptionalStringWasPresent", indent + 1, value.nullableOptionalStringWasPresent)); - ReturnErrorOnFailure( - DataModelLogger::LogValue("nullableOptionalStringWasNull", indent + 1, value.nullableOptionalStringWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalStringValue", indent + 1, value.nullableOptionalStringValue)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStructWasNull", indent + 1, value.nullableStructWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStructValue", indent + 1, value.nullableStructValue)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStructWasPresent", indent + 1, value.optionalStructWasPresent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStructValue", indent + 1, value.optionalStructValue)); - ReturnErrorOnFailure( - DataModelLogger::LogValue("nullableOptionalStructWasPresent", indent + 1, value.nullableOptionalStructWasPresent)); - ReturnErrorOnFailure( - DataModelLogger::LogValue("nullableOptionalStructWasNull", indent + 1, value.nullableOptionalStructWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalStructValue", indent + 1, value.nullableOptionalStructValue)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableListWasNull", indent + 1, value.nullableListWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableListValue", indent + 1, value.nullableListValue)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalListWasPresent", indent + 1, value.optionalListWasPresent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("optionalListValue", indent + 1, value.optionalListValue)); - ReturnErrorOnFailure( - DataModelLogger::LogValue("nullableOptionalListWasPresent", indent + 1, value.nullableOptionalListWasPresent)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalListWasNull", indent + 1, value.nullableOptionalListWasNull)); - ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalListValue", indent + 1, value.nullableOptionalListValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("ICDCounter", indent + 1, value.ICDCounter)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::BooleanResponse::DecodableType & value) + const IcdManagement::Commands::StayActiveResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + ReturnErrorOnFailure(DataModelLogger::LogValue("promisedActiveDuration", indent + 1, value.promisedActiveDuration)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::SimpleStructResponse::DecodableType & value) + const OvenCavityOperationalState::Commands::OperationalCommandResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("commandResponseState", indent + 1, value.commandResponseState)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestEmitTestEventResponse::DecodableType & value) + const OvenMode::Commands::ChangeToModeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestEmitTestFabricScopedEventResponse::DecodableType & value) + const LaundryWasherMode::Commands::ChangeToModeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestBatchHelperResponse::DecodableType & value) +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const RefrigeratorAndTemperatureControlledCabinetMode::Commands::ChangeToModeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("buffer", indent + 1, value.buffer)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::StringEchoResponse::DecodableType & value) + const RvcRunMode::Commands::ChangeToModeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("payload", indent + 1, value.payload)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::GlobalEchoResponse::DecodableType & value) + const RvcCleanMode::Commands::ChangeToModeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("field1", indent + 1, value.field1)); - ReturnErrorOnFailure(DataModelLogger::LogValue("field2", indent + 1, value.field2)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const UnitTesting::Commands::TestDifferentVendorMeiResponse::DecodableType & value) + const DishwasherMode::Commands::ChangeToModeResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); - ReturnErrorOnFailure(DataModelLogger::LogValue("eventNumber", indent + 1, value.eventNumber)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const SampleMei::Commands::AddArgumentsResponse::DecodableType & value) + const OperationalState::Commands::OperationalCommandResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); - ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("commandResponseState", indent + 1, value.commandResponseState)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR; } - -CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributePath & path, chip::TLV::TLVReader * data) +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const RvcOperationalState::Commands::OperationalCommandResponse::DecodableType & value) { - ChipLogProgress(chipTool, "Endpoint: %u Cluster: " ChipLogFormatMEI " Attribute " ChipLogFormatMEI " DataVersion: %" PRIu32, - path.mEndpointId, ChipLogValueMEI(path.mClusterId), ChipLogValueMEI(path.mAttributeId), - path.mDataVersion.ValueOr(0)); - - switch (path.mClusterId) - { - case Identify::Id: { - switch (path.mAttributeId) - { - case Identify::Attributes::IdentifyTime::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("IdentifyTime", 1, value); - } - case Identify::Attributes::IdentifyType::Id: { - chip::app::Clusters::Identify::IdentifyTypeEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("IdentifyType", 1, value); - } - case Identify::Attributes::GeneratedCommandList::Id: { + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("commandResponseState", indent + 1, value.commandResponseState)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ScenesManagement::Commands::AddSceneResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ScenesManagement::Commands::ViewSceneResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("transitionTime", indent + 1, value.transitionTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneName", indent + 1, value.sceneName)); + ReturnErrorOnFailure(DataModelLogger::LogValue("extensionFieldSets", indent + 1, value.extensionFieldSets)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ScenesManagement::Commands::RemoveSceneResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ScenesManagement::Commands::RemoveAllScenesResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ScenesManagement::Commands::StoreSceneResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneID", indent + 1, value.sceneID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ScenesManagement::Commands::GetSceneMembershipResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("capacity", indent + 1, value.capacity)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupID", indent + 1, value.groupID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneList", indent + 1, value.sceneList)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ScenesManagement::Commands::CopySceneResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("groupIdentifierFrom", indent + 1, value.groupIdentifierFrom)); + ReturnErrorOnFailure(DataModelLogger::LogValue("sceneIdentifierFrom", indent + 1, value.sceneIdentifierFrom)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const EnergyEvse::Commands::GetTargetsResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("chargingTargetSchedules", indent + 1, value.chargingTargetSchedules)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const EnergyEvseMode::Commands::ChangeToModeResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const WaterHeaterMode::Commands::ChangeToModeResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DeviceEnergyManagementMode::Commands::ChangeToModeResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetWeekDayScheduleResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("weekDayIndex", indent + 1, value.weekDayIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("daysMask", indent + 1, value.daysMask)); + ReturnErrorOnFailure(DataModelLogger::LogValue("startHour", indent + 1, value.startHour)); + ReturnErrorOnFailure(DataModelLogger::LogValue("startMinute", indent + 1, value.startMinute)); + ReturnErrorOnFailure(DataModelLogger::LogValue("endHour", indent + 1, value.endHour)); + ReturnErrorOnFailure(DataModelLogger::LogValue("endMinute", indent + 1, value.endMinute)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetYearDayScheduleResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("yearDayIndex", indent + 1, value.yearDayIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localStartTime", indent + 1, value.localStartTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localEndTime", indent + 1, value.localEndTime)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetHolidayScheduleResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("holidayIndex", indent + 1, value.holidayIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localStartTime", indent + 1, value.localStartTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("localEndTime", indent + 1, value.localEndTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("operatingMode", indent + 1, value.operatingMode)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetUserResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userName", indent + 1, value.userName)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userUniqueID", indent + 1, value.userUniqueID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userStatus", indent + 1, value.userStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userType", indent + 1, value.userType)); + ReturnErrorOnFailure(DataModelLogger::LogValue("credentialRule", indent + 1, value.credentialRule)); + ReturnErrorOnFailure(DataModelLogger::LogValue("credentials", indent + 1, value.credentials)); + ReturnErrorOnFailure(DataModelLogger::LogValue("creatorFabricIndex", indent + 1, value.creatorFabricIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("lastModifiedFabricIndex", indent + 1, value.lastModifiedFabricIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nextUserIndex", indent + 1, value.nextUserIndex)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::SetCredentialResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nextCredentialIndex", indent + 1, value.nextCredentialIndex)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const DoorLock::Commands::GetCredentialStatusResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("credentialExists", indent + 1, value.credentialExists)); + ReturnErrorOnFailure(DataModelLogger::LogValue("userIndex", indent + 1, value.userIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("creatorFabricIndex", indent + 1, value.creatorFabricIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("lastModifiedFabricIndex", indent + 1, value.lastModifiedFabricIndex)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nextCredentialIndex", indent + 1, value.nextCredentialIndex)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ServiceArea::Commands::SelectAreasResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ServiceArea::Commands::SkipAreaResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusText", indent + 1, value.statusText)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure( + DataModelLogger::LogValue("numberOfTransitionsForSequence", indent + 1, value.numberOfTransitionsForSequence)); + ReturnErrorOnFailure(DataModelLogger::LogValue("dayOfWeekForSequence", indent + 1, value.dayOfWeekForSequence)); + ReturnErrorOnFailure(DataModelLogger::LogValue("modeForSequence", indent + 1, value.modeForSequence)); + ReturnErrorOnFailure(DataModelLogger::LogValue("transitions", indent + 1, value.transitions)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Thermostat::Commands::AtomicResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("statusCode", indent + 1, value.statusCode)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attributeStatus", indent + 1, value.attributeStatus)); + ReturnErrorOnFailure(DataModelLogger::LogValue("timeout", indent + 1, value.timeout)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const WiFiNetworkManagement::Commands::NetworkPassphraseResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("passphrase", indent + 1, value.passphrase)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ThreadBorderRouterManagement::Commands::DatasetResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("dataset", indent + 1, value.dataset)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ThreadNetworkDirectory::Commands::OperationalDatasetResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("operationalDataset", indent + 1, value.operationalDataset)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Channel::Commands::ChangeChannelResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const Channel::Commands::ProgramGuideResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("paging", indent + 1, value.paging)); + ReturnErrorOnFailure(DataModelLogger::LogValue("programList", indent + 1, value.programList)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const TargetNavigator::Commands::NavigateTargetResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const MediaPlayback::Commands::PlaybackResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const KeypadInput::Commands::SendKeyResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ContentLauncher::Commands::LauncherResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ApplicationLauncher::Commands::LauncherResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const AccountLogin::Commands::GetSetupPINResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("setupPIN", indent + 1, value.setupPIN)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ContentControl::Commands::ResetPINResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("PINCode", indent + 1, value.PINCode)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ContentAppObserver::Commands::ContentAppMessageResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("encodingHint", indent + 1, value.encodingHint)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("audioStreamID", indent + 1, value.audioStreamID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("videoStreamID", indent + 1, value.videoStreamID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("snapshotStreamID", indent + 1, value.snapshotStreamID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const CameraAvStreamManagement::Commands::CaptureSnapshotResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("data", indent + 1, value.data)); + ReturnErrorOnFailure(DataModelLogger::LogValue("imageCodec", indent + 1, value.imageCodec)); + ReturnErrorOnFailure(DataModelLogger::LogValue("resolution", indent + 1, value.resolution)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("webRTCSessionID", indent + 1, value.webRTCSessionID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("deferredOffer", indent + 1, value.deferredOffer)); + ReturnErrorOnFailure(DataModelLogger::LogValue("videoStreamID", indent + 1, value.videoStreamID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("audioStreamID", indent + 1, value.audioStreamID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("webRTCSessionID", indent + 1, value.webRTCSessionID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("videoStreamID", indent + 1, value.videoStreamID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("audioStreamID", indent + 1, value.audioStreamID)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PushAvStreamTransport::Commands::AllocatePushTransportResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("connectionID", indent + 1, value.connectionID)); + ReturnErrorOnFailure(DataModelLogger::LogValue("streamTransportOptions", indent + 1, value.streamTransportOptions)); + ReturnErrorOnFailure(DataModelLogger::LogValue("transportStatus", indent + 1, value.transportStatus)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const PushAvStreamTransport::Commands::FindStreamConfigurationResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("streamConfigurations", indent + 1, value.streamConfigurations)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const CommissionerControl::Commands::ReverseOpenCommissioningWindow::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("commissioningTimeout", indent + 1, value.commissioningTimeout)); + ReturnErrorOnFailure(DataModelLogger::LogValue("PAKEPasscodeVerifier", indent + 1, value.PAKEPasscodeVerifier)); + ReturnErrorOnFailure(DataModelLogger::LogValue("discriminator", indent + 1, value.discriminator)); + ReturnErrorOnFailure(DataModelLogger::LogValue("iterations", indent + 1, value.iterations)); + ReturnErrorOnFailure(DataModelLogger::LogValue("salt", indent + 1, value.salt)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const ElectricalMeasurement::Commands::GetProfileInfoResponseCommand::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("profileCount", indent + 1, value.profileCount)); + ReturnErrorOnFailure(DataModelLogger::LogValue("profileIntervalPeriod", indent + 1, value.profileIntervalPeriod)); + ReturnErrorOnFailure(DataModelLogger::LogValue("maxNumberOfIntervals", indent + 1, value.maxNumberOfIntervals)); + ReturnErrorOnFailure(DataModelLogger::LogValue("listOfAttributes", indent + 1, value.listOfAttributes)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const ElectricalMeasurement::Commands::GetMeasurementProfileResponseCommand::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("startTime", indent + 1, value.startTime)); + ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); + ReturnErrorOnFailure(DataModelLogger::LogValue("profileIntervalPeriod", indent + 1, value.profileIntervalPeriod)); + ReturnErrorOnFailure(DataModelLogger::LogValue("numberOfIntervalsDelivered", indent + 1, value.numberOfIntervalsDelivered)); + ReturnErrorOnFailure(DataModelLogger::LogValue("attributeId", indent + 1, value.attributeId)); + ReturnErrorOnFailure(DataModelLogger::LogValue("intervals", indent + 1, value.intervals)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestSpecificResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestAddArgumentsResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestSimpleArgumentResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestStructArrayArgumentResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg2", indent + 1, value.arg2)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg3", indent + 1, value.arg3)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg4", indent + 1, value.arg4)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg5", indent + 1, value.arg5)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg6", indent + 1, value.arg6)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestListInt8UReverseResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestEnumsResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg2", indent + 1, value.arg2)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestNullableOptionalResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("wasPresent", indent + 1, value.wasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("wasNull", indent + 1, value.wasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + ReturnErrorOnFailure(DataModelLogger::LogValue("originalValue", indent + 1, value.originalValue)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestComplexNullableOptionalResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableIntWasNull", indent + 1, value.nullableIntWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableIntValue", indent + 1, value.nullableIntValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalIntWasPresent", indent + 1, value.optionalIntWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalIntValue", indent + 1, value.optionalIntValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalIntWasPresent", indent + 1, value.nullableOptionalIntWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalIntWasNull", indent + 1, value.nullableOptionalIntWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalIntValue", indent + 1, value.nullableOptionalIntValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStringWasNull", indent + 1, value.nullableStringWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStringValue", indent + 1, value.nullableStringValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStringWasPresent", indent + 1, value.optionalStringWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStringValue", indent + 1, value.optionalStringValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStringWasPresent", indent + 1, value.nullableOptionalStringWasPresent)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStringWasNull", indent + 1, value.nullableOptionalStringWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalStringValue", indent + 1, value.nullableOptionalStringValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStructWasNull", indent + 1, value.nullableStructWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableStructValue", indent + 1, value.nullableStructValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStructWasPresent", indent + 1, value.optionalStructWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalStructValue", indent + 1, value.optionalStructValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStructWasPresent", indent + 1, value.nullableOptionalStructWasPresent)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalStructWasNull", indent + 1, value.nullableOptionalStructWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalStructValue", indent + 1, value.nullableOptionalStructValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableListWasNull", indent + 1, value.nullableListWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableListValue", indent + 1, value.nullableListValue)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalListWasPresent", indent + 1, value.optionalListWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("optionalListValue", indent + 1, value.optionalListValue)); + ReturnErrorOnFailure( + DataModelLogger::LogValue("nullableOptionalListWasPresent", indent + 1, value.nullableOptionalListWasPresent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalListWasNull", indent + 1, value.nullableOptionalListWasNull)); + ReturnErrorOnFailure(DataModelLogger::LogValue("nullableOptionalListValue", indent + 1, value.nullableOptionalListValue)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::BooleanResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::SimpleStructResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestEmitTestEventResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestEmitTestFabricScopedEventResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("value", indent + 1, value.value)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestBatchHelperResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("buffer", indent + 1, value.buffer)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::StringEchoResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("payload", indent + 1, value.payload)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::GlobalEchoResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("field1", indent + 1, value.field1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("field2", indent + 1, value.field2)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const UnitTesting::Commands::TestDifferentVendorMeiResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("arg1", indent + 1, value.arg1)); + ReturnErrorOnFailure(DataModelLogger::LogValue("eventNumber", indent + 1, value.eventNumber)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} +CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, + const SampleMei::Commands::AddArgumentsResponse::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + ReturnErrorOnFailure(DataModelLogger::LogValue("returnValue", indent + 1, value.returnValue)); + DataModelLogger::LogString(indent, "}"); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributePath & path, chip::TLV::TLVReader * data) +{ + ChipLogProgress(chipTool, "Endpoint: %u Cluster: " ChipLogFormatMEI " Attribute " ChipLogFormatMEI " DataVersion: %" PRIu32, + path.mEndpointId, ChipLogValueMEI(path.mClusterId), ChipLogValueMEI(path.mAttributeId), + path.mDataVersion.ValueOr(0)); + + switch (path.mClusterId) + { + case Identify::Id: { + switch (path.mAttributeId) + { + case Identify::Attributes::IdentifyTime::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("IdentifyTime", 1, value); + } + case Identify::Attributes::IdentifyType::Id: { + chip::app::Clusters::Identify::IdentifyTypeEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("IdentifyType", 1, value); + } + case Identify::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Identify::Id); + } + case Identify::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Identify::Id); + } + case Identify::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case Identify::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Identify::Id); + } + case Identify::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case Identify::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case Groups::Id: { + switch (path.mAttributeId) + { + case Groups::Attributes::NameSupport::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NameSupport", 1, value); + } + case Groups::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Groups::Id); + } + case Groups::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Groups::Id); + } + case Groups::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case Groups::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Groups::Id); + } + case Groups::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case Groups::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case OnOff::Id: { + switch (path.mAttributeId) + { + case OnOff::Attributes::OnOff::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnOff", 1, value); + } + case OnOff::Attributes::GlobalSceneControl::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GlobalSceneControl", 1, value); + } + case OnOff::Attributes::OnTime::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnTime", 1, value); + } + case OnOff::Attributes::OffWaitTime::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OffWaitTime", 1, value); + } + case OnOff::Attributes::StartUpOnOff::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpOnOff", 1, value); + } + case OnOff::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OnOff::Id); + } + case OnOff::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OnOff::Id); + } + case OnOff::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case OnOff::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OnOff::Id); + } + case OnOff::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case OnOff::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case OnOffSwitchConfiguration::Id: { + switch (path.mAttributeId) + { + case OnOffSwitchConfiguration::Attributes::SwitchType::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("switch type", 1, value); + } + case OnOffSwitchConfiguration::Attributes::SwitchActions::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("switch actions", 1, value); + } + case OnOffSwitchConfiguration::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OnOffSwitchConfiguration::Id); + } + case OnOffSwitchConfiguration::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OnOffSwitchConfiguration::Id); + } + case OnOffSwitchConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case OnOffSwitchConfiguration::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OnOffSwitchConfiguration::Id); + } + case OnOffSwitchConfiguration::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case OnOffSwitchConfiguration::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case LevelControl::Id: { + switch (path.mAttributeId) + { + case LevelControl::Attributes::CurrentLevel::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentLevel", 1, value); + } + case LevelControl::Attributes::RemainingTime::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RemainingTime", 1, value); + } + case LevelControl::Attributes::MinLevel::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MinLevel", 1, value); + } + case LevelControl::Attributes::MaxLevel::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxLevel", 1, value); + } + case LevelControl::Attributes::CurrentFrequency::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentFrequency", 1, value); + } + case LevelControl::Attributes::MinFrequency::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MinFrequency", 1, value); + } + case LevelControl::Attributes::MaxFrequency::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxFrequency", 1, value); + } + case LevelControl::Attributes::Options::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Options", 1, value); + } + case LevelControl::Attributes::OnOffTransitionTime::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnOffTransitionTime", 1, value); + } + case LevelControl::Attributes::OnLevel::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnLevel", 1, value); + } + case LevelControl::Attributes::OnTransitionTime::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnTransitionTime", 1, value); + } + case LevelControl::Attributes::OffTransitionTime::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OffTransitionTime", 1, value); + } + case LevelControl::Attributes::DefaultMoveRate::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DefaultMoveRate", 1, value); + } + case LevelControl::Attributes::StartUpCurrentLevel::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpCurrentLevel", 1, value); + } + case LevelControl::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LevelControl::Id); + } + case LevelControl::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LevelControl::Id); + } + case LevelControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case LevelControl::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, LevelControl::Id); + } + case LevelControl::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case LevelControl::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case BinaryInputBasic::Id: { + switch (path.mAttributeId) + { + case BinaryInputBasic::Attributes::ActiveText::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("active text", 1, value); + } + case BinaryInputBasic::Attributes::Description::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("description", 1, value); + } + case BinaryInputBasic::Attributes::InactiveText::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("inactive text", 1, value); + } + case BinaryInputBasic::Attributes::OutOfService::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("out of service", 1, value); + } + case BinaryInputBasic::Attributes::Polarity::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("polarity", 1, value); + } + case BinaryInputBasic::Attributes::PresentValue::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("present value", 1, value); + } + case BinaryInputBasic::Attributes::Reliability::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("reliability", 1, value); + } + case BinaryInputBasic::Attributes::StatusFlags::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("status flags", 1, value); + } + case BinaryInputBasic::Attributes::ApplicationType::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("application type", 1, value); + } + case BinaryInputBasic::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BinaryInputBasic::Id); + } + case BinaryInputBasic::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BinaryInputBasic::Id); + } + case BinaryInputBasic::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case BinaryInputBasic::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, BinaryInputBasic::Id); + } + case BinaryInputBasic::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case BinaryInputBasic::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case PulseWidthModulation::Id: { + switch (path.mAttributeId) + { + case PulseWidthModulation::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Identify::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PulseWidthModulation::Id); } - case Identify::Attributes::AcceptedCommandList::Id: { + case PulseWidthModulation::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Identify::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PulseWidthModulation::Id); } - case Identify::Attributes::EventList::Id: { + case PulseWidthModulation::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Identify::Attributes::AttributeList::Id: { + case PulseWidthModulation::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Identify::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, PulseWidthModulation::Id); } - case Identify::Attributes::FeatureMap::Id: { + case PulseWidthModulation::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Identify::Attributes::ClusterRevision::Id: { + case PulseWidthModulation::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -8982,40 +10640,60 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Groups::Id: { + case Descriptor::Id: { switch (path.mAttributeId) { - case Groups::Attributes::NameSupport::Id: { - chip::BitMask value; + case Descriptor::Attributes::DeviceTypeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NameSupport", 1, value); + return DataModelLogger::LogValue("DeviceTypeList", 1, value); } - case Groups::Attributes::GeneratedCommandList::Id: { + case Descriptor::Attributes::ServerList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogClusterId("ServerList", 1, value); + } + case Descriptor::Attributes::ClientList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogClusterId("ClientList", 1, value); + } + case Descriptor::Attributes::PartsList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PartsList", 1, value); + } + case Descriptor::Attributes::TagList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("TagList", 1, value); + } + case Descriptor::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Groups::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Descriptor::Id); } - case Groups::Attributes::AcceptedCommandList::Id: { + case Descriptor::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Groups::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Descriptor::Id); } - case Groups::Attributes::EventList::Id: { + case Descriptor::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Groups::Attributes::AttributeList::Id: { + case Descriptor::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Groups::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Descriptor::Id); } - case Groups::Attributes::FeatureMap::Id: { + case Descriptor::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Groups::Attributes::ClusterRevision::Id: { + case Descriptor::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9023,60 +10701,40 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OnOff::Id: { + case Binding::Id: { switch (path.mAttributeId) { - case OnOff::Attributes::OnOff::Id: { - bool value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnOff", 1, value); - } - case OnOff::Attributes::GlobalSceneControl::Id: { - bool value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("GlobalSceneControl", 1, value); - } - case OnOff::Attributes::OnTime::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnTime", 1, value); - } - case OnOff::Attributes::OffWaitTime::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OffWaitTime", 1, value); - } - case OnOff::Attributes::StartUpOnOff::Id: { - chip::app::DataModel::Nullable value; + case Binding::Attributes::Binding::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpOnOff", 1, value); + return DataModelLogger::LogValue("Binding", 1, value); } - case OnOff::Attributes::GeneratedCommandList::Id: { + case Binding::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OnOff::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Binding::Id); } - case OnOff::Attributes::AcceptedCommandList::Id: { + case Binding::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OnOff::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Binding::Id); } - case OnOff::Attributes::EventList::Id: { + case Binding::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OnOff::Attributes::AttributeList::Id: { + case Binding::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OnOff::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Binding::Id); } - case OnOff::Attributes::FeatureMap::Id: { + case Binding::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OnOff::Attributes::ClusterRevision::Id: { + case Binding::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9084,45 +10742,78 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OnOffSwitchConfiguration::Id: { + case AccessControl::Id: { switch (path.mAttributeId) { - case OnOffSwitchConfiguration::Attributes::SwitchType::Id: { - uint8_t value; + case AccessControl::Attributes::Acl::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("switch type", 1, value); + return DataModelLogger::LogValue("ACL", 1, value); } - case OnOffSwitchConfiguration::Attributes::SwitchActions::Id: { - uint8_t value; + case AccessControl::Attributes::Extension::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("switch actions", 1, value); + return DataModelLogger::LogValue("Extension", 1, value); } - case OnOffSwitchConfiguration::Attributes::GeneratedCommandList::Id: { + case AccessControl::Attributes::SubjectsPerAccessControlEntry::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SubjectsPerAccessControlEntry", 1, value); + } + case AccessControl::Attributes::TargetsPerAccessControlEntry::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("TargetsPerAccessControlEntry", 1, value); + } + case AccessControl::Attributes::AccessControlEntriesPerFabric::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AccessControlEntriesPerFabric", 1, value); + } + case AccessControl::Attributes::CommissioningARL::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::AccessControl::Structs::CommissioningAccessRestrictionEntryStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CommissioningARL", 1, value); + } + case AccessControl::Attributes::Arl::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::AccessControl::Structs::AccessRestrictionEntryStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ARL", 1, value); + } + case AccessControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OnOffSwitchConfiguration::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AccessControl::Id); } - case OnOffSwitchConfiguration::Attributes::AcceptedCommandList::Id: { + case AccessControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OnOffSwitchConfiguration::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AccessControl::Id); } - case OnOffSwitchConfiguration::Attributes::EventList::Id: { + case AccessControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OnOffSwitchConfiguration::Attributes::AttributeList::Id: { + case AccessControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OnOffSwitchConfiguration::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, AccessControl::Id); } - case OnOffSwitchConfiguration::Attributes::FeatureMap::Id: { + case AccessControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OnOffSwitchConfiguration::Attributes::ClusterRevision::Id: { + case AccessControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9130,186 +10821,201 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case LevelControl::Id: { + case Actions::Id: { switch (path.mAttributeId) { - case LevelControl::Attributes::CurrentLevel::Id: { - chip::app::DataModel::Nullable value; + case Actions::Attributes::ActionList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentLevel", 1, value); + return DataModelLogger::LogValue("ActionList", 1, value); } - case LevelControl::Attributes::RemainingTime::Id: { - uint16_t value; + case Actions::Attributes::EndpointLists::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RemainingTime", 1, value); + return DataModelLogger::LogValue("EndpointLists", 1, value); } - case LevelControl::Attributes::MinLevel::Id: { - uint8_t value; + case Actions::Attributes::SetupURL::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinLevel", 1, value); + return DataModelLogger::LogValue("SetupURL", 1, value); } - case LevelControl::Attributes::MaxLevel::Id: { - uint8_t value; + case Actions::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxLevel", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Actions::Id); } - case LevelControl::Attributes::CurrentFrequency::Id: { - uint16_t value; + case Actions::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentFrequency", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Actions::Id); } - case LevelControl::Attributes::MinFrequency::Id: { - uint16_t value; + case Actions::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinFrequency", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case LevelControl::Attributes::MaxFrequency::Id: { - uint16_t value; + case Actions::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxFrequency", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Actions::Id); } - case LevelControl::Attributes::Options::Id: { - chip::BitMask value; + case Actions::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Options", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case LevelControl::Attributes::OnOffTransitionTime::Id: { + case Actions::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnOffTransitionTime", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case LevelControl::Attributes::OnLevel::Id: { - chip::app::DataModel::Nullable value; + } + break; + } + case BasicInformation::Id: { + switch (path.mAttributeId) + { + case BasicInformation::Attributes::DataModelRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnLevel", 1, value); + return DataModelLogger::LogValue("DataModelRevision", 1, value); } - case LevelControl::Attributes::OnTransitionTime::Id: { - chip::app::DataModel::Nullable value; + case BasicInformation::Attributes::VendorName::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnTransitionTime", 1, value); + return DataModelLogger::LogValue("VendorName", 1, value); } - case LevelControl::Attributes::OffTransitionTime::Id: { - chip::app::DataModel::Nullable value; + case BasicInformation::Attributes::VendorID::Id: { + chip::VendorId value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OffTransitionTime", 1, value); + return DataModelLogger::LogValue("VendorID", 1, value); } - case LevelControl::Attributes::DefaultMoveRate::Id: { - chip::app::DataModel::Nullable value; + case BasicInformation::Attributes::ProductName::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultMoveRate", 1, value); + return DataModelLogger::LogValue("ProductName", 1, value); } - case LevelControl::Attributes::StartUpCurrentLevel::Id: { - chip::app::DataModel::Nullable value; + case BasicInformation::Attributes::ProductID::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpCurrentLevel", 1, value); + return DataModelLogger::LogValue("ProductID", 1, value); } - case LevelControl::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case BasicInformation::Attributes::NodeLabel::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LevelControl::Id); + return DataModelLogger::LogValue("NodeLabel", 1, value); } - case LevelControl::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case BasicInformation::Attributes::Location::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LevelControl::Id); + return DataModelLogger::LogValue("Location", 1, value); } - case LevelControl::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case BasicInformation::Attributes::HardwareVersion::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("HardwareVersion", 1, value); } - case LevelControl::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case BasicInformation::Attributes::HardwareVersionString::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, LevelControl::Id); + return DataModelLogger::LogValue("HardwareVersionString", 1, value); } - case LevelControl::Attributes::FeatureMap::Id: { + case BasicInformation::Attributes::SoftwareVersion::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("SoftwareVersion", 1, value); } - case LevelControl::Attributes::ClusterRevision::Id: { - uint16_t value; + case BasicInformation::Attributes::SoftwareVersionString::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("SoftwareVersionString", 1, value); } + case BasicInformation::Attributes::ManufacturingDate::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ManufacturingDate", 1, value); } - break; - } - case BinaryInputBasic::Id: { - switch (path.mAttributeId) - { - case BinaryInputBasic::Attributes::ActiveText::Id: { + case BasicInformation::Attributes::PartNumber::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("active text", 1, value); + return DataModelLogger::LogValue("PartNumber", 1, value); } - case BinaryInputBasic::Attributes::Description::Id: { + case BasicInformation::Attributes::ProductURL::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("description", 1, value); + return DataModelLogger::LogValue("ProductURL", 1, value); } - case BinaryInputBasic::Attributes::InactiveText::Id: { + case BasicInformation::Attributes::ProductLabel::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("inactive text", 1, value); + return DataModelLogger::LogValue("ProductLabel", 1, value); } - case BinaryInputBasic::Attributes::OutOfService::Id: { - bool value; + case BasicInformation::Attributes::SerialNumber::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("out of service", 1, value); + return DataModelLogger::LogValue("SerialNumber", 1, value); } - case BinaryInputBasic::Attributes::Polarity::Id: { - uint8_t value; + case BasicInformation::Attributes::LocalConfigDisabled::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("polarity", 1, value); + return DataModelLogger::LogValue("LocalConfigDisabled", 1, value); } - case BinaryInputBasic::Attributes::PresentValue::Id: { + case BasicInformation::Attributes::Reachable::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("present value", 1, value); + return DataModelLogger::LogValue("Reachable", 1, value); } - case BinaryInputBasic::Attributes::Reliability::Id: { - uint8_t value; + case BasicInformation::Attributes::UniqueID::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("reliability", 1, value); + return DataModelLogger::LogValue("UniqueID", 1, value); } - case BinaryInputBasic::Attributes::StatusFlags::Id: { - uint8_t value; + case BasicInformation::Attributes::CapabilityMinima::Id: { + chip::app::Clusters::BasicInformation::Structs::CapabilityMinimaStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("status flags", 1, value); + return DataModelLogger::LogValue("CapabilityMinima", 1, value); } - case BinaryInputBasic::Attributes::ApplicationType::Id: { + case BasicInformation::Attributes::ProductAppearance::Id: { + chip::app::Clusters::BasicInformation::Structs::ProductAppearanceStruct::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ProductAppearance", 1, value); + } + case BasicInformation::Attributes::SpecificationVersion::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("application type", 1, value); + return DataModelLogger::LogValue("SpecificationVersion", 1, value); } - case BinaryInputBasic::Attributes::GeneratedCommandList::Id: { + case BasicInformation::Attributes::MaxPathsPerInvoke::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxPathsPerInvoke", 1, value); + } + case BasicInformation::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BinaryInputBasic::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BasicInformation::Id); } - case BinaryInputBasic::Attributes::AcceptedCommandList::Id: { + case BasicInformation::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BinaryInputBasic::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BasicInformation::Id); } - case BinaryInputBasic::Attributes::EventList::Id: { + case BasicInformation::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case BinaryInputBasic::Attributes::AttributeList::Id: { + case BasicInformation::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, BinaryInputBasic::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, BasicInformation::Id); } - case BinaryInputBasic::Attributes::FeatureMap::Id: { + case BasicInformation::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BinaryInputBasic::Attributes::ClusterRevision::Id: { + case BasicInformation::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9317,35 +11023,35 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case PulseWidthModulation::Id: { + case OtaSoftwareUpdateProvider::Id: { switch (path.mAttributeId) { - case PulseWidthModulation::Attributes::GeneratedCommandList::Id: { + case OtaSoftwareUpdateProvider::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PulseWidthModulation::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OtaSoftwareUpdateProvider::Id); } - case PulseWidthModulation::Attributes::AcceptedCommandList::Id: { + case OtaSoftwareUpdateProvider::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PulseWidthModulation::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OtaSoftwareUpdateProvider::Id); } - case PulseWidthModulation::Attributes::EventList::Id: { + case OtaSoftwareUpdateProvider::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case PulseWidthModulation::Attributes::AttributeList::Id: { + case OtaSoftwareUpdateProvider::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, PulseWidthModulation::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OtaSoftwareUpdateProvider::Id); } - case PulseWidthModulation::Attributes::FeatureMap::Id: { + case OtaSoftwareUpdateProvider::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case PulseWidthModulation::Attributes::ClusterRevision::Id: { + case OtaSoftwareUpdateProvider::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9353,60 +11059,57 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Descriptor::Id: { + case OtaSoftwareUpdateRequestor::Id: { switch (path.mAttributeId) { - case Descriptor::Attributes::DeviceTypeList::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DeviceTypeList", 1, value); - } - case Descriptor::Attributes::ServerList::Id: { - chip::app::DataModel::DecodableList value; + case OtaSoftwareUpdateRequestor::Attributes::DefaultOTAProviders::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogClusterId("ServerList", 1, value); + return DataModelLogger::LogValue("DefaultOTAProviders", 1, value); } - case Descriptor::Attributes::ClientList::Id: { - chip::app::DataModel::DecodableList value; + case OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogClusterId("ClientList", 1, value); + return DataModelLogger::LogValue("UpdatePossible", 1, value); } - case Descriptor::Attributes::PartsList::Id: { - chip::app::DataModel::DecodableList value; + case OtaSoftwareUpdateRequestor::Attributes::UpdateState::Id: { + chip::app::Clusters::OtaSoftwareUpdateRequestor::UpdateStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PartsList", 1, value); + return DataModelLogger::LogValue("UpdateState", 1, value); } - case Descriptor::Attributes::TagList::Id: { - chip::app::DataModel::DecodableList value; + case OtaSoftwareUpdateRequestor::Attributes::UpdateStateProgress::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TagList", 1, value); + return DataModelLogger::LogValue("UpdateStateProgress", 1, value); } - case Descriptor::Attributes::GeneratedCommandList::Id: { + case OtaSoftwareUpdateRequestor::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Descriptor::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OtaSoftwareUpdateRequestor::Id); } - case Descriptor::Attributes::AcceptedCommandList::Id: { + case OtaSoftwareUpdateRequestor::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Descriptor::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OtaSoftwareUpdateRequestor::Id); } - case Descriptor::Attributes::EventList::Id: { + case OtaSoftwareUpdateRequestor::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Descriptor::Attributes::AttributeList::Id: { + case OtaSoftwareUpdateRequestor::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Descriptor::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OtaSoftwareUpdateRequestor::Id); } - case Descriptor::Attributes::FeatureMap::Id: { + case OtaSoftwareUpdateRequestor::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Descriptor::Attributes::ClusterRevision::Id: { + case OtaSoftwareUpdateRequestor::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9414,40 +11117,45 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Binding::Id: { + case LocalizationConfiguration::Id: { switch (path.mAttributeId) { - case Binding::Attributes::Binding::Id: { - chip::app::DataModel::DecodableList value; + case LocalizationConfiguration::Attributes::ActiveLocale::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Binding", 1, value); + return DataModelLogger::LogValue("ActiveLocale", 1, value); } - case Binding::Attributes::GeneratedCommandList::Id: { + case LocalizationConfiguration::Attributes::SupportedLocales::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedLocales", 1, value); + } + case LocalizationConfiguration::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Binding::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LocalizationConfiguration::Id); } - case Binding::Attributes::AcceptedCommandList::Id: { + case LocalizationConfiguration::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Binding::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LocalizationConfiguration::Id); } - case Binding::Attributes::EventList::Id: { + case LocalizationConfiguration::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Binding::Attributes::AttributeList::Id: { + case LocalizationConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Binding::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, LocalizationConfiguration::Id); } - case Binding::Attributes::FeatureMap::Id: { + case LocalizationConfiguration::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Binding::Attributes::ClusterRevision::Id: { + case LocalizationConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9455,78 +11163,91 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case AccessControl::Id: { + case TimeFormatLocalization::Id: { switch (path.mAttributeId) { - case AccessControl::Attributes::Acl::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> - value; + case TimeFormatLocalization::Attributes::HourFormat::Id: { + chip::app::Clusters::TimeFormatLocalization::HourFormatEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("HourFormat", 1, value); + } + case TimeFormatLocalization::Attributes::ActiveCalendarType::Id: { + chip::app::Clusters::TimeFormatLocalization::CalendarTypeEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveCalendarType", 1, value); + } + case TimeFormatLocalization::Attributes::SupportedCalendarTypes::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedCalendarTypes", 1, value); + } + case TimeFormatLocalization::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TimeFormatLocalization::Id); + } + case TimeFormatLocalization::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACL", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TimeFormatLocalization::Id); } - case AccessControl::Attributes::Extension::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> - value; + case TimeFormatLocalization::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Extension", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case AccessControl::Attributes::SubjectsPerAccessControlEntry::Id: { - uint16_t value; + case TimeFormatLocalization::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SubjectsPerAccessControlEntry", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, TimeFormatLocalization::Id); } - case AccessControl::Attributes::TargetsPerAccessControlEntry::Id: { - uint16_t value; + case TimeFormatLocalization::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TargetsPerAccessControlEntry", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case AccessControl::Attributes::AccessControlEntriesPerFabric::Id: { + case TimeFormatLocalization::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AccessControlEntriesPerFabric", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case AccessControl::Attributes::CommissioningARL::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::AccessControl::Structs::CommissioningAccessRestrictionEntryStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CommissioningARL", 1, value); } - case AccessControl::Attributes::Arl::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::AccessControl::Structs::AccessRestrictionEntryStruct::DecodableType> - value; + break; + } + case UnitLocalization::Id: { + switch (path.mAttributeId) + { + case UnitLocalization::Attributes::TemperatureUnit::Id: { + chip::app::Clusters::UnitLocalization::TempUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ARL", 1, value); + return DataModelLogger::LogValue("TemperatureUnit", 1, value); } - case AccessControl::Attributes::GeneratedCommandList::Id: { + case UnitLocalization::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AccessControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, UnitLocalization::Id); } - case AccessControl::Attributes::AcceptedCommandList::Id: { + case UnitLocalization::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AccessControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, UnitLocalization::Id); } - case AccessControl::Attributes::EventList::Id: { + case UnitLocalization::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case AccessControl::Attributes::AttributeList::Id: { + case UnitLocalization::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, AccessControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, UnitLocalization::Id); } - case AccessControl::Attributes::FeatureMap::Id: { + case UnitLocalization::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case AccessControl::Attributes::ClusterRevision::Id: { + case UnitLocalization::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9534,50 +11255,40 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Actions::Id: { + case PowerSourceConfiguration::Id: { switch (path.mAttributeId) { - case Actions::Attributes::ActionList::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActionList", 1, value); - } - case Actions::Attributes::EndpointLists::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EndpointLists", 1, value); - } - case Actions::Attributes::SetupURL::Id: { - chip::CharSpan value; + case PowerSourceConfiguration::Attributes::Sources::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SetupURL", 1, value); + return DataModelLogger::LogValue("Sources", 1, value); } - case Actions::Attributes::GeneratedCommandList::Id: { + case PowerSourceConfiguration::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Actions::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PowerSourceConfiguration::Id); } - case Actions::Attributes::AcceptedCommandList::Id: { + case PowerSourceConfiguration::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Actions::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PowerSourceConfiguration::Id); } - case Actions::Attributes::EventList::Id: { + case PowerSourceConfiguration::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Actions::Attributes::AttributeList::Id: { + case PowerSourceConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Actions::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, PowerSourceConfiguration::Id); } - case Actions::Attributes::FeatureMap::Id: { + case PowerSourceConfiguration::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Actions::Attributes::ClusterRevision::Id: { + case PowerSourceConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9585,186 +11296,195 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case BasicInformation::Id: { + case PowerSource::Id: { switch (path.mAttributeId) { - case BasicInformation::Attributes::DataModelRevision::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DataModelRevision", 1, value); - } - case BasicInformation::Attributes::VendorName::Id: { - chip::CharSpan value; + case PowerSource::Attributes::Status::Id: { + chip::app::Clusters::PowerSource::PowerSourceStatusEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("VendorName", 1, value); + return DataModelLogger::LogValue("Status", 1, value); } - case BasicInformation::Attributes::VendorID::Id: { - chip::VendorId value; + case PowerSource::Attributes::Order::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("VendorID", 1, value); + return DataModelLogger::LogValue("Order", 1, value); } - case BasicInformation::Attributes::ProductName::Id: { + case PowerSource::Attributes::Description::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductName", 1, value); + return DataModelLogger::LogValue("Description", 1, value); } - case BasicInformation::Attributes::ProductID::Id: { - uint16_t value; + case PowerSource::Attributes::WiredAssessedInputVoltage::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductID", 1, value); + return DataModelLogger::LogValue("WiredAssessedInputVoltage", 1, value); } - case BasicInformation::Attributes::NodeLabel::Id: { - chip::CharSpan value; + case PowerSource::Attributes::WiredAssessedInputFrequency::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NodeLabel", 1, value); + return DataModelLogger::LogValue("WiredAssessedInputFrequency", 1, value); } - case BasicInformation::Attributes::Location::Id: { - chip::CharSpan value; + case PowerSource::Attributes::WiredCurrentType::Id: { + chip::app::Clusters::PowerSource::WiredCurrentTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Location", 1, value); + return DataModelLogger::LogValue("WiredCurrentType", 1, value); } - case BasicInformation::Attributes::HardwareVersion::Id: { - uint16_t value; + case PowerSource::Attributes::WiredAssessedCurrent::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HardwareVersion", 1, value); + return DataModelLogger::LogValue("WiredAssessedCurrent", 1, value); } - case BasicInformation::Attributes::HardwareVersionString::Id: { - chip::CharSpan value; + case PowerSource::Attributes::WiredNominalVoltage::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HardwareVersionString", 1, value); + return DataModelLogger::LogValue("WiredNominalVoltage", 1, value); } - case BasicInformation::Attributes::SoftwareVersion::Id: { + case PowerSource::Attributes::WiredMaximumCurrent::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SoftwareVersion", 1, value); + return DataModelLogger::LogValue("WiredMaximumCurrent", 1, value); } - case BasicInformation::Attributes::SoftwareVersionString::Id: { - chip::CharSpan value; + case PowerSource::Attributes::WiredPresent::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SoftwareVersionString", 1, value); + return DataModelLogger::LogValue("WiredPresent", 1, value); } - case BasicInformation::Attributes::ManufacturingDate::Id: { - chip::CharSpan value; + case PowerSource::Attributes::ActiveWiredFaults::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ManufacturingDate", 1, value); + return DataModelLogger::LogValue("ActiveWiredFaults", 1, value); } - case BasicInformation::Attributes::PartNumber::Id: { - chip::CharSpan value; + case PowerSource::Attributes::BatVoltage::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PartNumber", 1, value); + return DataModelLogger::LogValue("BatVoltage", 1, value); } - case BasicInformation::Attributes::ProductURL::Id: { - chip::CharSpan value; + case PowerSource::Attributes::BatPercentRemaining::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductURL", 1, value); + return DataModelLogger::LogValue("BatPercentRemaining", 1, value); } - case BasicInformation::Attributes::ProductLabel::Id: { - chip::CharSpan value; + case PowerSource::Attributes::BatTimeRemaining::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductLabel", 1, value); + return DataModelLogger::LogValue("BatTimeRemaining", 1, value); } - case BasicInformation::Attributes::SerialNumber::Id: { - chip::CharSpan value; + case PowerSource::Attributes::BatChargeLevel::Id: { + chip::app::Clusters::PowerSource::BatChargeLevelEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SerialNumber", 1, value); + return DataModelLogger::LogValue("BatChargeLevel", 1, value); } - case BasicInformation::Attributes::LocalConfigDisabled::Id: { + case PowerSource::Attributes::BatReplacementNeeded::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LocalConfigDisabled", 1, value); + return DataModelLogger::LogValue("BatReplacementNeeded", 1, value); } - case BasicInformation::Attributes::Reachable::Id: { + case PowerSource::Attributes::BatReplaceability::Id: { + chip::app::Clusters::PowerSource::BatReplaceabilityEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatReplaceability", 1, value); + } + case PowerSource::Attributes::BatPresent::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Reachable", 1, value); + return DataModelLogger::LogValue("BatPresent", 1, value); } - case BasicInformation::Attributes::UniqueID::Id: { + case PowerSource::Attributes::ActiveBatFaults::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveBatFaults", 1, value); + } + case PowerSource::Attributes::BatReplacementDescription::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UniqueID", 1, value); + return DataModelLogger::LogValue("BatReplacementDescription", 1, value); } - case BasicInformation::Attributes::CapabilityMinima::Id: { - chip::app::Clusters::BasicInformation::Structs::CapabilityMinimaStruct::DecodableType value; + case PowerSource::Attributes::BatCommonDesignation::Id: { + chip::app::Clusters::PowerSource::BatCommonDesignationEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CapabilityMinima", 1, value); + return DataModelLogger::LogValue("BatCommonDesignation", 1, value); } - case BasicInformation::Attributes::ProductAppearance::Id: { - chip::app::Clusters::BasicInformation::Structs::ProductAppearanceStruct::DecodableType value; + case PowerSource::Attributes::BatANSIDesignation::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductAppearance", 1, value); + return DataModelLogger::LogValue("BatANSIDesignation", 1, value); } - case BasicInformation::Attributes::SpecificationVersion::Id: { - uint32_t value; + case PowerSource::Attributes::BatIECDesignation::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SpecificationVersion", 1, value); + return DataModelLogger::LogValue("BatIECDesignation", 1, value); } - case BasicInformation::Attributes::MaxPathsPerInvoke::Id: { - uint16_t value; + case PowerSource::Attributes::BatApprovedChemistry::Id: { + chip::app::Clusters::PowerSource::BatApprovedChemistryEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxPathsPerInvoke", 1, value); + return DataModelLogger::LogValue("BatApprovedChemistry", 1, value); } - case BasicInformation::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case PowerSource::Attributes::BatCapacity::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BasicInformation::Id); + return DataModelLogger::LogValue("BatCapacity", 1, value); } - case BasicInformation::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case PowerSource::Attributes::BatQuantity::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BasicInformation::Id); + return DataModelLogger::LogValue("BatQuantity", 1, value); + } + case PowerSource::Attributes::BatChargeState::Id: { + chip::app::Clusters::PowerSource::BatChargeStateEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BatChargeState", 1, value); } - case BasicInformation::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case PowerSource::Attributes::BatTimeToFullCharge::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("BatTimeToFullCharge", 1, value); } - case BasicInformation::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case PowerSource::Attributes::BatFunctionalWhileCharging::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, BasicInformation::Id); + return DataModelLogger::LogValue("BatFunctionalWhileCharging", 1, value); } - case BasicInformation::Attributes::FeatureMap::Id: { - uint32_t value; + case PowerSource::Attributes::BatChargingCurrent::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("BatChargingCurrent", 1, value); } - case BasicInformation::Attributes::ClusterRevision::Id: { - uint16_t value; + case PowerSource::Attributes::ActiveBatChargeFaults::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("ActiveBatChargeFaults", 1, value); } + case PowerSource::Attributes::EndpointList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EndpointList", 1, value); } - break; - } - case OtaSoftwareUpdateProvider::Id: { - switch (path.mAttributeId) - { - case OtaSoftwareUpdateProvider::Attributes::GeneratedCommandList::Id: { + case PowerSource::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OtaSoftwareUpdateProvider::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PowerSource::Id); } - case OtaSoftwareUpdateProvider::Attributes::AcceptedCommandList::Id: { + case PowerSource::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OtaSoftwareUpdateProvider::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PowerSource::Id); } - case OtaSoftwareUpdateProvider::Attributes::EventList::Id: { + case PowerSource::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OtaSoftwareUpdateProvider::Attributes::AttributeList::Id: { + case PowerSource::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OtaSoftwareUpdateProvider::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, PowerSource::Id); } - case OtaSoftwareUpdateProvider::Attributes::FeatureMap::Id: { + case PowerSource::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OtaSoftwareUpdateProvider::Attributes::ClusterRevision::Id: { + case PowerSource::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9772,103 +11492,80 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OtaSoftwareUpdateRequestor::Id: { + case GeneralCommissioning::Id: { switch (path.mAttributeId) { - case OtaSoftwareUpdateRequestor::Attributes::DefaultOTAProviders::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultOTAProviders", 1, value); - } - case OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::Id: { - bool value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UpdatePossible", 1, value); - } - case OtaSoftwareUpdateRequestor::Attributes::UpdateState::Id: { - chip::app::Clusters::OtaSoftwareUpdateRequestor::UpdateStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UpdateState", 1, value); - } - case OtaSoftwareUpdateRequestor::Attributes::UpdateStateProgress::Id: { - chip::app::DataModel::Nullable value; + case GeneralCommissioning::Attributes::Breadcrumb::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UpdateStateProgress", 1, value); + return DataModelLogger::LogValue("Breadcrumb", 1, value); } - case OtaSoftwareUpdateRequestor::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case GeneralCommissioning::Attributes::BasicCommissioningInfo::Id: { + chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OtaSoftwareUpdateRequestor::Id); + return DataModelLogger::LogValue("BasicCommissioningInfo", 1, value); } - case OtaSoftwareUpdateRequestor::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case GeneralCommissioning::Attributes::RegulatoryConfig::Id: { + chip::app::Clusters::GeneralCommissioning::RegulatoryLocationTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OtaSoftwareUpdateRequestor::Id); + return DataModelLogger::LogValue("RegulatoryConfig", 1, value); } - case OtaSoftwareUpdateRequestor::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case GeneralCommissioning::Attributes::LocationCapability::Id: { + chip::app::Clusters::GeneralCommissioning::RegulatoryLocationTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("LocationCapability", 1, value); } - case OtaSoftwareUpdateRequestor::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case GeneralCommissioning::Attributes::SupportsConcurrentConnection::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OtaSoftwareUpdateRequestor::Id); + return DataModelLogger::LogValue("SupportsConcurrentConnection", 1, value); } - case OtaSoftwareUpdateRequestor::Attributes::FeatureMap::Id: { - uint32_t value; + case GeneralCommissioning::Attributes::TCAcceptedVersion::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("TCAcceptedVersion", 1, value); } - case OtaSoftwareUpdateRequestor::Attributes::ClusterRevision::Id: { + case GeneralCommissioning::Attributes::TCMinRequiredVersion::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("TCMinRequiredVersion", 1, value); } - break; - } - case LocalizationConfiguration::Id: { - switch (path.mAttributeId) - { - case LocalizationConfiguration::Attributes::ActiveLocale::Id: { - chip::CharSpan value; + case GeneralCommissioning::Attributes::TCAcknowledgements::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveLocale", 1, value); + return DataModelLogger::LogValue("TCAcknowledgements", 1, value); } - case LocalizationConfiguration::Attributes::SupportedLocales::Id: { - chip::app::DataModel::DecodableList value; + case GeneralCommissioning::Attributes::TCAcknowledgementsRequired::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedLocales", 1, value); + return DataModelLogger::LogValue("TCAcknowledgementsRequired", 1, value); } - case LocalizationConfiguration::Attributes::GeneratedCommandList::Id: { + case GeneralCommissioning::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LocalizationConfiguration::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, GeneralCommissioning::Id); } - case LocalizationConfiguration::Attributes::AcceptedCommandList::Id: { + case GeneralCommissioning::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LocalizationConfiguration::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, GeneralCommissioning::Id); } - case LocalizationConfiguration::Attributes::EventList::Id: { + case GeneralCommissioning::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case LocalizationConfiguration::Attributes::AttributeList::Id: { + case GeneralCommissioning::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, LocalizationConfiguration::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, GeneralCommissioning::Id); } - case LocalizationConfiguration::Attributes::FeatureMap::Id: { + case GeneralCommissioning::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case LocalizationConfiguration::Attributes::ClusterRevision::Id: { + case GeneralCommissioning::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9876,91 +11573,92 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case TimeFormatLocalization::Id: { + case NetworkCommissioning::Id: { switch (path.mAttributeId) { - case TimeFormatLocalization::Attributes::HourFormat::Id: { - chip::app::Clusters::TimeFormatLocalization::HourFormatEnum value; + case NetworkCommissioning::Attributes::MaxNetworks::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HourFormat", 1, value); + return DataModelLogger::LogValue("MaxNetworks", 1, value); } - case TimeFormatLocalization::Attributes::ActiveCalendarType::Id: { - chip::app::Clusters::TimeFormatLocalization::CalendarTypeEnum value; + case NetworkCommissioning::Attributes::Networks::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::NetworkCommissioning::Structs::NetworkInfoStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveCalendarType", 1, value); + return DataModelLogger::LogValue("Networks", 1, value); } - case TimeFormatLocalization::Attributes::SupportedCalendarTypes::Id: { - chip::app::DataModel::DecodableList value; + case NetworkCommissioning::Attributes::ScanMaxTimeSeconds::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedCalendarTypes", 1, value); + return DataModelLogger::LogValue("ScanMaxTimeSeconds", 1, value); } - case TimeFormatLocalization::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case NetworkCommissioning::Attributes::ConnectMaxTimeSeconds::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TimeFormatLocalization::Id); + return DataModelLogger::LogValue("ConnectMaxTimeSeconds", 1, value); } - case TimeFormatLocalization::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case NetworkCommissioning::Attributes::InterfaceEnabled::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TimeFormatLocalization::Id); + return DataModelLogger::LogValue("InterfaceEnabled", 1, value); } - case TimeFormatLocalization::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case NetworkCommissioning::Attributes::LastNetworkingStatus::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("LastNetworkingStatus", 1, value); } - case TimeFormatLocalization::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case NetworkCommissioning::Attributes::LastNetworkID::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, TimeFormatLocalization::Id); + return DataModelLogger::LogValue("LastNetworkID", 1, value); } - case TimeFormatLocalization::Attributes::FeatureMap::Id: { - uint32_t value; + case NetworkCommissioning::Attributes::LastConnectErrorValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("LastConnectErrorValue", 1, value); } - case TimeFormatLocalization::Attributes::ClusterRevision::Id: { - uint16_t value; + case NetworkCommissioning::Attributes::SupportedWiFiBands::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("SupportedWiFiBands", 1, value); } + case NetworkCommissioning::Attributes::SupportedThreadFeatures::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedThreadFeatures", 1, value); } - break; - } - case UnitLocalization::Id: { - switch (path.mAttributeId) - { - case UnitLocalization::Attributes::TemperatureUnit::Id: { - chip::app::Clusters::UnitLocalization::TempUnitEnum value; + case NetworkCommissioning::Attributes::ThreadVersion::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TemperatureUnit", 1, value); + return DataModelLogger::LogValue("ThreadVersion", 1, value); } - case UnitLocalization::Attributes::GeneratedCommandList::Id: { + case NetworkCommissioning::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, UnitLocalization::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, NetworkCommissioning::Id); } - case UnitLocalization::Attributes::AcceptedCommandList::Id: { + case NetworkCommissioning::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, UnitLocalization::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, NetworkCommissioning::Id); } - case UnitLocalization::Attributes::EventList::Id: { + case NetworkCommissioning::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case UnitLocalization::Attributes::AttributeList::Id: { + case NetworkCommissioning::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, UnitLocalization::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, NetworkCommissioning::Id); } - case UnitLocalization::Attributes::FeatureMap::Id: { + case NetworkCommissioning::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case UnitLocalization::Attributes::ClusterRevision::Id: { + case NetworkCommissioning::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -9968,40 +11666,35 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case PowerSourceConfiguration::Id: { + case DiagnosticLogs::Id: { switch (path.mAttributeId) { - case PowerSourceConfiguration::Attributes::Sources::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Sources", 1, value); - } - case PowerSourceConfiguration::Attributes::GeneratedCommandList::Id: { + case DiagnosticLogs::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PowerSourceConfiguration::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DiagnosticLogs::Id); } - case PowerSourceConfiguration::Attributes::AcceptedCommandList::Id: { + case DiagnosticLogs::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PowerSourceConfiguration::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DiagnosticLogs::Id); } - case PowerSourceConfiguration::Attributes::EventList::Id: { + case DiagnosticLogs::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case PowerSourceConfiguration::Attributes::AttributeList::Id: { + case DiagnosticLogs::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, PowerSourceConfiguration::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, DiagnosticLogs::Id); } - case PowerSourceConfiguration::Attributes::FeatureMap::Id: { + case DiagnosticLogs::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case PowerSourceConfiguration::Attributes::ClusterRevision::Id: { + case DiagnosticLogs::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -10009,487 +11702,497 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case PowerSource::Id: { + case GeneralDiagnostics::Id: { switch (path.mAttributeId) { - case PowerSource::Attributes::Status::Id: { - chip::app::Clusters::PowerSource::PowerSourceStatusEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Status", 1, value); - } - case PowerSource::Attributes::Order::Id: { - uint8_t value; + case GeneralDiagnostics::Attributes::NetworkInterfaces::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Order", 1, value); + return DataModelLogger::LogValue("NetworkInterfaces", 1, value); } - case PowerSource::Attributes::Description::Id: { - chip::CharSpan value; + case GeneralDiagnostics::Attributes::RebootCount::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Description", 1, value); + return DataModelLogger::LogValue("RebootCount", 1, value); } - case PowerSource::Attributes::WiredAssessedInputVoltage::Id: { - chip::app::DataModel::Nullable value; + case GeneralDiagnostics::Attributes::UpTime::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiredAssessedInputVoltage", 1, value); + return DataModelLogger::LogValue("UpTime", 1, value); } - case PowerSource::Attributes::WiredAssessedInputFrequency::Id: { - chip::app::DataModel::Nullable value; + case GeneralDiagnostics::Attributes::TotalOperationalHours::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiredAssessedInputFrequency", 1, value); + return DataModelLogger::LogValue("TotalOperationalHours", 1, value); } - case PowerSource::Attributes::WiredCurrentType::Id: { - chip::app::Clusters::PowerSource::WiredCurrentTypeEnum value; + case GeneralDiagnostics::Attributes::BootReason::Id: { + chip::app::Clusters::GeneralDiagnostics::BootReasonEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiredCurrentType", 1, value); + return DataModelLogger::LogValue("BootReason", 1, value); } - case PowerSource::Attributes::WiredAssessedCurrent::Id: { - chip::app::DataModel::Nullable value; + case GeneralDiagnostics::Attributes::ActiveHardwareFaults::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiredAssessedCurrent", 1, value); + return DataModelLogger::LogValue("ActiveHardwareFaults", 1, value); } - case PowerSource::Attributes::WiredNominalVoltage::Id: { - uint32_t value; + case GeneralDiagnostics::Attributes::ActiveRadioFaults::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiredNominalVoltage", 1, value); + return DataModelLogger::LogValue("ActiveRadioFaults", 1, value); } - case PowerSource::Attributes::WiredMaximumCurrent::Id: { - uint32_t value; + case GeneralDiagnostics::Attributes::ActiveNetworkFaults::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiredMaximumCurrent", 1, value); + return DataModelLogger::LogValue("ActiveNetworkFaults", 1, value); } - case PowerSource::Attributes::WiredPresent::Id: { + case GeneralDiagnostics::Attributes::TestEventTriggersEnabled::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiredPresent", 1, value); + return DataModelLogger::LogValue("TestEventTriggersEnabled", 1, value); } - case PowerSource::Attributes::ActiveWiredFaults::Id: { - chip::app::DataModel::DecodableList value; + case GeneralDiagnostics::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveWiredFaults", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, GeneralDiagnostics::Id); } - case PowerSource::Attributes::BatVoltage::Id: { - chip::app::DataModel::Nullable value; + case GeneralDiagnostics::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatVoltage", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, GeneralDiagnostics::Id); } - case PowerSource::Attributes::BatPercentRemaining::Id: { - chip::app::DataModel::Nullable value; + case GeneralDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatPercentRemaining", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case PowerSource::Attributes::BatTimeRemaining::Id: { - chip::app::DataModel::Nullable value; + case GeneralDiagnostics::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatTimeRemaining", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, GeneralDiagnostics::Id); } - case PowerSource::Attributes::BatChargeLevel::Id: { - chip::app::Clusters::PowerSource::BatChargeLevelEnum value; + case GeneralDiagnostics::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatChargeLevel", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case PowerSource::Attributes::BatReplacementNeeded::Id: { - bool value; + case GeneralDiagnostics::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatReplacementNeeded", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case PowerSource::Attributes::BatReplaceability::Id: { - chip::app::Clusters::PowerSource::BatReplaceabilityEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatReplaceability", 1, value); } - case PowerSource::Attributes::BatPresent::Id: { - bool value; + break; + } + case SoftwareDiagnostics::Id: { + switch (path.mAttributeId) + { + case SoftwareDiagnostics::Attributes::ThreadMetrics::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatPresent", 1, value); + return DataModelLogger::LogValue("ThreadMetrics", 1, value); } - case PowerSource::Attributes::ActiveBatFaults::Id: { - chip::app::DataModel::DecodableList value; + case SoftwareDiagnostics::Attributes::CurrentHeapFree::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveBatFaults", 1, value); + return DataModelLogger::LogValue("CurrentHeapFree", 1, value); } - case PowerSource::Attributes::BatReplacementDescription::Id: { - chip::CharSpan value; + case SoftwareDiagnostics::Attributes::CurrentHeapUsed::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatReplacementDescription", 1, value); + return DataModelLogger::LogValue("CurrentHeapUsed", 1, value); } - case PowerSource::Attributes::BatCommonDesignation::Id: { - chip::app::Clusters::PowerSource::BatCommonDesignationEnum value; + case SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatCommonDesignation", 1, value); + return DataModelLogger::LogValue("CurrentHeapHighWatermark", 1, value); } - case PowerSource::Attributes::BatANSIDesignation::Id: { - chip::CharSpan value; + case SoftwareDiagnostics::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatANSIDesignation", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, SoftwareDiagnostics::Id); } - case PowerSource::Attributes::BatIECDesignation::Id: { - chip::CharSpan value; + case SoftwareDiagnostics::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatIECDesignation", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, SoftwareDiagnostics::Id); } - case PowerSource::Attributes::BatApprovedChemistry::Id: { - chip::app::Clusters::PowerSource::BatApprovedChemistryEnum value; + case SoftwareDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatApprovedChemistry", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case PowerSource::Attributes::BatCapacity::Id: { - uint32_t value; + case SoftwareDiagnostics::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatCapacity", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, SoftwareDiagnostics::Id); } - case PowerSource::Attributes::BatQuantity::Id: { - uint8_t value; + case SoftwareDiagnostics::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatQuantity", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case PowerSource::Attributes::BatChargeState::Id: { - chip::app::Clusters::PowerSource::BatChargeStateEnum value; + case SoftwareDiagnostics::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatChargeState", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case PowerSource::Attributes::BatTimeToFullCharge::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatTimeToFullCharge", 1, value); } - case PowerSource::Attributes::BatFunctionalWhileCharging::Id: { - bool value; + break; + } + case ThreadNetworkDiagnostics::Id: { + switch (path.mAttributeId) + { + case ThreadNetworkDiagnostics::Attributes::Channel::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatFunctionalWhileCharging", 1, value); + return DataModelLogger::LogValue("Channel", 1, value); } - case PowerSource::Attributes::BatChargingCurrent::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDiagnostics::Attributes::RoutingRole::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatChargingCurrent", 1, value); + return DataModelLogger::LogValue("RoutingRole", 1, value); } - case PowerSource::Attributes::ActiveBatChargeFaults::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::NetworkName::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveBatChargeFaults", 1, value); + return DataModelLogger::LogValue("NetworkName", 1, value); } - case PowerSource::Attributes::EndpointList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::PanId::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EndpointList", 1, value); + return DataModelLogger::LogValue("PanId", 1, value); } - case PowerSource::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::ExtendedPanId::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PowerSource::Id); + return DataModelLogger::LogValue("ExtendedPanId", 1, value); } - case PowerSource::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::MeshLocalPrefix::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PowerSource::Id); + return DataModelLogger::LogValue("MeshLocalPrefix", 1, value); } - case PowerSource::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::OverrunCount::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("OverrunCount", 1, value); } - case PowerSource::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::NeighborTable::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTableStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, PowerSource::Id); + return DataModelLogger::LogValue("NeighborTable", 1, value); } - case PowerSource::Attributes::FeatureMap::Id: { - uint32_t value; + case ThreadNetworkDiagnostics::Attributes::RouteTable::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTableStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("RouteTable", 1, value); } - case PowerSource::Attributes::ClusterRevision::Id: { - uint16_t value; + case ThreadNetworkDiagnostics::Attributes::PartitionId::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } - } - break; - } - case GeneralCommissioning::Id: { - switch (path.mAttributeId) - { - case GeneralCommissioning::Attributes::Breadcrumb::Id: { - uint64_t value; + return DataModelLogger::LogValue("PartitionId", 1, value); + } + case ThreadNetworkDiagnostics::Attributes::Weighting::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Breadcrumb", 1, value); + return DataModelLogger::LogValue("Weighting", 1, value); } - case GeneralCommissioning::Attributes::BasicCommissioningInfo::Id: { - chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::DecodableType value; + case ThreadNetworkDiagnostics::Attributes::DataVersion::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BasicCommissioningInfo", 1, value); + return DataModelLogger::LogValue("DataVersion", 1, value); } - case GeneralCommissioning::Attributes::RegulatoryConfig::Id: { - chip::app::Clusters::GeneralCommissioning::RegulatoryLocationTypeEnum value; + case ThreadNetworkDiagnostics::Attributes::StableDataVersion::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RegulatoryConfig", 1, value); + return DataModelLogger::LogValue("StableDataVersion", 1, value); } - case GeneralCommissioning::Attributes::LocationCapability::Id: { - chip::app::Clusters::GeneralCommissioning::RegulatoryLocationTypeEnum value; + case ThreadNetworkDiagnostics::Attributes::LeaderRouterId::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LocationCapability", 1, value); + return DataModelLogger::LogValue("LeaderRouterId", 1, value); } - case GeneralCommissioning::Attributes::SupportsConcurrentConnection::Id: { - bool value; + case ThreadNetworkDiagnostics::Attributes::DetachedRoleCount::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportsConcurrentConnection", 1, value); + return DataModelLogger::LogValue("DetachedRoleCount", 1, value); } - case GeneralCommissioning::Attributes::TCAcceptedVersion::Id: { + case ThreadNetworkDiagnostics::Attributes::ChildRoleCount::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TCAcceptedVersion", 1, value); + return DataModelLogger::LogValue("ChildRoleCount", 1, value); } - case GeneralCommissioning::Attributes::TCMinRequiredVersion::Id: { + case ThreadNetworkDiagnostics::Attributes::RouterRoleCount::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TCMinRequiredVersion", 1, value); + return DataModelLogger::LogValue("RouterRoleCount", 1, value); } - case GeneralCommissioning::Attributes::TCAcknowledgements::Id: { + case ThreadNetworkDiagnostics::Attributes::LeaderRoleCount::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TCAcknowledgements", 1, value); + return DataModelLogger::LogValue("LeaderRoleCount", 1, value); } - case GeneralCommissioning::Attributes::TCAcknowledgementsRequired::Id: { - bool value; + case ThreadNetworkDiagnostics::Attributes::AttachAttemptCount::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TCAcknowledgementsRequired", 1, value); + return DataModelLogger::LogValue("AttachAttemptCount", 1, value); } - case GeneralCommissioning::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::PartitionIdChangeCount::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, GeneralCommissioning::Id); + return DataModelLogger::LogValue("PartitionIdChangeCount", 1, value); } - case GeneralCommissioning::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::BetterPartitionAttachAttemptCount::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, GeneralCommissioning::Id); + return DataModelLogger::LogValue("BetterPartitionAttachAttemptCount", 1, value); } - case GeneralCommissioning::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::ParentChangeCount::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("ParentChangeCount", 1, value); } - case GeneralCommissioning::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::TxTotalCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, GeneralCommissioning::Id); + return DataModelLogger::LogValue("TxTotalCount", 1, value); } - case GeneralCommissioning::Attributes::FeatureMap::Id: { + case ThreadNetworkDiagnostics::Attributes::TxUnicastCount::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("TxUnicastCount", 1, value); } - case GeneralCommissioning::Attributes::ClusterRevision::Id: { - uint16_t value; + case ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("TxBroadcastCount", 1, value); } + case ThreadNetworkDiagnostics::Attributes::TxAckRequestedCount::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("TxAckRequestedCount", 1, value); } - break; - } - case NetworkCommissioning::Id: { - switch (path.mAttributeId) - { - case NetworkCommissioning::Attributes::MaxNetworks::Id: { - uint8_t value; + case ThreadNetworkDiagnostics::Attributes::TxAckedCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxNetworks", 1, value); + return DataModelLogger::LogValue("TxAckedCount", 1, value); } - case NetworkCommissioning::Attributes::Networks::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::NetworkCommissioning::Structs::NetworkInfoStruct::DecodableType> - value; + case ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Networks", 1, value); + return DataModelLogger::LogValue("TxNoAckRequestedCount", 1, value); } - case NetworkCommissioning::Attributes::ScanMaxTimeSeconds::Id: { - uint8_t value; + case ThreadNetworkDiagnostics::Attributes::TxDataCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScanMaxTimeSeconds", 1, value); + return DataModelLogger::LogValue("TxDataCount", 1, value); } - case NetworkCommissioning::Attributes::ConnectMaxTimeSeconds::Id: { - uint8_t value; + case ThreadNetworkDiagnostics::Attributes::TxDataPollCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ConnectMaxTimeSeconds", 1, value); + return DataModelLogger::LogValue("TxDataPollCount", 1, value); } - case NetworkCommissioning::Attributes::InterfaceEnabled::Id: { - bool value; + case ThreadNetworkDiagnostics::Attributes::TxBeaconCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InterfaceEnabled", 1, value); + return DataModelLogger::LogValue("TxBeaconCount", 1, value); } - case NetworkCommissioning::Attributes::LastNetworkingStatus::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LastNetworkingStatus", 1, value); + return DataModelLogger::LogValue("TxBeaconRequestCount", 1, value); } - case NetworkCommissioning::Attributes::LastNetworkID::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDiagnostics::Attributes::TxOtherCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LastNetworkID", 1, value); + return DataModelLogger::LogValue("TxOtherCount", 1, value); } - case NetworkCommissioning::Attributes::LastConnectErrorValue::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDiagnostics::Attributes::TxRetryCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LastConnectErrorValue", 1, value); + return DataModelLogger::LogValue("TxRetryCount", 1, value); } - case NetworkCommissioning::Attributes::SupportedWiFiBands::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedWiFiBands", 1, value); + return DataModelLogger::LogValue("TxDirectMaxRetryExpiryCount", 1, value); } - case NetworkCommissioning::Attributes::SupportedThreadFeatures::Id: { - chip::BitMask value; + case ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedThreadFeatures", 1, value); + return DataModelLogger::LogValue("TxIndirectMaxRetryExpiryCount", 1, value); } - case NetworkCommissioning::Attributes::ThreadVersion::Id: { - uint16_t value; + case ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThreadVersion", 1, value); + return DataModelLogger::LogValue("TxErrCcaCount", 1, value); } - case NetworkCommissioning::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, NetworkCommissioning::Id); + return DataModelLogger::LogValue("TxErrAbortCount", 1, value); } - case NetworkCommissioning::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, NetworkCommissioning::Id); + return DataModelLogger::LogValue("TxErrBusyChannelCount", 1, value); } - case NetworkCommissioning::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::RxTotalCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("RxTotalCount", 1, value); } - case NetworkCommissioning::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::RxUnicastCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, NetworkCommissioning::Id); + return DataModelLogger::LogValue("RxUnicastCount", 1, value); } - case NetworkCommissioning::Attributes::FeatureMap::Id: { + case ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("RxBroadcastCount", 1, value); } - case NetworkCommissioning::Attributes::ClusterRevision::Id: { - uint16_t value; + case ThreadNetworkDiagnostics::Attributes::RxDataCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("RxDataCount", 1, value); } + case ThreadNetworkDiagnostics::Attributes::RxDataPollCount::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RxDataPollCount", 1, value); } - break; - } - case DiagnosticLogs::Id: { - switch (path.mAttributeId) - { - case DiagnosticLogs::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::RxBeaconCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DiagnosticLogs::Id); + return DataModelLogger::LogValue("RxBeaconCount", 1, value); } - case DiagnosticLogs::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DiagnosticLogs::Id); + return DataModelLogger::LogValue("RxBeaconRequestCount", 1, value); } - case DiagnosticLogs::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::RxOtherCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("RxOtherCount", 1, value); } - case DiagnosticLogs::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, DiagnosticLogs::Id); + return DataModelLogger::LogValue("RxAddressFilteredCount", 1, value); } - case DiagnosticLogs::Attributes::FeatureMap::Id: { + case ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("RxDestAddrFilteredCount", 1, value); } - case DiagnosticLogs::Attributes::ClusterRevision::Id: { - uint16_t value; + case ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("RxDuplicatedCount", 1, value); } + case ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RxErrNoFrameCount", 1, value); } - break; - } - case GeneralDiagnostics::Id: { - switch (path.mAttributeId) - { - case GeneralDiagnostics::Attributes::NetworkInterfaces::Id: { - chip::app::DataModel::DecodableList - value; + case ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NetworkInterfaces", 1, value); + return DataModelLogger::LogValue("RxErrUnknownNeighborCount", 1, value); + } + case ThreadNetworkDiagnostics::Attributes::RxErrInvalidSrcAddrCount::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RxErrInvalidSrcAddrCount", 1, value); } - case GeneralDiagnostics::Attributes::RebootCount::Id: { - uint16_t value; + case ThreadNetworkDiagnostics::Attributes::RxErrSecCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RebootCount", 1, value); + return DataModelLogger::LogValue("RxErrSecCount", 1, value); } - case GeneralDiagnostics::Attributes::UpTime::Id: { - uint64_t value; + case ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UpTime", 1, value); + return DataModelLogger::LogValue("RxErrFcsCount", 1, value); } - case GeneralDiagnostics::Attributes::TotalOperationalHours::Id: { + case ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TotalOperationalHours", 1, value); + return DataModelLogger::LogValue("RxErrOtherCount", 1, value); } - case GeneralDiagnostics::Attributes::BootReason::Id: { - chip::app::Clusters::GeneralDiagnostics::BootReasonEnum value; + case ThreadNetworkDiagnostics::Attributes::ActiveTimestamp::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BootReason", 1, value); + return DataModelLogger::LogValue("ActiveTimestamp", 1, value); } - case GeneralDiagnostics::Attributes::ActiveHardwareFaults::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::PendingTimestamp::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveHardwareFaults", 1, value); + return DataModelLogger::LogValue("PendingTimestamp", 1, value); } - case GeneralDiagnostics::Attributes::ActiveRadioFaults::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::Delay::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveRadioFaults", 1, value); + return DataModelLogger::LogValue("Delay", 1, value); } - case GeneralDiagnostics::Attributes::ActiveNetworkFaults::Id: { - chip::app::DataModel::DecodableList value; + case ThreadNetworkDiagnostics::Attributes::SecurityPolicy::Id: { + chip::app::DataModel::Nullable + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveNetworkFaults", 1, value); + return DataModelLogger::LogValue("SecurityPolicy", 1, value); } - case GeneralDiagnostics::Attributes::TestEventTriggersEnabled::Id: { - bool value; + case ThreadNetworkDiagnostics::Attributes::ChannelPage0Mask::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TestEventTriggersEnabled", 1, value); + return DataModelLogger::LogValue("ChannelPage0Mask", 1, value); } - case GeneralDiagnostics::Attributes::GeneratedCommandList::Id: { + case ThreadNetworkDiagnostics::Attributes::OperationalDatasetComponents::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperationalDatasetComponents", 1, value); + } + case ThreadNetworkDiagnostics::Attributes::ActiveNetworkFaultsList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveNetworkFaultsList", 1, value); + } + case ThreadNetworkDiagnostics::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, GeneralDiagnostics::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ThreadNetworkDiagnostics::Id); } - case GeneralDiagnostics::Attributes::AcceptedCommandList::Id: { + case ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, GeneralDiagnostics::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThreadNetworkDiagnostics::Id); } - case GeneralDiagnostics::Attributes::EventList::Id: { + case ThreadNetworkDiagnostics::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case GeneralDiagnostics::Attributes::AttributeList::Id: { + case ThreadNetworkDiagnostics::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, GeneralDiagnostics::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThreadNetworkDiagnostics::Id); } - case GeneralDiagnostics::Attributes::FeatureMap::Id: { + case ThreadNetworkDiagnostics::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case GeneralDiagnostics::Attributes::ClusterRevision::Id: { + case ThreadNetworkDiagnostics::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -10497,415 +12200,407 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case SoftwareDiagnostics::Id: { + case WiFiNetworkDiagnostics::Id: { switch (path.mAttributeId) { - case SoftwareDiagnostics::Attributes::ThreadMetrics::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThreadMetrics", 1, value); - } - case SoftwareDiagnostics::Attributes::CurrentHeapFree::Id: { - uint64_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentHeapFree", 1, value); - } - case SoftwareDiagnostics::Attributes::CurrentHeapUsed::Id: { - uint64_t value; + case WiFiNetworkDiagnostics::Attributes::Bssid::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentHeapUsed", 1, value); + return DataModelLogger::LogValue("BSSID", 1, value); } - case SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::Id: { - uint64_t value; + case WiFiNetworkDiagnostics::Attributes::SecurityType::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentHeapHighWatermark", 1, value); + return DataModelLogger::LogValue("SecurityType", 1, value); } - case SoftwareDiagnostics::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case WiFiNetworkDiagnostics::Attributes::WiFiVersion::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, SoftwareDiagnostics::Id); + return DataModelLogger::LogValue("WiFiVersion", 1, value); } - case SoftwareDiagnostics::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case WiFiNetworkDiagnostics::Attributes::ChannelNumber::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, SoftwareDiagnostics::Id); + return DataModelLogger::LogValue("ChannelNumber", 1, value); } - case SoftwareDiagnostics::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case WiFiNetworkDiagnostics::Attributes::Rssi::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("RSSI", 1, value); } - case SoftwareDiagnostics::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case WiFiNetworkDiagnostics::Attributes::BeaconLostCount::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, SoftwareDiagnostics::Id); + return DataModelLogger::LogValue("BeaconLostCount", 1, value); } - case SoftwareDiagnostics::Attributes::FeatureMap::Id: { - uint32_t value; + case WiFiNetworkDiagnostics::Attributes::BeaconRxCount::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("BeaconRxCount", 1, value); } - case SoftwareDiagnostics::Attributes::ClusterRevision::Id: { - uint16_t value; + case WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("PacketMulticastRxCount", 1, value); } - break; - } - case ThreadNetworkDiagnostics::Id: { - switch (path.mAttributeId) - { - case ThreadNetworkDiagnostics::Attributes::Channel::Id: { - chip::app::DataModel::Nullable value; + case WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Channel", 1, value); + return DataModelLogger::LogValue("PacketMulticastTxCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RoutingRole::Id: { - chip::app::DataModel::Nullable value; + case WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RoutingRole", 1, value); + return DataModelLogger::LogValue("PacketUnicastRxCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::NetworkName::Id: { - chip::app::DataModel::Nullable value; + case WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NetworkName", 1, value); + return DataModelLogger::LogValue("PacketUnicastTxCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::PanId::Id: { - chip::app::DataModel::Nullable value; + case WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PanId", 1, value); + return DataModelLogger::LogValue("CurrentMaxRate", 1, value); } - case ThreadNetworkDiagnostics::Attributes::ExtendedPanId::Id: { + case WiFiNetworkDiagnostics::Attributes::OverrunCount::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ExtendedPanId", 1, value); + return DataModelLogger::LogValue("OverrunCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::MeshLocalPrefix::Id: { - chip::app::DataModel::Nullable value; + case WiFiNetworkDiagnostics::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeshLocalPrefix", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WiFiNetworkDiagnostics::Id); } - case ThreadNetworkDiagnostics::Attributes::OverrunCount::Id: { - uint64_t value; + case WiFiNetworkDiagnostics::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OverrunCount", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WiFiNetworkDiagnostics::Id); } - case ThreadNetworkDiagnostics::Attributes::NeighborTable::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTableStruct::DecodableType> - value; + case WiFiNetworkDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NeighborTable", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RouteTable::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTableStruct::DecodableType> - value; + case WiFiNetworkDiagnostics::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RouteTable", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WiFiNetworkDiagnostics::Id); } - case ThreadNetworkDiagnostics::Attributes::PartitionId::Id: { - chip::app::DataModel::Nullable value; + case WiFiNetworkDiagnostics::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PartitionId", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ThreadNetworkDiagnostics::Attributes::Weighting::Id: { - chip::app::DataModel::Nullable value; + case WiFiNetworkDiagnostics::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Weighting", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case ThreadNetworkDiagnostics::Attributes::DataVersion::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DataVersion", 1, value); } - case ThreadNetworkDiagnostics::Attributes::StableDataVersion::Id: { - chip::app::DataModel::Nullable value; + break; + } + case EthernetNetworkDiagnostics::Id: { + switch (path.mAttributeId) + { + case EthernetNetworkDiagnostics::Attributes::PHYRate::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StableDataVersion", 1, value); + return DataModelLogger::LogValue("PHYRate", 1, value); } - case ThreadNetworkDiagnostics::Attributes::LeaderRouterId::Id: { - chip::app::DataModel::Nullable value; + case EthernetNetworkDiagnostics::Attributes::FullDuplex::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LeaderRouterId", 1, value); + return DataModelLogger::LogValue("FullDuplex", 1, value); } - case ThreadNetworkDiagnostics::Attributes::DetachedRoleCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::PacketRxCount::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DetachedRoleCount", 1, value); + return DataModelLogger::LogValue("PacketRxCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::ChildRoleCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::PacketTxCount::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ChildRoleCount", 1, value); + return DataModelLogger::LogValue("PacketTxCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RouterRoleCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::TxErrCount::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RouterRoleCount", 1, value); + return DataModelLogger::LogValue("TxErrCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::LeaderRoleCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::CollisionCount::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LeaderRoleCount", 1, value); + return DataModelLogger::LogValue("CollisionCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::AttachAttemptCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::OverrunCount::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AttachAttemptCount", 1, value); + return DataModelLogger::LogValue("OverrunCount", 1, value); } - case ThreadNetworkDiagnostics::Attributes::PartitionIdChangeCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::CarrierDetect::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PartitionIdChangeCount", 1, value); + return DataModelLogger::LogValue("CarrierDetect", 1, value); } - case ThreadNetworkDiagnostics::Attributes::BetterPartitionAttachAttemptCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::TimeSinceReset::Id: { + uint64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BetterPartitionAttachAttemptCount", 1, value); + return DataModelLogger::LogValue("TimeSinceReset", 1, value); } - case ThreadNetworkDiagnostics::Attributes::ParentChangeCount::Id: { - uint16_t value; + case EthernetNetworkDiagnostics::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ParentChangeCount", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EthernetNetworkDiagnostics::Id); } - case ThreadNetworkDiagnostics::Attributes::TxTotalCount::Id: { - uint32_t value; + case EthernetNetworkDiagnostics::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxTotalCount", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EthernetNetworkDiagnostics::Id); } - case ThreadNetworkDiagnostics::Attributes::TxUnicastCount::Id: { - uint32_t value; + case EthernetNetworkDiagnostics::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxUnicastCount", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::Id: { - uint32_t value; + case EthernetNetworkDiagnostics::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxBroadcastCount", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, EthernetNetworkDiagnostics::Id); } - case ThreadNetworkDiagnostics::Attributes::TxAckRequestedCount::Id: { + case EthernetNetworkDiagnostics::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxAckRequestedCount", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxAckedCount::Id: { - uint32_t value; + case EthernetNetworkDiagnostics::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxAckedCount", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::Id: { - uint32_t value; + } + break; + } + case TimeSynchronization::Id: { + switch (path.mAttributeId) + { + case TimeSynchronization::Attributes::UTCTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxNoAckRequestedCount", 1, value); + return DataModelLogger::LogValue("UTCTime", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxDataCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::Granularity::Id: { + chip::app::Clusters::TimeSynchronization::GranularityEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxDataCount", 1, value); + return DataModelLogger::LogValue("Granularity", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxDataPollCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::TimeSource::Id: { + chip::app::Clusters::TimeSynchronization::TimeSourceEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxDataPollCount", 1, value); + return DataModelLogger::LogValue("TimeSource", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxBeaconCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::TrustedTimeSource::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::TimeSynchronization::Structs::TrustedTimeSourceStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxBeaconCount", 1, value); + return DataModelLogger::LogValue("TrustedTimeSource", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::DefaultNTP::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxBeaconRequestCount", 1, value); + return DataModelLogger::LogValue("DefaultNTP", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxOtherCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::TimeZone::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxOtherCount", 1, value); + return DataModelLogger::LogValue("TimeZone", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxRetryCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::DSTOffset::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxRetryCount", 1, value); + return DataModelLogger::LogValue("DSTOffset", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::LocalTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxDirectMaxRetryExpiryCount", 1, value); + return DataModelLogger::LogValue("LocalTime", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::TimeZoneDatabase::Id: { + chip::app::Clusters::TimeSynchronization::TimeZoneDatabaseEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxIndirectMaxRetryExpiryCount", 1, value); + return DataModelLogger::LogValue("TimeZoneDatabase", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::NTPServerAvailable::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxErrCcaCount", 1, value); + return DataModelLogger::LogValue("NTPServerAvailable", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::TimeZoneListMaxSize::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxErrAbortCount", 1, value); + return DataModelLogger::LogValue("TimeZoneListMaxSize", 1, value); } - case ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::DSTOffsetListMaxSize::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxErrBusyChannelCount", 1, value); + return DataModelLogger::LogValue("DSTOffsetListMaxSize", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxTotalCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::SupportsDNSResolve::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxTotalCount", 1, value); + return DataModelLogger::LogValue("SupportsDNSResolve", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxUnicastCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxUnicastCount", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TimeSynchronization::Id); } - case ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxBroadcastCount", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TimeSynchronization::Id); } - case ThreadNetworkDiagnostics::Attributes::RxDataCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxDataCount", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxDataPollCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxDataPollCount", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, TimeSynchronization::Id); } - case ThreadNetworkDiagnostics::Attributes::RxBeaconCount::Id: { + case TimeSynchronization::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxBeaconCount", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::Id: { - uint32_t value; + case TimeSynchronization::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxBeaconRequestCount", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxOtherCount::Id: { - uint32_t value; + } + break; + } + case BridgedDeviceBasicInformation::Id: { + switch (path.mAttributeId) + { + case BridgedDeviceBasicInformation::Attributes::VendorName::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxOtherCount", 1, value); + return DataModelLogger::LogValue("VendorName", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::VendorID::Id: { + chip::VendorId value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxAddressFilteredCount", 1, value); + return DataModelLogger::LogValue("VendorID", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::ProductName::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxDestAddrFilteredCount", 1, value); + return DataModelLogger::LogValue("ProductName", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::ProductID::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxDuplicatedCount", 1, value); + return DataModelLogger::LogValue("ProductID", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::NodeLabel::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxErrNoFrameCount", 1, value); + return DataModelLogger::LogValue("NodeLabel", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::HardwareVersion::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxErrUnknownNeighborCount", 1, value); + return DataModelLogger::LogValue("HardwareVersion", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxErrInvalidSrcAddrCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::HardwareVersionString::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxErrInvalidSrcAddrCount", 1, value); + return DataModelLogger::LogValue("HardwareVersionString", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxErrSecCount::Id: { + case BridgedDeviceBasicInformation::Attributes::SoftwareVersion::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxErrSecCount", 1, value); + return DataModelLogger::LogValue("SoftwareVersion", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::SoftwareVersionString::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxErrFcsCount", 1, value); + return DataModelLogger::LogValue("SoftwareVersionString", 1, value); } - case ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::Id: { - uint32_t value; + case BridgedDeviceBasicInformation::Attributes::ManufacturingDate::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RxErrOtherCount", 1, value); + return DataModelLogger::LogValue("ManufacturingDate", 1, value); } - case ThreadNetworkDiagnostics::Attributes::ActiveTimestamp::Id: { - chip::app::DataModel::Nullable value; + case BridgedDeviceBasicInformation::Attributes::PartNumber::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveTimestamp", 1, value); + return DataModelLogger::LogValue("PartNumber", 1, value); } - case ThreadNetworkDiagnostics::Attributes::PendingTimestamp::Id: { - chip::app::DataModel::Nullable value; + case BridgedDeviceBasicInformation::Attributes::ProductURL::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PendingTimestamp", 1, value); + return DataModelLogger::LogValue("ProductURL", 1, value); } - case ThreadNetworkDiagnostics::Attributes::Delay::Id: { - chip::app::DataModel::Nullable value; + case BridgedDeviceBasicInformation::Attributes::ProductLabel::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Delay", 1, value); + return DataModelLogger::LogValue("ProductLabel", 1, value); } - case ThreadNetworkDiagnostics::Attributes::SecurityPolicy::Id: { - chip::app::DataModel::Nullable - value; + case BridgedDeviceBasicInformation::Attributes::SerialNumber::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SecurityPolicy", 1, value); + return DataModelLogger::LogValue("SerialNumber", 1, value); } - case ThreadNetworkDiagnostics::Attributes::ChannelPage0Mask::Id: { - chip::app::DataModel::Nullable value; + case BridgedDeviceBasicInformation::Attributes::Reachable::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ChannelPage0Mask", 1, value); + return DataModelLogger::LogValue("Reachable", 1, value); } - case ThreadNetworkDiagnostics::Attributes::OperationalDatasetComponents::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType> - value; + case BridgedDeviceBasicInformation::Attributes::UniqueID::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalDatasetComponents", 1, value); + return DataModelLogger::LogValue("UniqueID", 1, value); } - case ThreadNetworkDiagnostics::Attributes::ActiveNetworkFaultsList::Id: { - chip::app::DataModel::DecodableList value; + case BridgedDeviceBasicInformation::Attributes::ProductAppearance::Id: { + chip::app::Clusters::BridgedDeviceBasicInformation::Structs::ProductAppearanceStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveNetworkFaultsList", 1, value); + return DataModelLogger::LogValue("ProductAppearance", 1, value); } - case ThreadNetworkDiagnostics::Attributes::GeneratedCommandList::Id: { + case BridgedDeviceBasicInformation::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ThreadNetworkDiagnostics::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BridgedDeviceBasicInformation::Id); } - case ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id: { + case BridgedDeviceBasicInformation::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThreadNetworkDiagnostics::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BridgedDeviceBasicInformation::Id); } - case ThreadNetworkDiagnostics::Attributes::EventList::Id: { + case BridgedDeviceBasicInformation::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ThreadNetworkDiagnostics::Attributes::AttributeList::Id: { + case BridgedDeviceBasicInformation::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThreadNetworkDiagnostics::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, BridgedDeviceBasicInformation::Id); } - case ThreadNetworkDiagnostics::Attributes::FeatureMap::Id: { + case BridgedDeviceBasicInformation::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ThreadNetworkDiagnostics::Attributes::ClusterRevision::Id: { + case BridgedDeviceBasicInformation::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -10913,100 +12608,101 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case WiFiNetworkDiagnostics::Id: { + case Switch::Id: { switch (path.mAttributeId) { - case WiFiNetworkDiagnostics::Attributes::Bssid::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::NumberOfPositions::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BSSID", 1, value); + return DataModelLogger::LogValue("NumberOfPositions", 1, value); } - case WiFiNetworkDiagnostics::Attributes::SecurityType::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::CurrentPosition::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SecurityType", 1, value); + return DataModelLogger::LogValue("CurrentPosition", 1, value); } - case WiFiNetworkDiagnostics::Attributes::WiFiVersion::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::MultiPressMax::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WiFiVersion", 1, value); + return DataModelLogger::LogValue("MultiPressMax", 1, value); } - case WiFiNetworkDiagnostics::Attributes::ChannelNumber::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ChannelNumber", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Switch::Id); } - case WiFiNetworkDiagnostics::Attributes::Rssi::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RSSI", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Switch::Id); } - case WiFiNetworkDiagnostics::Attributes::BeaconLostCount::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BeaconLostCount", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case WiFiNetworkDiagnostics::Attributes::BeaconRxCount::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BeaconRxCount", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Switch::Id); } - case WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PacketMulticastRxCount", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::Id: { - chip::app::DataModel::Nullable value; + case Switch::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PacketMulticastTxCount", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PacketUnicastRxCount", 1, value); } - case WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::Id: { - chip::app::DataModel::Nullable value; + break; + } + case AdministratorCommissioning::Id: { + switch (path.mAttributeId) + { + case AdministratorCommissioning::Attributes::WindowStatus::Id: { + chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatusEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PacketUnicastTxCount", 1, value); + return DataModelLogger::LogValue("WindowStatus", 1, value); } - case WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::Id: { - chip::app::DataModel::Nullable value; + case AdministratorCommissioning::Attributes::AdminFabricIndex::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMaxRate", 1, value); + return DataModelLogger::LogValue("AdminFabricIndex", 1, value); } - case WiFiNetworkDiagnostics::Attributes::OverrunCount::Id: { - chip::app::DataModel::Nullable value; + case AdministratorCommissioning::Attributes::AdminVendorId::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OverrunCount", 1, value); + return DataModelLogger::LogValue("AdminVendorId", 1, value); } - case WiFiNetworkDiagnostics::Attributes::GeneratedCommandList::Id: { + case AdministratorCommissioning::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WiFiNetworkDiagnostics::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AdministratorCommissioning::Id); } - case WiFiNetworkDiagnostics::Attributes::AcceptedCommandList::Id: { + case AdministratorCommissioning::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WiFiNetworkDiagnostics::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AdministratorCommissioning::Id); } - case WiFiNetworkDiagnostics::Attributes::EventList::Id: { + case AdministratorCommissioning::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case WiFiNetworkDiagnostics::Attributes::AttributeList::Id: { + case AdministratorCommissioning::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, WiFiNetworkDiagnostics::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, AdministratorCommissioning::Id); } - case WiFiNetworkDiagnostics::Attributes::FeatureMap::Id: { + case AdministratorCommissioning::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case WiFiNetworkDiagnostics::Attributes::ClusterRevision::Id: { + case AdministratorCommissioning::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11014,80 +12710,126 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case EthernetNetworkDiagnostics::Id: { + case OperationalCredentials::Id: { switch (path.mAttributeId) { - case EthernetNetworkDiagnostics::Attributes::PHYRate::Id: { - chip::app::DataModel::Nullable value; + case OperationalCredentials::Attributes::NOCs::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PHYRate", 1, value); + return DataModelLogger::LogValue("NOCs", 1, value); } - case EthernetNetworkDiagnostics::Attributes::FullDuplex::Id: { - chip::app::DataModel::Nullable value; + case OperationalCredentials::Attributes::Fabrics::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptorStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FullDuplex", 1, value); + return DataModelLogger::LogValue("Fabrics", 1, value); } - case EthernetNetworkDiagnostics::Attributes::PacketRxCount::Id: { - uint64_t value; + case OperationalCredentials::Attributes::SupportedFabrics::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PacketRxCount", 1, value); + return DataModelLogger::LogValue("SupportedFabrics", 1, value); } - case EthernetNetworkDiagnostics::Attributes::PacketTxCount::Id: { - uint64_t value; + case OperationalCredentials::Attributes::CommissionedFabrics::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PacketTxCount", 1, value); + return DataModelLogger::LogValue("CommissionedFabrics", 1, value); } - case EthernetNetworkDiagnostics::Attributes::TxErrCount::Id: { - uint64_t value; + case OperationalCredentials::Attributes::TrustedRootCertificates::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TxErrCount", 1, value); + return DataModelLogger::LogValue("TrustedRootCertificates", 1, value); } - case EthernetNetworkDiagnostics::Attributes::CollisionCount::Id: { - uint64_t value; + case OperationalCredentials::Attributes::CurrentFabricIndex::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CollisionCount", 1, value); + return DataModelLogger::LogValue("CurrentFabricIndex", 1, value); } - case EthernetNetworkDiagnostics::Attributes::OverrunCount::Id: { - uint64_t value; + case OperationalCredentials::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OverrunCount", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OperationalCredentials::Id); } - case EthernetNetworkDiagnostics::Attributes::CarrierDetect::Id: { - chip::app::DataModel::Nullable value; + case OperationalCredentials::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CarrierDetect", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OperationalCredentials::Id); } - case EthernetNetworkDiagnostics::Attributes::TimeSinceReset::Id: { - uint64_t value; + case OperationalCredentials::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TimeSinceReset", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case EthernetNetworkDiagnostics::Attributes::GeneratedCommandList::Id: { + case OperationalCredentials::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OperationalCredentials::Id); + } + case OperationalCredentials::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case OperationalCredentials::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case GroupKeyManagement::Id: { + switch (path.mAttributeId) + { + case GroupKeyManagement::Attributes::GroupKeyMap::Id: { + chip::app::DataModel::DecodableList + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GroupKeyMap", 1, value); + } + case GroupKeyManagement::Attributes::GroupTable::Id: { + chip::app::DataModel::DecodableList + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("GroupTable", 1, value); + } + case GroupKeyManagement::Attributes::MaxGroupsPerFabric::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxGroupsPerFabric", 1, value); + } + case GroupKeyManagement::Attributes::MaxGroupKeysPerFabric::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxGroupKeysPerFabric", 1, value); + } + case GroupKeyManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EthernetNetworkDiagnostics::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, GroupKeyManagement::Id); } - case EthernetNetworkDiagnostics::Attributes::AcceptedCommandList::Id: { + case GroupKeyManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EthernetNetworkDiagnostics::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, GroupKeyManagement::Id); } - case EthernetNetworkDiagnostics::Attributes::EventList::Id: { + case GroupKeyManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case EthernetNetworkDiagnostics::Attributes::AttributeList::Id: { + case GroupKeyManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, EthernetNetworkDiagnostics::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, GroupKeyManagement::Id); } - case EthernetNetworkDiagnostics::Attributes::FeatureMap::Id: { + case GroupKeyManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case EthernetNetworkDiagnostics::Attributes::ClusterRevision::Id: { + case GroupKeyManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11095,104 +12837,81 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case TimeSynchronization::Id: { + case FixedLabel::Id: { switch (path.mAttributeId) { - case TimeSynchronization::Attributes::UTCTime::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UTCTime", 1, value); - } - case TimeSynchronization::Attributes::Granularity::Id: { - chip::app::Clusters::TimeSynchronization::GranularityEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Granularity", 1, value); - } - case TimeSynchronization::Attributes::TimeSource::Id: { - chip::app::Clusters::TimeSynchronization::TimeSourceEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TimeSource", 1, value); - } - case TimeSynchronization::Attributes::TrustedTimeSource::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::TimeSynchronization::Structs::TrustedTimeSourceStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TrustedTimeSource", 1, value); - } - case TimeSynchronization::Attributes::DefaultNTP::Id: { - chip::app::DataModel::Nullable value; + case FixedLabel::Attributes::LabelList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultNTP", 1, value); + return DataModelLogger::LogValue("LabelList", 1, value); } - case TimeSynchronization::Attributes::TimeZone::Id: { - chip::app::DataModel::DecodableList - value; + case FixedLabel::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TimeZone", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, FixedLabel::Id); } - case TimeSynchronization::Attributes::DSTOffset::Id: { - chip::app::DataModel::DecodableList - value; + case FixedLabel::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DSTOffset", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FixedLabel::Id); } - case TimeSynchronization::Attributes::LocalTime::Id: { - chip::app::DataModel::Nullable value; + case FixedLabel::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LocalTime", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case TimeSynchronization::Attributes::TimeZoneDatabase::Id: { - chip::app::Clusters::TimeSynchronization::TimeZoneDatabaseEnum value; + case FixedLabel::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TimeZoneDatabase", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, FixedLabel::Id); } - case TimeSynchronization::Attributes::NTPServerAvailable::Id: { - bool value; + case FixedLabel::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NTPServerAvailable", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case TimeSynchronization::Attributes::TimeZoneListMaxSize::Id: { - uint8_t value; + case FixedLabel::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TimeZoneListMaxSize", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case TimeSynchronization::Attributes::DSTOffsetListMaxSize::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DSTOffsetListMaxSize", 1, value); } - case TimeSynchronization::Attributes::SupportsDNSResolve::Id: { - bool value; + break; + } + case UserLabel::Id: { + switch (path.mAttributeId) + { + case UserLabel::Attributes::LabelList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportsDNSResolve", 1, value); + return DataModelLogger::LogValue("LabelList", 1, value); } - case TimeSynchronization::Attributes::GeneratedCommandList::Id: { + case UserLabel::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TimeSynchronization::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, UserLabel::Id); } - case TimeSynchronization::Attributes::AcceptedCommandList::Id: { + case UserLabel::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TimeSynchronization::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, UserLabel::Id); } - case TimeSynchronization::Attributes::EventList::Id: { + case UserLabel::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case TimeSynchronization::Attributes::AttributeList::Id: { + case UserLabel::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, TimeSynchronization::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, UserLabel::Id); } - case TimeSynchronization::Attributes::FeatureMap::Id: { + case UserLabel::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case TimeSynchronization::Attributes::ClusterRevision::Id: { + case UserLabel::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11200,120 +12919,107 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case BridgedDeviceBasicInformation::Id: { + case ProxyConfiguration::Id: { switch (path.mAttributeId) { - case BridgedDeviceBasicInformation::Attributes::VendorName::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("VendorName", 1, value); - } - case BridgedDeviceBasicInformation::Attributes::VendorID::Id: { - chip::VendorId value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("VendorID", 1, value); - } - case BridgedDeviceBasicInformation::Attributes::ProductName::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductName", 1, value); - } - case BridgedDeviceBasicInformation::Attributes::ProductID::Id: { - uint16_t value; + case ProxyConfiguration::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductID", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ProxyConfiguration::Id); } - case BridgedDeviceBasicInformation::Attributes::NodeLabel::Id: { - chip::CharSpan value; + case ProxyConfiguration::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NodeLabel", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ProxyConfiguration::Id); } - case BridgedDeviceBasicInformation::Attributes::HardwareVersion::Id: { - uint16_t value; + case ProxyConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HardwareVersion", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case BridgedDeviceBasicInformation::Attributes::HardwareVersionString::Id: { - chip::CharSpan value; + case ProxyConfiguration::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HardwareVersionString", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ProxyConfiguration::Id); } - case BridgedDeviceBasicInformation::Attributes::SoftwareVersion::Id: { + case ProxyConfiguration::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SoftwareVersion", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BridgedDeviceBasicInformation::Attributes::SoftwareVersionString::Id: { - chip::CharSpan value; + case ProxyConfiguration::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SoftwareVersionString", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case BridgedDeviceBasicInformation::Attributes::ManufacturingDate::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ManufacturingDate", 1, value); } - case BridgedDeviceBasicInformation::Attributes::PartNumber::Id: { - chip::CharSpan value; + break; + } + case ProxyDiscovery::Id: { + switch (path.mAttributeId) + { + case ProxyDiscovery::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PartNumber", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ProxyDiscovery::Id); } - case BridgedDeviceBasicInformation::Attributes::ProductURL::Id: { - chip::CharSpan value; + case ProxyDiscovery::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductURL", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ProxyDiscovery::Id); } - case BridgedDeviceBasicInformation::Attributes::ProductLabel::Id: { - chip::CharSpan value; + case ProxyDiscovery::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductLabel", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case BridgedDeviceBasicInformation::Attributes::SerialNumber::Id: { - chip::CharSpan value; + case ProxyDiscovery::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SerialNumber", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ProxyDiscovery::Id); } - case BridgedDeviceBasicInformation::Attributes::Reachable::Id: { - bool value; + case ProxyDiscovery::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Reachable", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BridgedDeviceBasicInformation::Attributes::UniqueID::Id: { - chip::CharSpan value; + case ProxyDiscovery::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UniqueID", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case BridgedDeviceBasicInformation::Attributes::ProductAppearance::Id: { - chip::app::Clusters::BridgedDeviceBasicInformation::Structs::ProductAppearanceStruct::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductAppearance", 1, value); } - case BridgedDeviceBasicInformation::Attributes::GeneratedCommandList::Id: { + break; + } + case ProxyValid::Id: { + switch (path.mAttributeId) + { + case ProxyValid::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BridgedDeviceBasicInformation::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ProxyValid::Id); } - case BridgedDeviceBasicInformation::Attributes::AcceptedCommandList::Id: { + case ProxyValid::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BridgedDeviceBasicInformation::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ProxyValid::Id); } - case BridgedDeviceBasicInformation::Attributes::EventList::Id: { + case ProxyValid::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case BridgedDeviceBasicInformation::Attributes::AttributeList::Id: { + case ProxyValid::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, BridgedDeviceBasicInformation::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ProxyValid::Id); } - case BridgedDeviceBasicInformation::Attributes::FeatureMap::Id: { + case ProxyValid::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BridgedDeviceBasicInformation::Attributes::ClusterRevision::Id: { + case ProxyValid::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11321,50 +13027,40 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Switch::Id: { + case BooleanState::Id: { switch (path.mAttributeId) { - case Switch::Attributes::NumberOfPositions::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfPositions", 1, value); - } - case Switch::Attributes::CurrentPosition::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPosition", 1, value); - } - case Switch::Attributes::MultiPressMax::Id: { - uint8_t value; + case BooleanState::Attributes::StateValue::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MultiPressMax", 1, value); + return DataModelLogger::LogValue("StateValue", 1, value); } - case Switch::Attributes::GeneratedCommandList::Id: { + case BooleanState::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Switch::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BooleanState::Id); } - case Switch::Attributes::AcceptedCommandList::Id: { + case BooleanState::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Switch::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BooleanState::Id); } - case Switch::Attributes::EventList::Id: { + case BooleanState::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Switch::Attributes::AttributeList::Id: { + case BooleanState::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Switch::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, BooleanState::Id); } - case Switch::Attributes::FeatureMap::Id: { + case BooleanState::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Switch::Attributes::ClusterRevision::Id: { + case BooleanState::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11372,50 +13068,87 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case AdministratorCommissioning::Id: { + case IcdManagement::Id: { switch (path.mAttributeId) { - case AdministratorCommissioning::Attributes::WindowStatus::Id: { - chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatusEnum value; + case IcdManagement::Attributes::IdleModeDuration::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WindowStatus", 1, value); + return DataModelLogger::LogValue("IdleModeDuration", 1, value); } - case AdministratorCommissioning::Attributes::AdminFabricIndex::Id: { - chip::app::DataModel::Nullable value; + case IcdManagement::Attributes::ActiveModeDuration::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AdminFabricIndex", 1, value); + return DataModelLogger::LogValue("ActiveModeDuration", 1, value); } - case AdministratorCommissioning::Attributes::AdminVendorId::Id: { - chip::app::DataModel::Nullable value; + case IcdManagement::Attributes::ActiveModeThreshold::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AdminVendorId", 1, value); + return DataModelLogger::LogValue("ActiveModeThreshold", 1, value); } - case AdministratorCommissioning::Attributes::GeneratedCommandList::Id: { + case IcdManagement::Attributes::RegisteredClients::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::IcdManagement::Structs::MonitoringRegistrationStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RegisteredClients", 1, value); + } + case IcdManagement::Attributes::ICDCounter::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ICDCounter", 1, value); + } + case IcdManagement::Attributes::ClientsSupportedPerFabric::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClientsSupportedPerFabric", 1, value); + } + case IcdManagement::Attributes::UserActiveModeTriggerHint::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("UserActiveModeTriggerHint", 1, value); + } + case IcdManagement::Attributes::UserActiveModeTriggerInstruction::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("UserActiveModeTriggerInstruction", 1, value); + } + case IcdManagement::Attributes::OperatingMode::Id: { + chip::app::Clusters::IcdManagement::OperatingModeEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperatingMode", 1, value); + } + case IcdManagement::Attributes::MaximumCheckInBackOff::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaximumCheckInBackOff", 1, value); + } + case IcdManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AdministratorCommissioning::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, IcdManagement::Id); } - case AdministratorCommissioning::Attributes::AcceptedCommandList::Id: { + case IcdManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AdministratorCommissioning::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, IcdManagement::Id); } - case AdministratorCommissioning::Attributes::EventList::Id: { + case IcdManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case AdministratorCommissioning::Attributes::AttributeList::Id: { + case IcdManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, AdministratorCommissioning::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, IcdManagement::Id); } - case AdministratorCommissioning::Attributes::FeatureMap::Id: { + case IcdManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case AdministratorCommissioning::Attributes::ClusterRevision::Id: { + case IcdManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11423,68 +13156,50 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OperationalCredentials::Id: { + case Timer::Id: { switch (path.mAttributeId) { - case OperationalCredentials::Attributes::NOCs::Id: { - chip::app::DataModel::DecodableList - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NOCs", 1, value); - } - case OperationalCredentials::Attributes::Fabrics::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptorStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Fabrics", 1, value); - } - case OperationalCredentials::Attributes::SupportedFabrics::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedFabrics", 1, value); - } - case OperationalCredentials::Attributes::CommissionedFabrics::Id: { - uint8_t value; + case Timer::Attributes::SetTime::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CommissionedFabrics", 1, value); + return DataModelLogger::LogValue("SetTime", 1, value); } - case OperationalCredentials::Attributes::TrustedRootCertificates::Id: { - chip::app::DataModel::DecodableList value; + case Timer::Attributes::TimeRemaining::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TrustedRootCertificates", 1, value); + return DataModelLogger::LogValue("TimeRemaining", 1, value); } - case OperationalCredentials::Attributes::CurrentFabricIndex::Id: { - uint8_t value; + case Timer::Attributes::TimerState::Id: { + chip::app::Clusters::Timer::TimerStatusEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentFabricIndex", 1, value); + return DataModelLogger::LogValue("TimerState", 1, value); } - case OperationalCredentials::Attributes::GeneratedCommandList::Id: { + case Timer::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OperationalCredentials::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Timer::Id); } - case OperationalCredentials::Attributes::AcceptedCommandList::Id: { + case Timer::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OperationalCredentials::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Timer::Id); } - case OperationalCredentials::Attributes::EventList::Id: { + case Timer::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OperationalCredentials::Attributes::AttributeList::Id: { + case Timer::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OperationalCredentials::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Timer::Id); } - case OperationalCredentials::Attributes::FeatureMap::Id: { + case Timer::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OperationalCredentials::Attributes::ClusterRevision::Id: { + case Timer::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11492,57 +13207,67 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case GroupKeyManagement::Id: { + case OvenCavityOperationalState::Id: { switch (path.mAttributeId) { - case GroupKeyManagement::Attributes::GroupKeyMap::Id: { - chip::app::DataModel::DecodableList - value; + case OvenCavityOperationalState::Attributes::PhaseList::Id: { + chip::app::DataModel::Nullable> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("GroupKeyMap", 1, value); + return DataModelLogger::LogValue("PhaseList", 1, value); } - case GroupKeyManagement::Attributes::GroupTable::Id: { - chip::app::DataModel::DecodableList + case OvenCavityOperationalState::Attributes::CurrentPhase::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentPhase", 1, value); + } + case OvenCavityOperationalState::Attributes::CountdownTime::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CountdownTime", 1, value); + } + case OvenCavityOperationalState::Attributes::OperationalStateList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::OvenCavityOperationalState::Structs::OperationalStateStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("GroupTable", 1, value); + return DataModelLogger::LogValue("OperationalStateList", 1, value); } - case GroupKeyManagement::Attributes::MaxGroupsPerFabric::Id: { - uint16_t value; + case OvenCavityOperationalState::Attributes::OperationalState::Id: { + chip::app::Clusters::OvenCavityOperationalState::OperationalStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxGroupsPerFabric", 1, value); + return DataModelLogger::LogValue("OperationalState", 1, value); } - case GroupKeyManagement::Attributes::MaxGroupKeysPerFabric::Id: { - uint16_t value; + case OvenCavityOperationalState::Attributes::OperationalError::Id: { + chip::app::Clusters::OvenCavityOperationalState::Structs::ErrorStateStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxGroupKeysPerFabric", 1, value); + return DataModelLogger::LogValue("OperationalError", 1, value); } - case GroupKeyManagement::Attributes::GeneratedCommandList::Id: { + case OvenCavityOperationalState::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, GroupKeyManagement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OvenCavityOperationalState::Id); } - case GroupKeyManagement::Attributes::AcceptedCommandList::Id: { + case OvenCavityOperationalState::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, GroupKeyManagement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OvenCavityOperationalState::Id); } - case GroupKeyManagement::Attributes::EventList::Id: { + case OvenCavityOperationalState::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case GroupKeyManagement::Attributes::AttributeList::Id: { + case OvenCavityOperationalState::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, GroupKeyManagement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OvenCavityOperationalState::Id); } - case GroupKeyManagement::Attributes::FeatureMap::Id: { + case OvenCavityOperationalState::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case GroupKeyManagement::Attributes::ClusterRevision::Id: { + case OvenCavityOperationalState::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11550,40 +13275,55 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case FixedLabel::Id: { + case OvenMode::Id: { switch (path.mAttributeId) { - case FixedLabel::Attributes::LabelList::Id: { - chip::app::DataModel::DecodableList value; + case OvenMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LabelList", 1, value); + return DataModelLogger::LogValue("SupportedModes", 1, value); } - case FixedLabel::Attributes::GeneratedCommandList::Id: { + case OvenMode::Attributes::CurrentMode::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentMode", 1, value); + } + case OvenMode::Attributes::StartUpMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpMode", 1, value); + } + case OvenMode::Attributes::OnMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnMode", 1, value); + } + case OvenMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, FixedLabel::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OvenMode::Id); } - case FixedLabel::Attributes::AcceptedCommandList::Id: { + case OvenMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FixedLabel::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OvenMode::Id); } - case FixedLabel::Attributes::EventList::Id: { + case OvenMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case FixedLabel::Attributes::AttributeList::Id: { + case OvenMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, FixedLabel::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OvenMode::Id); } - case FixedLabel::Attributes::FeatureMap::Id: { + case OvenMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case FixedLabel::Attributes::ClusterRevision::Id: { + case OvenMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11591,40 +13331,45 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case UserLabel::Id: { + case LaundryDryerControls::Id: { switch (path.mAttributeId) { - case UserLabel::Attributes::LabelList::Id: { - chip::app::DataModel::DecodableList value; + case LaundryDryerControls::Attributes::SupportedDrynessLevels::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LabelList", 1, value); + return DataModelLogger::LogValue("SupportedDrynessLevels", 1, value); + } + case LaundryDryerControls::Attributes::SelectedDrynessLevel::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SelectedDrynessLevel", 1, value); } - case UserLabel::Attributes::GeneratedCommandList::Id: { + case LaundryDryerControls::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, UserLabel::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LaundryDryerControls::Id); } - case UserLabel::Attributes::AcceptedCommandList::Id: { + case LaundryDryerControls::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, UserLabel::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LaundryDryerControls::Id); } - case UserLabel::Attributes::EventList::Id: { + case LaundryDryerControls::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case UserLabel::Attributes::AttributeList::Id: { + case LaundryDryerControls::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, UserLabel::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, LaundryDryerControls::Id); } - case UserLabel::Attributes::FeatureMap::Id: { + case LaundryDryerControls::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case UserLabel::Attributes::ClusterRevision::Id: { + case LaundryDryerControls::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11632,71 +13377,65 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ProxyConfiguration::Id: { + case ModeSelect::Id: { switch (path.mAttributeId) { - case ProxyConfiguration::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ModeSelect::Attributes::Description::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ProxyConfiguration::Id); + return DataModelLogger::LogValue("Description", 1, value); } - case ProxyConfiguration::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ModeSelect::Attributes::StandardNamespace::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ProxyConfiguration::Id); + return DataModelLogger::LogValue("StandardNamespace", 1, value); } - case ProxyConfiguration::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case ModeSelect::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("SupportedModes", 1, value); } - case ProxyConfiguration::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ModeSelect::Attributes::CurrentMode::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ProxyConfiguration::Id); + return DataModelLogger::LogValue("CurrentMode", 1, value); } - case ProxyConfiguration::Attributes::FeatureMap::Id: { - uint32_t value; + case ModeSelect::Attributes::StartUpMode::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("StartUpMode", 1, value); } - case ProxyConfiguration::Attributes::ClusterRevision::Id: { - uint16_t value; + case ModeSelect::Attributes::OnMode::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("OnMode", 1, value); } - break; - } - case ProxyDiscovery::Id: { - switch (path.mAttributeId) - { - case ProxyDiscovery::Attributes::GeneratedCommandList::Id: { + case ModeSelect::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ProxyDiscovery::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ModeSelect::Id); } - case ProxyDiscovery::Attributes::AcceptedCommandList::Id: { + case ModeSelect::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ProxyDiscovery::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ModeSelect::Id); } - case ProxyDiscovery::Attributes::EventList::Id: { + case ModeSelect::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ProxyDiscovery::Attributes::AttributeList::Id: { + case ModeSelect::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ProxyDiscovery::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ModeSelect::Id); } - case ProxyDiscovery::Attributes::FeatureMap::Id: { + case ModeSelect::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ProxyDiscovery::Attributes::ClusterRevision::Id: { + case ModeSelect::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11704,35 +13443,56 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ProxyValid::Id: { + case LaundryWasherMode::Id: { switch (path.mAttributeId) { - case ProxyValid::Attributes::GeneratedCommandList::Id: { + case LaundryWasherMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedModes", 1, value); + } + case LaundryWasherMode::Attributes::CurrentMode::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentMode", 1, value); + } + case LaundryWasherMode::Attributes::StartUpMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpMode", 1, value); + } + case LaundryWasherMode::Attributes::OnMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnMode", 1, value); + } + case LaundryWasherMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ProxyValid::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LaundryWasherMode::Id); } - case ProxyValid::Attributes::AcceptedCommandList::Id: { + case LaundryWasherMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ProxyValid::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LaundryWasherMode::Id); } - case ProxyValid::Attributes::EventList::Id: { + case LaundryWasherMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ProxyValid::Attributes::AttributeList::Id: { + case LaundryWasherMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ProxyValid::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, LaundryWasherMode::Id); } - case ProxyValid::Attributes::FeatureMap::Id: { + case LaundryWasherMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ProxyValid::Attributes::ClusterRevision::Id: { + case LaundryWasherMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11740,40 +13500,59 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case BooleanState::Id: { + case RefrigeratorAndTemperatureControlledCabinetMode::Id: { switch (path.mAttributeId) { - case BooleanState::Attributes::StateValue::Id: { - bool value; + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::RefrigeratorAndTemperatureControlledCabinetMode::Structs::ModeOptionStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StateValue", 1, value); + return DataModelLogger::LogValue("SupportedModes", 1, value); } - case BooleanState::Attributes::GeneratedCommandList::Id: { + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::CurrentMode::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentMode", 1, value); + } + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::StartUpMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpMode", 1, value); + } + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::OnMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnMode", 1, value); + } + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BooleanState::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, + RefrigeratorAndTemperatureControlledCabinetMode::Id); } - case BooleanState::Attributes::AcceptedCommandList::Id: { + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BooleanState::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, + RefrigeratorAndTemperatureControlledCabinetMode::Id); } - case BooleanState::Attributes::EventList::Id: { + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case BooleanState::Attributes::AttributeList::Id: { + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, BooleanState::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, RefrigeratorAndTemperatureControlledCabinetMode::Id); } - case BooleanState::Attributes::FeatureMap::Id: { + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BooleanState::Attributes::ClusterRevision::Id: { + case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11781,138 +13560,101 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case IcdManagement::Id: { + case LaundryWasherControls::Id: { switch (path.mAttributeId) { - case IcdManagement::Attributes::IdleModeDuration::Id: { - uint32_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("IdleModeDuration", 1, value); - } - case IcdManagement::Attributes::ActiveModeDuration::Id: { - uint32_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveModeDuration", 1, value); - } - case IcdManagement::Attributes::ActiveModeThreshold::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveModeThreshold", 1, value); - } - case IcdManagement::Attributes::RegisteredClients::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::IcdManagement::Structs::MonitoringRegistrationStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RegisteredClients", 1, value); - } - case IcdManagement::Attributes::ICDCounter::Id: { - uint32_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ICDCounter", 1, value); - } - case IcdManagement::Attributes::ClientsSupportedPerFabric::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClientsSupportedPerFabric", 1, value); - } - case IcdManagement::Attributes::UserActiveModeTriggerHint::Id: { - chip::BitMask value; + case LaundryWasherControls::Attributes::SpinSpeeds::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UserActiveModeTriggerHint", 1, value); + return DataModelLogger::LogValue("SpinSpeeds", 1, value); } - case IcdManagement::Attributes::UserActiveModeTriggerInstruction::Id: { - chip::CharSpan value; + case LaundryWasherControls::Attributes::SpinSpeedCurrent::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UserActiveModeTriggerInstruction", 1, value); + return DataModelLogger::LogValue("SpinSpeedCurrent", 1, value); } - case IcdManagement::Attributes::OperatingMode::Id: { - chip::app::Clusters::IcdManagement::OperatingModeEnum value; + case LaundryWasherControls::Attributes::NumberOfRinses::Id: { + chip::app::Clusters::LaundryWasherControls::NumberOfRinsesEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperatingMode", 1, value); + return DataModelLogger::LogValue("NumberOfRinses", 1, value); } - case IcdManagement::Attributes::MaximumCheckInBackOff::Id: { - uint32_t value; + case LaundryWasherControls::Attributes::SupportedRinses::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaximumCheckInBackOff", 1, value); + return DataModelLogger::LogValue("SupportedRinses", 1, value); } - case IcdManagement::Attributes::GeneratedCommandList::Id: { + case LaundryWasherControls::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, IcdManagement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LaundryWasherControls::Id); } - case IcdManagement::Attributes::AcceptedCommandList::Id: { + case LaundryWasherControls::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, IcdManagement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LaundryWasherControls::Id); } - case IcdManagement::Attributes::EventList::Id: { + case LaundryWasherControls::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case IcdManagement::Attributes::AttributeList::Id: { + case LaundryWasherControls::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, IcdManagement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, LaundryWasherControls::Id); } - case IcdManagement::Attributes::FeatureMap::Id: { + case LaundryWasherControls::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case IcdManagement::Attributes::ClusterRevision::Id: { + case LaundryWasherControls::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); } - } - break; - } - case Timer::Id: { - switch (path.mAttributeId) - { - case Timer::Attributes::SetTime::Id: { - uint32_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SetTime", 1, value); - } - case Timer::Attributes::TimeRemaining::Id: { - uint32_t value; + } + break; + } + case RvcRunMode::Id: { + switch (path.mAttributeId) + { + case RvcRunMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TimeRemaining", 1, value); + return DataModelLogger::LogValue("SupportedModes", 1, value); } - case Timer::Attributes::TimerState::Id: { - chip::app::Clusters::Timer::TimerStatusEnum value; + case RvcRunMode::Attributes::CurrentMode::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TimerState", 1, value); + return DataModelLogger::LogValue("CurrentMode", 1, value); } - case Timer::Attributes::GeneratedCommandList::Id: { + case RvcRunMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Timer::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RvcRunMode::Id); } - case Timer::Attributes::AcceptedCommandList::Id: { + case RvcRunMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Timer::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RvcRunMode::Id); } - case Timer::Attributes::EventList::Id: { + case RvcRunMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Timer::Attributes::AttributeList::Id: { + case RvcRunMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Timer::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, RvcRunMode::Id); } - case Timer::Attributes::FeatureMap::Id: { + case RvcRunMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Timer::Attributes::ClusterRevision::Id: { + case RvcRunMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11920,67 +13662,45 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OvenCavityOperationalState::Id: { + case RvcCleanMode::Id: { switch (path.mAttributeId) { - case OvenCavityOperationalState::Attributes::PhaseList::Id: { - chip::app::DataModel::Nullable> value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhaseList", 1, value); - } - case OvenCavityOperationalState::Attributes::CurrentPhase::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPhase", 1, value); - } - case OvenCavityOperationalState::Attributes::CountdownTime::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CountdownTime", 1, value); - } - case OvenCavityOperationalState::Attributes::OperationalStateList::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::OvenCavityOperationalState::Structs::OperationalStateStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalStateList", 1, value); - } - case OvenCavityOperationalState::Attributes::OperationalState::Id: { - chip::app::Clusters::OvenCavityOperationalState::OperationalStateEnum value; + case RvcCleanMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalState", 1, value); + return DataModelLogger::LogValue("SupportedModes", 1, value); } - case OvenCavityOperationalState::Attributes::OperationalError::Id: { - chip::app::Clusters::OvenCavityOperationalState::Structs::ErrorStateStruct::DecodableType value; + case RvcCleanMode::Attributes::CurrentMode::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalError", 1, value); + return DataModelLogger::LogValue("CurrentMode", 1, value); } - case OvenCavityOperationalState::Attributes::GeneratedCommandList::Id: { + case RvcCleanMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OvenCavityOperationalState::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RvcCleanMode::Id); } - case OvenCavityOperationalState::Attributes::AcceptedCommandList::Id: { + case RvcCleanMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OvenCavityOperationalState::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RvcCleanMode::Id); } - case OvenCavityOperationalState::Attributes::EventList::Id: { + case RvcCleanMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OvenCavityOperationalState::Attributes::AttributeList::Id: { + case RvcCleanMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OvenCavityOperationalState::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, RvcCleanMode::Id); } - case OvenCavityOperationalState::Attributes::FeatureMap::Id: { + case RvcCleanMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OvenCavityOperationalState::Attributes::ClusterRevision::Id: { + case RvcCleanMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -11988,55 +13708,65 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OvenMode::Id: { + case TemperatureControl::Id: { switch (path.mAttributeId) { - case OvenMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList value; + case TemperatureControl::Attributes::TemperatureSetpoint::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); + return DataModelLogger::LogValue("TemperatureSetpoint", 1, value); } - case OvenMode::Attributes::CurrentMode::Id: { - uint8_t value; + case TemperatureControl::Attributes::MinTemperature::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("MinTemperature", 1, value); } - case OvenMode::Attributes::StartUpMode::Id: { - chip::app::DataModel::Nullable value; + case TemperatureControl::Attributes::MaxTemperature::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpMode", 1, value); + return DataModelLogger::LogValue("MaxTemperature", 1, value); } - case OvenMode::Attributes::OnMode::Id: { - chip::app::DataModel::Nullable value; + case TemperatureControl::Attributes::Step::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnMode", 1, value); + return DataModelLogger::LogValue("Step", 1, value); } - case OvenMode::Attributes::GeneratedCommandList::Id: { + case TemperatureControl::Attributes::SelectedTemperatureLevel::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SelectedTemperatureLevel", 1, value); + } + case TemperatureControl::Attributes::SupportedTemperatureLevels::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedTemperatureLevels", 1, value); + } + case TemperatureControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OvenMode::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TemperatureControl::Id); } - case OvenMode::Attributes::AcceptedCommandList::Id: { + case TemperatureControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OvenMode::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TemperatureControl::Id); } - case OvenMode::Attributes::EventList::Id: { + case TemperatureControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OvenMode::Attributes::AttributeList::Id: { + case TemperatureControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OvenMode::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, TemperatureControl::Id); } - case OvenMode::Attributes::FeatureMap::Id: { + case TemperatureControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OvenMode::Attributes::ClusterRevision::Id: { + case TemperatureControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12044,45 +13774,50 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case LaundryDryerControls::Id: { + case RefrigeratorAlarm::Id: { switch (path.mAttributeId) { - case LaundryDryerControls::Attributes::SupportedDrynessLevels::Id: { - chip::app::DataModel::DecodableList value; + case RefrigeratorAlarm::Attributes::Mask::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedDrynessLevels", 1, value); + return DataModelLogger::LogValue("Mask", 1, value); } - case LaundryDryerControls::Attributes::SelectedDrynessLevel::Id: { - chip::app::DataModel::Nullable value; + case RefrigeratorAlarm::Attributes::State::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SelectedDrynessLevel", 1, value); + return DataModelLogger::LogValue("State", 1, value); } - case LaundryDryerControls::Attributes::GeneratedCommandList::Id: { + case RefrigeratorAlarm::Attributes::Supported::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Supported", 1, value); + } + case RefrigeratorAlarm::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LaundryDryerControls::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RefrigeratorAlarm::Id); } - case LaundryDryerControls::Attributes::AcceptedCommandList::Id: { + case RefrigeratorAlarm::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LaundryDryerControls::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RefrigeratorAlarm::Id); } - case LaundryDryerControls::Attributes::EventList::Id: { + case RefrigeratorAlarm::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case LaundryDryerControls::Attributes::AttributeList::Id: { + case RefrigeratorAlarm::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, LaundryDryerControls::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, RefrigeratorAlarm::Id); } - case LaundryDryerControls::Attributes::FeatureMap::Id: { + case RefrigeratorAlarm::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case LaundryDryerControls::Attributes::ClusterRevision::Id: { + case RefrigeratorAlarm::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12090,65 +13825,56 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ModeSelect::Id: { + case DishwasherMode::Id: { switch (path.mAttributeId) { - case ModeSelect::Attributes::Description::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Description", 1, value); - } - case ModeSelect::Attributes::StandardNamespace::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StandardNamespace", 1, value); - } - case ModeSelect::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList value; + case DishwasherMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SupportedModes", 1, value); } - case ModeSelect::Attributes::CurrentMode::Id: { + case DishwasherMode::Attributes::CurrentMode::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("CurrentMode", 1, value); } - case ModeSelect::Attributes::StartUpMode::Id: { + case DishwasherMode::Attributes::StartUpMode::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("StartUpMode", 1, value); } - case ModeSelect::Attributes::OnMode::Id: { + case DishwasherMode::Attributes::OnMode::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("OnMode", 1, value); } - case ModeSelect::Attributes::GeneratedCommandList::Id: { + case DishwasherMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ModeSelect::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DishwasherMode::Id); } - case ModeSelect::Attributes::AcceptedCommandList::Id: { + case DishwasherMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ModeSelect::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DishwasherMode::Id); } - case ModeSelect::Attributes::EventList::Id: { + case DishwasherMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ModeSelect::Attributes::AttributeList::Id: { + case DishwasherMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ModeSelect::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, DishwasherMode::Id); } - case ModeSelect::Attributes::FeatureMap::Id: { + case DishwasherMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ModeSelect::Attributes::ClusterRevision::Id: { + case DishwasherMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12156,56 +13882,40 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case LaundryWasherMode::Id: { + case AirQuality::Id: { switch (path.mAttributeId) { - case LaundryWasherMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); - } - case LaundryWasherMode::Attributes::CurrentMode::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); - } - case LaundryWasherMode::Attributes::StartUpMode::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpMode", 1, value); - } - case LaundryWasherMode::Attributes::OnMode::Id: { - chip::app::DataModel::Nullable value; + case AirQuality::Attributes::AirQuality::Id: { + chip::app::Clusters::AirQuality::AirQualityEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnMode", 1, value); + return DataModelLogger::LogValue("AirQuality", 1, value); } - case LaundryWasherMode::Attributes::GeneratedCommandList::Id: { + case AirQuality::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LaundryWasherMode::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AirQuality::Id); } - case LaundryWasherMode::Attributes::AcceptedCommandList::Id: { + case AirQuality::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LaundryWasherMode::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AirQuality::Id); } - case LaundryWasherMode::Attributes::EventList::Id: { + case AirQuality::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case LaundryWasherMode::Attributes::AttributeList::Id: { + case AirQuality::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, LaundryWasherMode::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, AirQuality::Id); } - case LaundryWasherMode::Attributes::FeatureMap::Id: { + case AirQuality::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case LaundryWasherMode::Attributes::ClusterRevision::Id: { + case AirQuality::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12213,115 +13923,100 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case RefrigeratorAndTemperatureControlledCabinetMode::Id: { + case SmokeCoAlarm::Id: { switch (path.mAttributeId) { - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::RefrigeratorAndTemperatureControlledCabinetMode::Structs::ModeOptionStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); - } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::CurrentMode::Id: { - uint8_t value; + case SmokeCoAlarm::Attributes::ExpressedState::Id: { + chip::app::Clusters::SmokeCoAlarm::ExpressedStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("ExpressedState", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::StartUpMode::Id: { - chip::app::DataModel::Nullable value; + case SmokeCoAlarm::Attributes::SmokeState::Id: { + chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpMode", 1, value); + return DataModelLogger::LogValue("SmokeState", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::OnMode::Id: { - chip::app::DataModel::Nullable value; + case SmokeCoAlarm::Attributes::COState::Id: { + chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnMode", 1, value); + return DataModelLogger::LogValue("COState", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case SmokeCoAlarm::Attributes::BatteryAlert::Id: { + chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, - RefrigeratorAndTemperatureControlledCabinetMode::Id); + return DataModelLogger::LogValue("BatteryAlert", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case SmokeCoAlarm::Attributes::DeviceMuted::Id: { + chip::app::Clusters::SmokeCoAlarm::MuteStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, - RefrigeratorAndTemperatureControlledCabinetMode::Id); + return DataModelLogger::LogValue("DeviceMuted", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case SmokeCoAlarm::Attributes::TestInProgress::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("TestInProgress", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case SmokeCoAlarm::Attributes::HardwareFaultAlert::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, RefrigeratorAndTemperatureControlledCabinetMode::Id); + return DataModelLogger::LogValue("HardwareFaultAlert", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::FeatureMap::Id: { - uint32_t value; + case SmokeCoAlarm::Attributes::EndOfServiceAlert::Id: { + chip::app::Clusters::SmokeCoAlarm::EndOfServiceEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("EndOfServiceAlert", 1, value); } - case RefrigeratorAndTemperatureControlledCabinetMode::Attributes::ClusterRevision::Id: { - uint16_t value; + case SmokeCoAlarm::Attributes::InterconnectSmokeAlarm::Id: { + chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("InterconnectSmokeAlarm", 1, value); } - break; - } - case LaundryWasherControls::Id: { - switch (path.mAttributeId) - { - case LaundryWasherControls::Attributes::SpinSpeeds::Id: { - chip::app::DataModel::DecodableList value; + case SmokeCoAlarm::Attributes::InterconnectCOAlarm::Id: { + chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SpinSpeeds", 1, value); + return DataModelLogger::LogValue("InterconnectCOAlarm", 1, value); } - case LaundryWasherControls::Attributes::SpinSpeedCurrent::Id: { - chip::app::DataModel::Nullable value; + case SmokeCoAlarm::Attributes::ContaminationState::Id: { + chip::app::Clusters::SmokeCoAlarm::ContaminationStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SpinSpeedCurrent", 1, value); + return DataModelLogger::LogValue("ContaminationState", 1, value); } - case LaundryWasherControls::Attributes::NumberOfRinses::Id: { - chip::app::Clusters::LaundryWasherControls::NumberOfRinsesEnum value; + case SmokeCoAlarm::Attributes::SmokeSensitivityLevel::Id: { + chip::app::Clusters::SmokeCoAlarm::SensitivityEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfRinses", 1, value); + return DataModelLogger::LogValue("SmokeSensitivityLevel", 1, value); } - case LaundryWasherControls::Attributes::SupportedRinses::Id: { - chip::app::DataModel::DecodableList value; + case SmokeCoAlarm::Attributes::ExpiryDate::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedRinses", 1, value); + return DataModelLogger::LogValue("ExpiryDate", 1, value); } - case LaundryWasherControls::Attributes::GeneratedCommandList::Id: { + case SmokeCoAlarm::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LaundryWasherControls::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, SmokeCoAlarm::Id); } - case LaundryWasherControls::Attributes::AcceptedCommandList::Id: { + case SmokeCoAlarm::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LaundryWasherControls::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, SmokeCoAlarm::Id); } - case LaundryWasherControls::Attributes::EventList::Id: { + case SmokeCoAlarm::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case LaundryWasherControls::Attributes::AttributeList::Id: { + case SmokeCoAlarm::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, LaundryWasherControls::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, SmokeCoAlarm::Id); } - case LaundryWasherControls::Attributes::FeatureMap::Id: { + case SmokeCoAlarm::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case LaundryWasherControls::Attributes::ClusterRevision::Id: { + case SmokeCoAlarm::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12329,45 +14024,55 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case RvcRunMode::Id: { + case DishwasherAlarm::Id: { switch (path.mAttributeId) { - case RvcRunMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList value; + case DishwasherAlarm::Attributes::Mask::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); + return DataModelLogger::LogValue("Mask", 1, value); } - case RvcRunMode::Attributes::CurrentMode::Id: { - uint8_t value; + case DishwasherAlarm::Attributes::Latch::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("Latch", 1, value); } - case RvcRunMode::Attributes::GeneratedCommandList::Id: { + case DishwasherAlarm::Attributes::State::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("State", 1, value); + } + case DishwasherAlarm::Attributes::Supported::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Supported", 1, value); + } + case DishwasherAlarm::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RvcRunMode::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DishwasherAlarm::Id); } - case RvcRunMode::Attributes::AcceptedCommandList::Id: { + case DishwasherAlarm::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RvcRunMode::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DishwasherAlarm::Id); } - case RvcRunMode::Attributes::EventList::Id: { + case DishwasherAlarm::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case RvcRunMode::Attributes::AttributeList::Id: { + case DishwasherAlarm::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, RvcRunMode::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, DishwasherAlarm::Id); } - case RvcRunMode::Attributes::FeatureMap::Id: { + case DishwasherAlarm::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case RvcRunMode::Attributes::ClusterRevision::Id: { + case DishwasherAlarm::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12375,45 +14080,46 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case RvcCleanMode::Id: { + case MicrowaveOvenMode::Id: { switch (path.mAttributeId) { - case RvcCleanMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList value; + case MicrowaveOvenMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SupportedModes", 1, value); } - case RvcCleanMode::Attributes::CurrentMode::Id: { + case MicrowaveOvenMode::Attributes::CurrentMode::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("CurrentMode", 1, value); } - case RvcCleanMode::Attributes::GeneratedCommandList::Id: { + case MicrowaveOvenMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RvcCleanMode::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MicrowaveOvenMode::Id); } - case RvcCleanMode::Attributes::AcceptedCommandList::Id: { + case MicrowaveOvenMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RvcCleanMode::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MicrowaveOvenMode::Id); } - case RvcCleanMode::Attributes::EventList::Id: { + case MicrowaveOvenMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case RvcCleanMode::Attributes::AttributeList::Id: { + case MicrowaveOvenMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, RvcCleanMode::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, MicrowaveOvenMode::Id); } - case RvcCleanMode::Attributes::FeatureMap::Id: { + case MicrowaveOvenMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case RvcCleanMode::Attributes::ClusterRevision::Id: { + case MicrowaveOvenMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12421,65 +14127,80 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case TemperatureControl::Id: { + case MicrowaveOvenControl::Id: { switch (path.mAttributeId) { - case TemperatureControl::Attributes::TemperatureSetpoint::Id: { - int16_t value; + case MicrowaveOvenControl::Attributes::CookTime::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TemperatureSetpoint", 1, value); + return DataModelLogger::LogValue("CookTime", 1, value); } - case TemperatureControl::Attributes::MinTemperature::Id: { - int16_t value; + case MicrowaveOvenControl::Attributes::MaxCookTime::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinTemperature", 1, value); + return DataModelLogger::LogValue("MaxCookTime", 1, value); } - case TemperatureControl::Attributes::MaxTemperature::Id: { - int16_t value; + case MicrowaveOvenControl::Attributes::PowerSetting::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxTemperature", 1, value); + return DataModelLogger::LogValue("PowerSetting", 1, value); } - case TemperatureControl::Attributes::Step::Id: { - int16_t value; + case MicrowaveOvenControl::Attributes::MinPower::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Step", 1, value); + return DataModelLogger::LogValue("MinPower", 1, value); } - case TemperatureControl::Attributes::SelectedTemperatureLevel::Id: { + case MicrowaveOvenControl::Attributes::MaxPower::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SelectedTemperatureLevel", 1, value); + return DataModelLogger::LogValue("MaxPower", 1, value); } - case TemperatureControl::Attributes::SupportedTemperatureLevels::Id: { - chip::app::DataModel::DecodableList value; + case MicrowaveOvenControl::Attributes::PowerStep::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedTemperatureLevels", 1, value); + return DataModelLogger::LogValue("PowerStep", 1, value); } - case TemperatureControl::Attributes::GeneratedCommandList::Id: { + case MicrowaveOvenControl::Attributes::SupportedWatts::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedWatts", 1, value); + } + case MicrowaveOvenControl::Attributes::SelectedWattIndex::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SelectedWattIndex", 1, value); + } + case MicrowaveOvenControl::Attributes::WattRating::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WattRating", 1, value); + } + case MicrowaveOvenControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TemperatureControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MicrowaveOvenControl::Id); } - case TemperatureControl::Attributes::AcceptedCommandList::Id: { + case MicrowaveOvenControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TemperatureControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MicrowaveOvenControl::Id); } - case TemperatureControl::Attributes::EventList::Id: { + case MicrowaveOvenControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case TemperatureControl::Attributes::AttributeList::Id: { + case MicrowaveOvenControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, TemperatureControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, MicrowaveOvenControl::Id); } - case TemperatureControl::Attributes::FeatureMap::Id: { + case MicrowaveOvenControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case TemperatureControl::Attributes::ClusterRevision::Id: { + case MicrowaveOvenControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12487,50 +14208,67 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case RefrigeratorAlarm::Id: { + case OperationalState::Id: { switch (path.mAttributeId) { - case RefrigeratorAlarm::Attributes::Mask::Id: { - chip::BitMask value; + case OperationalState::Attributes::PhaseList::Id: { + chip::app::DataModel::Nullable> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Mask", 1, value); + return DataModelLogger::LogValue("PhaseList", 1, value); } - case RefrigeratorAlarm::Attributes::State::Id: { - chip::BitMask value; + case OperationalState::Attributes::CurrentPhase::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("State", 1, value); + return DataModelLogger::LogValue("CurrentPhase", 1, value); } - case RefrigeratorAlarm::Attributes::Supported::Id: { - chip::BitMask value; + case OperationalState::Attributes::CountdownTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Supported", 1, value); + return DataModelLogger::LogValue("CountdownTime", 1, value); } - case RefrigeratorAlarm::Attributes::GeneratedCommandList::Id: { + case OperationalState::Attributes::OperationalStateList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::OperationalState::Structs::OperationalStateStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperationalStateList", 1, value); + } + case OperationalState::Attributes::OperationalState::Id: { + chip::app::Clusters::OperationalState::OperationalStateEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperationalState", 1, value); + } + case OperationalState::Attributes::OperationalError::Id: { + chip::app::Clusters::OperationalState::Structs::ErrorStateStruct::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperationalError", 1, value); + } + case OperationalState::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RefrigeratorAlarm::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OperationalState::Id); } - case RefrigeratorAlarm::Attributes::AcceptedCommandList::Id: { + case OperationalState::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RefrigeratorAlarm::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OperationalState::Id); } - case RefrigeratorAlarm::Attributes::EventList::Id: { + case OperationalState::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case RefrigeratorAlarm::Attributes::AttributeList::Id: { + case OperationalState::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, RefrigeratorAlarm::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OperationalState::Id); } - case RefrigeratorAlarm::Attributes::FeatureMap::Id: { + case OperationalState::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case RefrigeratorAlarm::Attributes::ClusterRevision::Id: { + case OperationalState::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12538,56 +14276,67 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case DishwasherMode::Id: { + case RvcOperationalState::Id: { switch (path.mAttributeId) { - case DishwasherMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList - value; + case RvcOperationalState::Attributes::PhaseList::Id: { + chip::app::DataModel::Nullable> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); + return DataModelLogger::LogValue("PhaseList", 1, value); } - case DishwasherMode::Attributes::CurrentMode::Id: { - uint8_t value; + case RvcOperationalState::Attributes::CurrentPhase::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("CurrentPhase", 1, value); } - case DishwasherMode::Attributes::StartUpMode::Id: { - chip::app::DataModel::Nullable value; + case RvcOperationalState::Attributes::CountdownTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpMode", 1, value); + return DataModelLogger::LogValue("CountdownTime", 1, value); } - case DishwasherMode::Attributes::OnMode::Id: { - chip::app::DataModel::Nullable value; + case RvcOperationalState::Attributes::OperationalStateList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::RvcOperationalState::Structs::OperationalStateStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnMode", 1, value); + return DataModelLogger::LogValue("OperationalStateList", 1, value); } - case DishwasherMode::Attributes::GeneratedCommandList::Id: { + case RvcOperationalState::Attributes::OperationalState::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperationalState", 1, value); + } + case RvcOperationalState::Attributes::OperationalError::Id: { + chip::app::Clusters::RvcOperationalState::Structs::ErrorStateStruct::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OperationalError", 1, value); + } + case RvcOperationalState::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DishwasherMode::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RvcOperationalState::Id); } - case DishwasherMode::Attributes::AcceptedCommandList::Id: { + case RvcOperationalState::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DishwasherMode::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RvcOperationalState::Id); } - case DishwasherMode::Attributes::EventList::Id: { + case RvcOperationalState::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case DishwasherMode::Attributes::AttributeList::Id: { + case RvcOperationalState::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, DishwasherMode::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, RvcOperationalState::Id); } - case DishwasherMode::Attributes::FeatureMap::Id: { + case RvcOperationalState::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case DishwasherMode::Attributes::ClusterRevision::Id: { + case RvcOperationalState::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12595,40 +14344,51 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case AirQuality::Id: { + case ScenesManagement::Id: { switch (path.mAttributeId) { - case AirQuality::Attributes::AirQuality::Id: { - chip::app::Clusters::AirQuality::AirQualityEnum value; + case ScenesManagement::Attributes::LastConfiguredBy::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AirQuality", 1, value); + return DataModelLogger::LogValue("LastConfiguredBy", 1, value); } - case AirQuality::Attributes::GeneratedCommandList::Id: { + case ScenesManagement::Attributes::SceneTableSize::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SceneTableSize", 1, value); + } + case ScenesManagement::Attributes::FabricSceneInfo::Id: { + chip::app::DataModel::DecodableList + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FabricSceneInfo", 1, value); + } + case ScenesManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AirQuality::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ScenesManagement::Id); } - case AirQuality::Attributes::AcceptedCommandList::Id: { + case ScenesManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AirQuality::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ScenesManagement::Id); } - case AirQuality::Attributes::EventList::Id: { + case ScenesManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case AirQuality::Attributes::AttributeList::Id: { + case ScenesManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, AirQuality::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ScenesManagement::Id); } - case AirQuality::Attributes::FeatureMap::Id: { + case ScenesManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case AirQuality::Attributes::ClusterRevision::Id: { + case ScenesManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12636,100 +14396,67 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case SmokeCoAlarm::Id: { + case HepaFilterMonitoring::Id: { switch (path.mAttributeId) { - case SmokeCoAlarm::Attributes::ExpressedState::Id: { - chip::app::Clusters::SmokeCoAlarm::ExpressedStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ExpressedState", 1, value); - } - case SmokeCoAlarm::Attributes::SmokeState::Id: { - chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SmokeState", 1, value); - } - case SmokeCoAlarm::Attributes::COState::Id: { - chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("COState", 1, value); - } - case SmokeCoAlarm::Attributes::BatteryAlert::Id: { - chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; + case HepaFilterMonitoring::Attributes::Condition::Id: { + chip::Percent value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatteryAlert", 1, value); + return DataModelLogger::LogValue("Condition", 1, value); } - case SmokeCoAlarm::Attributes::DeviceMuted::Id: { - chip::app::Clusters::SmokeCoAlarm::MuteStateEnum value; + case HepaFilterMonitoring::Attributes::DegradationDirection::Id: { + chip::app::Clusters::HepaFilterMonitoring::DegradationDirectionEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DeviceMuted", 1, value); + return DataModelLogger::LogValue("DegradationDirection", 1, value); } - case SmokeCoAlarm::Attributes::TestInProgress::Id: { - bool value; + case HepaFilterMonitoring::Attributes::ChangeIndication::Id: { + chip::app::Clusters::HepaFilterMonitoring::ChangeIndicationEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TestInProgress", 1, value); + return DataModelLogger::LogValue("ChangeIndication", 1, value); } - case SmokeCoAlarm::Attributes::HardwareFaultAlert::Id: { + case HepaFilterMonitoring::Attributes::InPlaceIndicator::Id: { bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HardwareFaultAlert", 1, value); - } - case SmokeCoAlarm::Attributes::EndOfServiceAlert::Id: { - chip::app::Clusters::SmokeCoAlarm::EndOfServiceEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EndOfServiceAlert", 1, value); - } - case SmokeCoAlarm::Attributes::InterconnectSmokeAlarm::Id: { - chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InterconnectSmokeAlarm", 1, value); - } - case SmokeCoAlarm::Attributes::InterconnectCOAlarm::Id: { - chip::app::Clusters::SmokeCoAlarm::AlarmStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InterconnectCOAlarm", 1, value); - } - case SmokeCoAlarm::Attributes::ContaminationState::Id: { - chip::app::Clusters::SmokeCoAlarm::ContaminationStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ContaminationState", 1, value); + return DataModelLogger::LogValue("InPlaceIndicator", 1, value); } - case SmokeCoAlarm::Attributes::SmokeSensitivityLevel::Id: { - chip::app::Clusters::SmokeCoAlarm::SensitivityEnum value; + case HepaFilterMonitoring::Attributes::LastChangedTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SmokeSensitivityLevel", 1, value); + return DataModelLogger::LogValue("LastChangedTime", 1, value); } - case SmokeCoAlarm::Attributes::ExpiryDate::Id: { - uint32_t value; + case HepaFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ExpiryDate", 1, value); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); } - case SmokeCoAlarm::Attributes::GeneratedCommandList::Id: { + case HepaFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, SmokeCoAlarm::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, HepaFilterMonitoring::Id); } - case SmokeCoAlarm::Attributes::AcceptedCommandList::Id: { + case HepaFilterMonitoring::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, SmokeCoAlarm::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, HepaFilterMonitoring::Id); } - case SmokeCoAlarm::Attributes::EventList::Id: { + case HepaFilterMonitoring::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case SmokeCoAlarm::Attributes::AttributeList::Id: { + case HepaFilterMonitoring::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, SmokeCoAlarm::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, HepaFilterMonitoring::Id); } - case SmokeCoAlarm::Attributes::FeatureMap::Id: { + case HepaFilterMonitoring::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case SmokeCoAlarm::Attributes::ClusterRevision::Id: { + case HepaFilterMonitoring::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12737,55 +14464,67 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case DishwasherAlarm::Id: { + case ActivatedCarbonFilterMonitoring::Id: { switch (path.mAttributeId) { - case DishwasherAlarm::Attributes::Mask::Id: { - chip::BitMask value; + case ActivatedCarbonFilterMonitoring::Attributes::Condition::Id: { + chip::Percent value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Condition", 1, value); + } + case ActivatedCarbonFilterMonitoring::Attributes::DegradationDirection::Id: { + chip::app::Clusters::ActivatedCarbonFilterMonitoring::DegradationDirectionEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DegradationDirection", 1, value); + } + case ActivatedCarbonFilterMonitoring::Attributes::ChangeIndication::Id: { + chip::app::Clusters::ActivatedCarbonFilterMonitoring::ChangeIndicationEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Mask", 1, value); + return DataModelLogger::LogValue("ChangeIndication", 1, value); } - case DishwasherAlarm::Attributes::Latch::Id: { - chip::BitMask value; + case ActivatedCarbonFilterMonitoring::Attributes::InPlaceIndicator::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Latch", 1, value); + return DataModelLogger::LogValue("InPlaceIndicator", 1, value); } - case DishwasherAlarm::Attributes::State::Id: { - chip::BitMask value; + case ActivatedCarbonFilterMonitoring::Attributes::LastChangedTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("State", 1, value); + return DataModelLogger::LogValue("LastChangedTime", 1, value); } - case DishwasherAlarm::Attributes::Supported::Id: { - chip::BitMask value; + case ActivatedCarbonFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Supported", 1, value); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); } - case DishwasherAlarm::Attributes::GeneratedCommandList::Id: { + case ActivatedCarbonFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DishwasherAlarm::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ActivatedCarbonFilterMonitoring::Id); } - case DishwasherAlarm::Attributes::AcceptedCommandList::Id: { + case ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DishwasherAlarm::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ActivatedCarbonFilterMonitoring::Id); } - case DishwasherAlarm::Attributes::EventList::Id: { + case ActivatedCarbonFilterMonitoring::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case DishwasherAlarm::Attributes::AttributeList::Id: { + case ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, DishwasherAlarm::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ActivatedCarbonFilterMonitoring::Id); } - case DishwasherAlarm::Attributes::FeatureMap::Id: { + case ActivatedCarbonFilterMonitoring::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case DishwasherAlarm::Attributes::ClusterRevision::Id: { + case ActivatedCarbonFilterMonitoring::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12793,46 +14532,75 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case MicrowaveOvenMode::Id: { + case BooleanStateConfiguration::Id: { switch (path.mAttributeId) { - case MicrowaveOvenMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList - value; + case BooleanStateConfiguration::Attributes::CurrentSensitivityLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); + return DataModelLogger::LogValue("CurrentSensitivityLevel", 1, value); } - case MicrowaveOvenMode::Attributes::CurrentMode::Id: { + case BooleanStateConfiguration::Attributes::SupportedSensitivityLevels::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("SupportedSensitivityLevels", 1, value); } - case MicrowaveOvenMode::Attributes::GeneratedCommandList::Id: { + case BooleanStateConfiguration::Attributes::DefaultSensitivityLevel::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DefaultSensitivityLevel", 1, value); + } + case BooleanStateConfiguration::Attributes::AlarmsActive::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AlarmsActive", 1, value); + } + case BooleanStateConfiguration::Attributes::AlarmsSuppressed::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AlarmsSuppressed", 1, value); + } + case BooleanStateConfiguration::Attributes::AlarmsEnabled::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AlarmsEnabled", 1, value); + } + case BooleanStateConfiguration::Attributes::AlarmsSupported::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AlarmsSupported", 1, value); + } + case BooleanStateConfiguration::Attributes::SensorFault::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SensorFault", 1, value); + } + case BooleanStateConfiguration::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MicrowaveOvenMode::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BooleanStateConfiguration::Id); } - case MicrowaveOvenMode::Attributes::AcceptedCommandList::Id: { + case BooleanStateConfiguration::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MicrowaveOvenMode::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BooleanStateConfiguration::Id); } - case MicrowaveOvenMode::Attributes::EventList::Id: { + case BooleanStateConfiguration::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case MicrowaveOvenMode::Attributes::AttributeList::Id: { + case BooleanStateConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, MicrowaveOvenMode::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, BooleanStateConfiguration::Id); } - case MicrowaveOvenMode::Attributes::FeatureMap::Id: { + case BooleanStateConfiguration::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case MicrowaveOvenMode::Attributes::ClusterRevision::Id: { + case BooleanStateConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12840,80 +14608,90 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case MicrowaveOvenControl::Id: { + case ValveConfigurationAndControl::Id: { switch (path.mAttributeId) { - case MicrowaveOvenControl::Attributes::CookTime::Id: { - uint32_t value; + case ValveConfigurationAndControl::Attributes::OpenDuration::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CookTime", 1, value); + return DataModelLogger::LogValue("OpenDuration", 1, value); } - case MicrowaveOvenControl::Attributes::MaxCookTime::Id: { - uint32_t value; + case ValveConfigurationAndControl::Attributes::DefaultOpenDuration::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxCookTime", 1, value); + return DataModelLogger::LogValue("DefaultOpenDuration", 1, value); } - case MicrowaveOvenControl::Attributes::PowerSetting::Id: { - uint8_t value; + case ValveConfigurationAndControl::Attributes::AutoCloseTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PowerSetting", 1, value); + return DataModelLogger::LogValue("AutoCloseTime", 1, value); } - case MicrowaveOvenControl::Attributes::MinPower::Id: { - uint8_t value; + case ValveConfigurationAndControl::Attributes::RemainingDuration::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinPower", 1, value); + return DataModelLogger::LogValue("RemainingDuration", 1, value); } - case MicrowaveOvenControl::Attributes::MaxPower::Id: { - uint8_t value; + case ValveConfigurationAndControl::Attributes::CurrentState::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxPower", 1, value); + return DataModelLogger::LogValue("CurrentState", 1, value); } - case MicrowaveOvenControl::Attributes::PowerStep::Id: { - uint8_t value; + case ValveConfigurationAndControl::Attributes::TargetState::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PowerStep", 1, value); + return DataModelLogger::LogValue("TargetState", 1, value); } - case MicrowaveOvenControl::Attributes::SupportedWatts::Id: { - chip::app::DataModel::DecodableList value; + case ValveConfigurationAndControl::Attributes::CurrentLevel::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedWatts", 1, value); + return DataModelLogger::LogValue("CurrentLevel", 1, value); } - case MicrowaveOvenControl::Attributes::SelectedWattIndex::Id: { - uint8_t value; + case ValveConfigurationAndControl::Attributes::TargetLevel::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SelectedWattIndex", 1, value); + return DataModelLogger::LogValue("TargetLevel", 1, value); } - case MicrowaveOvenControl::Attributes::WattRating::Id: { - uint16_t value; + case ValveConfigurationAndControl::Attributes::DefaultOpenLevel::Id: { + chip::Percent value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WattRating", 1, value); + return DataModelLogger::LogValue("DefaultOpenLevel", 1, value); } - case MicrowaveOvenControl::Attributes::GeneratedCommandList::Id: { + case ValveConfigurationAndControl::Attributes::ValveFault::Id: { + chip::BitMask value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ValveFault", 1, value); + } + case ValveConfigurationAndControl::Attributes::LevelStep::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LevelStep", 1, value); + } + case ValveConfigurationAndControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MicrowaveOvenControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ValveConfigurationAndControl::Id); } - case MicrowaveOvenControl::Attributes::AcceptedCommandList::Id: { + case ValveConfigurationAndControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MicrowaveOvenControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ValveConfigurationAndControl::Id); } - case MicrowaveOvenControl::Attributes::EventList::Id: { + case ValveConfigurationAndControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case MicrowaveOvenControl::Attributes::AttributeList::Id: { + case ValveConfigurationAndControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, MicrowaveOvenControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ValveConfigurationAndControl::Id); } - case MicrowaveOvenControl::Attributes::FeatureMap::Id: { + case ValveConfigurationAndControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case MicrowaveOvenControl::Attributes::ClusterRevision::Id: { + case ValveConfigurationAndControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -12921,135 +14699,138 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OperationalState::Id: { + case ElectricalPowerMeasurement::Id: { switch (path.mAttributeId) { - case OperationalState::Attributes::PhaseList::Id: { - chip::app::DataModel::Nullable> value; + case ElectricalPowerMeasurement::Attributes::PowerMode::Id: { + chip::app::Clusters::ElectricalPowerMeasurement::PowerModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhaseList", 1, value); + return DataModelLogger::LogValue("PowerMode", 1, value); } - case OperationalState::Attributes::CurrentPhase::Id: { - chip::app::DataModel::Nullable value; + case ElectricalPowerMeasurement::Attributes::NumberOfMeasurementTypes::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPhase", 1, value); + return DataModelLogger::LogValue("NumberOfMeasurementTypes", 1, value); } - case OperationalState::Attributes::CountdownTime::Id: { - chip::app::DataModel::Nullable value; + case ElectricalPowerMeasurement::Attributes::Accuracy::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ElectricalPowerMeasurement::Structs::MeasurementAccuracyStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CountdownTime", 1, value); + return DataModelLogger::LogValue("Accuracy", 1, value); } - case OperationalState::Attributes::OperationalStateList::Id: { + case ElectricalPowerMeasurement::Attributes::Ranges::Id: { chip::app::DataModel::DecodableList< - chip::app::Clusters::OperationalState::Structs::OperationalStateStruct::DecodableType> + chip::app::Clusters::ElectricalPowerMeasurement::Structs::MeasurementRangeStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalStateList", 1, value); + return DataModelLogger::LogValue("Ranges", 1, value); } - case OperationalState::Attributes::OperationalState::Id: { - chip::app::Clusters::OperationalState::OperationalStateEnum value; + case ElectricalPowerMeasurement::Attributes::Voltage::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalState", 1, value); + return DataModelLogger::LogValue("Voltage", 1, value); } - case OperationalState::Attributes::OperationalError::Id: { - chip::app::Clusters::OperationalState::Structs::ErrorStateStruct::DecodableType value; + case ElectricalPowerMeasurement::Attributes::ActiveCurrent::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalError", 1, value); + return DataModelLogger::LogValue("ActiveCurrent", 1, value); } - case OperationalState::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalPowerMeasurement::Attributes::ReactiveCurrent::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OperationalState::Id); + return DataModelLogger::LogValue("ReactiveCurrent", 1, value); } - case OperationalState::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalPowerMeasurement::Attributes::ApparentCurrent::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OperationalState::Id); + return DataModelLogger::LogValue("ApparentCurrent", 1, value); } - case OperationalState::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalPowerMeasurement::Attributes::ActivePower::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("ActivePower", 1, value); } - case OperationalState::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ElectricalPowerMeasurement::Attributes::ReactivePower::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OperationalState::Id); + return DataModelLogger::LogValue("ReactivePower", 1, value); } - case OperationalState::Attributes::FeatureMap::Id: { - uint32_t value; + case ElectricalPowerMeasurement::Attributes::ApparentPower::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("ApparentPower", 1, value); } - case OperationalState::Attributes::ClusterRevision::Id: { - uint16_t value; + case ElectricalPowerMeasurement::Attributes::RMSVoltage::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("RMSVoltage", 1, value); } + case ElectricalPowerMeasurement::Attributes::RMSCurrent::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("RMSCurrent", 1, value); } - break; - } - case RvcOperationalState::Id: { - switch (path.mAttributeId) - { - case RvcOperationalState::Attributes::PhaseList::Id: { - chip::app::DataModel::Nullable> value; + case ElectricalPowerMeasurement::Attributes::RMSPower::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhaseList", 1, value); + return DataModelLogger::LogValue("RMSPower", 1, value); } - case RvcOperationalState::Attributes::CurrentPhase::Id: { - chip::app::DataModel::Nullable value; + case ElectricalPowerMeasurement::Attributes::Frequency::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPhase", 1, value); + return DataModelLogger::LogValue("Frequency", 1, value); } - case RvcOperationalState::Attributes::CountdownTime::Id: { - chip::app::DataModel::Nullable value; + case ElectricalPowerMeasurement::Attributes::HarmonicCurrents::Id: { + chip::app::DataModel::Nullable> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CountdownTime", 1, value); + return DataModelLogger::LogValue("HarmonicCurrents", 1, value); } - case RvcOperationalState::Attributes::OperationalStateList::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::RvcOperationalState::Structs::OperationalStateStruct::DecodableType> + case ElectricalPowerMeasurement::Attributes::HarmonicPhases::Id: { + chip::app::DataModel::Nullable> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalStateList", 1, value); + return DataModelLogger::LogValue("HarmonicPhases", 1, value); } - case RvcOperationalState::Attributes::OperationalState::Id: { - uint8_t value; + case ElectricalPowerMeasurement::Attributes::PowerFactor::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalState", 1, value); + return DataModelLogger::LogValue("PowerFactor", 1, value); } - case RvcOperationalState::Attributes::OperationalError::Id: { - chip::app::Clusters::RvcOperationalState::Structs::ErrorStateStruct::DecodableType value; + case ElectricalPowerMeasurement::Attributes::NeutralCurrent::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalError", 1, value); + return DataModelLogger::LogValue("NeutralCurrent", 1, value); } - case RvcOperationalState::Attributes::GeneratedCommandList::Id: { + case ElectricalPowerMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RvcOperationalState::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ElectricalPowerMeasurement::Id); } - case RvcOperationalState::Attributes::AcceptedCommandList::Id: { + case ElectricalPowerMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RvcOperationalState::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ElectricalPowerMeasurement::Id); } - case RvcOperationalState::Attributes::EventList::Id: { + case ElectricalPowerMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case RvcOperationalState::Attributes::AttributeList::Id: { + case ElectricalPowerMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, RvcOperationalState::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ElectricalPowerMeasurement::Id); } - case RvcOperationalState::Attributes::FeatureMap::Id: { + case ElectricalPowerMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case RvcOperationalState::Attributes::ClusterRevision::Id: { + case ElectricalPowerMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13057,51 +14838,75 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ScenesManagement::Id: { + case ElectricalEnergyMeasurement::Id: { switch (path.mAttributeId) { - case ScenesManagement::Attributes::LastConfiguredBy::Id: { - chip::app::DataModel::Nullable value; + case ElectricalEnergyMeasurement::Attributes::Accuracy::Id: { + chip::app::Clusters::ElectricalEnergyMeasurement::Structs::MeasurementAccuracyStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LastConfiguredBy", 1, value); + return DataModelLogger::LogValue("Accuracy", 1, value); } - case ScenesManagement::Attributes::SceneTableSize::Id: { - uint16_t value; + case ElectricalEnergyMeasurement::Attributes::CumulativeEnergyImported::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SceneTableSize", 1, value); + return DataModelLogger::LogValue("CumulativeEnergyImported", 1, value); } - case ScenesManagement::Attributes::FabricSceneInfo::Id: { - chip::app::DataModel::DecodableList + case ElectricalEnergyMeasurement::Attributes::CumulativeEnergyExported::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FabricSceneInfo", 1, value); + return DataModelLogger::LogValue("CumulativeEnergyExported", 1, value); } - case ScenesManagement::Attributes::GeneratedCommandList::Id: { + case ElectricalEnergyMeasurement::Attributes::PeriodicEnergyImported::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PeriodicEnergyImported", 1, value); + } + case ElectricalEnergyMeasurement::Attributes::PeriodicEnergyExported::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PeriodicEnergyExported", 1, value); + } + case ElectricalEnergyMeasurement::Attributes::CumulativeEnergyReset::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::ElectricalEnergyMeasurement::Structs::CumulativeEnergyResetStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CumulativeEnergyReset", 1, value); + } + case ElectricalEnergyMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ScenesManagement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ElectricalEnergyMeasurement::Id); } - case ScenesManagement::Attributes::AcceptedCommandList::Id: { + case ElectricalEnergyMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ScenesManagement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ElectricalEnergyMeasurement::Id); } - case ScenesManagement::Attributes::EventList::Id: { + case ElectricalEnergyMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ScenesManagement::Attributes::AttributeList::Id: { + case ElectricalEnergyMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ScenesManagement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ElectricalEnergyMeasurement::Id); } - case ScenesManagement::Attributes::FeatureMap::Id: { + case ElectricalEnergyMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ScenesManagement::Attributes::ClusterRevision::Id: { + case ElectricalEnergyMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13109,67 +14914,65 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case HepaFilterMonitoring::Id: { + case WaterHeaterManagement::Id: { switch (path.mAttributeId) { - case HepaFilterMonitoring::Attributes::Condition::Id: { - chip::Percent value; + case WaterHeaterManagement::Attributes::HeaterTypes::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Condition", 1, value); + return DataModelLogger::LogValue("HeaterTypes", 1, value); } - case HepaFilterMonitoring::Attributes::DegradationDirection::Id: { - chip::app::Clusters::HepaFilterMonitoring::DegradationDirectionEnum value; + case WaterHeaterManagement::Attributes::HeatDemand::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DegradationDirection", 1, value); + return DataModelLogger::LogValue("HeatDemand", 1, value); } - case HepaFilterMonitoring::Attributes::ChangeIndication::Id: { - chip::app::Clusters::HepaFilterMonitoring::ChangeIndicationEnum value; + case WaterHeaterManagement::Attributes::TankVolume::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ChangeIndication", 1, value); + return DataModelLogger::LogValue("TankVolume", 1, value); } - case HepaFilterMonitoring::Attributes::InPlaceIndicator::Id: { - bool value; + case WaterHeaterManagement::Attributes::EstimatedHeatRequired::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InPlaceIndicator", 1, value); + return DataModelLogger::LogValue("EstimatedHeatRequired", 1, value); } - case HepaFilterMonitoring::Attributes::LastChangedTime::Id: { - chip::app::DataModel::Nullable value; + case WaterHeaterManagement::Attributes::TankPercentage::Id: { + chip::Percent value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LastChangedTime", 1, value); + return DataModelLogger::LogValue("TankPercentage", 1, value); } - case HepaFilterMonitoring::Attributes::ReplacementProductList::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> - value; + case WaterHeaterManagement::Attributes::BoostState::Id: { + chip::app::Clusters::WaterHeaterManagement::BoostStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ReplacementProductList", 1, value); + return DataModelLogger::LogValue("BoostState", 1, value); } - case HepaFilterMonitoring::Attributes::GeneratedCommandList::Id: { + case WaterHeaterManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, HepaFilterMonitoring::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WaterHeaterManagement::Id); } - case HepaFilterMonitoring::Attributes::AcceptedCommandList::Id: { + case WaterHeaterManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, HepaFilterMonitoring::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WaterHeaterManagement::Id); } - case HepaFilterMonitoring::Attributes::EventList::Id: { + case WaterHeaterManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case HepaFilterMonitoring::Attributes::AttributeList::Id: { + case WaterHeaterManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, HepaFilterMonitoring::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WaterHeaterManagement::Id); } - case HepaFilterMonitoring::Attributes::FeatureMap::Id: { + case WaterHeaterManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case HepaFilterMonitoring::Attributes::ClusterRevision::Id: { + case WaterHeaterManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13177,67 +14980,81 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ActivatedCarbonFilterMonitoring::Id: { + case DemandResponseLoadControl::Id: { switch (path.mAttributeId) { - case ActivatedCarbonFilterMonitoring::Attributes::Condition::Id: { - chip::Percent value; + case DemandResponseLoadControl::Attributes::LoadControlPrograms::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::DemandResponseLoadControl::Structs::LoadControlProgramStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Condition", 1, value); + return DataModelLogger::LogValue("LoadControlPrograms", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::DegradationDirection::Id: { - chip::app::Clusters::ActivatedCarbonFilterMonitoring::DegradationDirectionEnum value; + case DemandResponseLoadControl::Attributes::NumberOfLoadControlPrograms::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DegradationDirection", 1, value); + return DataModelLogger::LogValue("NumberOfLoadControlPrograms", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::ChangeIndication::Id: { - chip::app::Clusters::ActivatedCarbonFilterMonitoring::ChangeIndicationEnum value; + case DemandResponseLoadControl::Attributes::Events::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::DemandResponseLoadControl::Structs::LoadControlEventStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ChangeIndication", 1, value); + return DataModelLogger::LogValue("Events", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::InPlaceIndicator::Id: { - bool value; + case DemandResponseLoadControl::Attributes::ActiveEvents::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::DemandResponseLoadControl::Structs::LoadControlEventStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InPlaceIndicator", 1, value); + return DataModelLogger::LogValue("ActiveEvents", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::LastChangedTime::Id: { - chip::app::DataModel::Nullable value; + case DemandResponseLoadControl::Attributes::NumberOfEventsPerProgram::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LastChangedTime", 1, value); + return DataModelLogger::LogValue("NumberOfEventsPerProgram", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::ReplacementProductList::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> - value; + case DemandResponseLoadControl::Attributes::NumberOfTransitions::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ReplacementProductList", 1, value); + return DataModelLogger::LogValue("NumberOfTransitions", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::GeneratedCommandList::Id: { + case DemandResponseLoadControl::Attributes::DefaultRandomStart::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DefaultRandomStart", 1, value); + } + case DemandResponseLoadControl::Attributes::DefaultRandomDuration::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DefaultRandomDuration", 1, value); + } + case DemandResponseLoadControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ActivatedCarbonFilterMonitoring::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DemandResponseLoadControl::Id); } - case ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id: { + case DemandResponseLoadControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ActivatedCarbonFilterMonitoring::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DemandResponseLoadControl::Id); } - case ActivatedCarbonFilterMonitoring::Attributes::EventList::Id: { + case DemandResponseLoadControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id: { + case DemandResponseLoadControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ActivatedCarbonFilterMonitoring::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, DemandResponseLoadControl::Id); } - case ActivatedCarbonFilterMonitoring::Attributes::FeatureMap::Id: { + case DemandResponseLoadControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ActivatedCarbonFilterMonitoring::Attributes::ClusterRevision::Id: { + case DemandResponseLoadControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13245,75 +15062,45 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case BooleanStateConfiguration::Id: { + case Messages::Id: { switch (path.mAttributeId) { - case BooleanStateConfiguration::Attributes::CurrentSensitivityLevel::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentSensitivityLevel", 1, value); - } - case BooleanStateConfiguration::Attributes::SupportedSensitivityLevels::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedSensitivityLevels", 1, value); - } - case BooleanStateConfiguration::Attributes::DefaultSensitivityLevel::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultSensitivityLevel", 1, value); - } - case BooleanStateConfiguration::Attributes::AlarmsActive::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AlarmsActive", 1, value); - } - case BooleanStateConfiguration::Attributes::AlarmsSuppressed::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AlarmsSuppressed", 1, value); - } - case BooleanStateConfiguration::Attributes::AlarmsEnabled::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AlarmsEnabled", 1, value); - } - case BooleanStateConfiguration::Attributes::AlarmsSupported::Id: { - chip::BitMask value; + case Messages::Attributes::Messages::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AlarmsSupported", 1, value); + return DataModelLogger::LogValue("Messages", 1, value); } - case BooleanStateConfiguration::Attributes::SensorFault::Id: { - chip::BitMask value; + case Messages::Attributes::ActiveMessageIDs::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SensorFault", 1, value); + return DataModelLogger::LogValue("ActiveMessageIDs", 1, value); } - case BooleanStateConfiguration::Attributes::GeneratedCommandList::Id: { + case Messages::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BooleanStateConfiguration::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Messages::Id); } - case BooleanStateConfiguration::Attributes::AcceptedCommandList::Id: { + case Messages::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BooleanStateConfiguration::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Messages::Id); } - case BooleanStateConfiguration::Attributes::EventList::Id: { + case Messages::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case BooleanStateConfiguration::Attributes::AttributeList::Id: { + case Messages::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, BooleanStateConfiguration::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Messages::Id); } - case BooleanStateConfiguration::Attributes::FeatureMap::Id: { + case Messages::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BooleanStateConfiguration::Attributes::ClusterRevision::Id: { + case Messages::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13321,90 +15108,78 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ValveConfigurationAndControl::Id: { + case DeviceEnergyManagement::Id: { switch (path.mAttributeId) { - case ValveConfigurationAndControl::Attributes::OpenDuration::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OpenDuration", 1, value); - } - case ValveConfigurationAndControl::Attributes::DefaultOpenDuration::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultOpenDuration", 1, value); - } - case ValveConfigurationAndControl::Attributes::AutoCloseTime::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AutoCloseTime", 1, value); - } - case ValveConfigurationAndControl::Attributes::RemainingDuration::Id: { - chip::app::DataModel::Nullable value; + case DeviceEnergyManagement::Attributes::ESAType::Id: { + chip::app::Clusters::DeviceEnergyManagement::ESATypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RemainingDuration", 1, value); + return DataModelLogger::LogValue("ESAType", 1, value); } - case ValveConfigurationAndControl::Attributes::CurrentState::Id: { - chip::app::DataModel::Nullable value; + case DeviceEnergyManagement::Attributes::ESACanGenerate::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentState", 1, value); + return DataModelLogger::LogValue("ESACanGenerate", 1, value); } - case ValveConfigurationAndControl::Attributes::TargetState::Id: { - chip::app::DataModel::Nullable value; + case DeviceEnergyManagement::Attributes::ESAState::Id: { + chip::app::Clusters::DeviceEnergyManagement::ESAStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TargetState", 1, value); + return DataModelLogger::LogValue("ESAState", 1, value); } - case ValveConfigurationAndControl::Attributes::CurrentLevel::Id: { - chip::app::DataModel::Nullable value; + case DeviceEnergyManagement::Attributes::AbsMinPower::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentLevel", 1, value); + return DataModelLogger::LogValue("AbsMinPower", 1, value); } - case ValveConfigurationAndControl::Attributes::TargetLevel::Id: { - chip::app::DataModel::Nullable value; + case DeviceEnergyManagement::Attributes::AbsMaxPower::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TargetLevel", 1, value); + return DataModelLogger::LogValue("AbsMaxPower", 1, value); } - case ValveConfigurationAndControl::Attributes::DefaultOpenLevel::Id: { - chip::Percent value; + case DeviceEnergyManagement::Attributes::PowerAdjustmentCapability::Id: { + chip::app::DataModel::Nullable< + chip::app::Clusters::DeviceEnergyManagement::Structs::PowerAdjustCapabilityStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultOpenLevel", 1, value); + return DataModelLogger::LogValue("PowerAdjustmentCapability", 1, value); } - case ValveConfigurationAndControl::Attributes::ValveFault::Id: { - chip::BitMask value; + case DeviceEnergyManagement::Attributes::Forecast::Id: { + chip::app::DataModel::Nullable + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ValveFault", 1, value); + return DataModelLogger::LogValue("Forecast", 1, value); } - case ValveConfigurationAndControl::Attributes::LevelStep::Id: { - uint8_t value; + case DeviceEnergyManagement::Attributes::OptOutState::Id: { + chip::app::Clusters::DeviceEnergyManagement::OptOutStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelStep", 1, value); + return DataModelLogger::LogValue("OptOutState", 1, value); } - case ValveConfigurationAndControl::Attributes::GeneratedCommandList::Id: { + case DeviceEnergyManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ValveConfigurationAndControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DeviceEnergyManagement::Id); } - case ValveConfigurationAndControl::Attributes::AcceptedCommandList::Id: { + case DeviceEnergyManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ValveConfigurationAndControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DeviceEnergyManagement::Id); } - case ValveConfigurationAndControl::Attributes::EventList::Id: { + case DeviceEnergyManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ValveConfigurationAndControl::Attributes::AttributeList::Id: { + case DeviceEnergyManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ValveConfigurationAndControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, DeviceEnergyManagement::Id); } - case ValveConfigurationAndControl::Attributes::FeatureMap::Id: { + case DeviceEnergyManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ValveConfigurationAndControl::Attributes::ClusterRevision::Id: { + case DeviceEnergyManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13412,138 +15187,150 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ElectricalPowerMeasurement::Id: { + case EnergyEvse::Id: { switch (path.mAttributeId) { - case ElectricalPowerMeasurement::Attributes::PowerMode::Id: { - chip::app::Clusters::ElectricalPowerMeasurement::PowerModeEnum value; + case EnergyEvse::Attributes::State::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PowerMode", 1, value); + return DataModelLogger::LogValue("State", 1, value); } - case ElectricalPowerMeasurement::Attributes::NumberOfMeasurementTypes::Id: { - uint8_t value; + case EnergyEvse::Attributes::SupplyState::Id: { + chip::app::Clusters::EnergyEvse::SupplyStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfMeasurementTypes", 1, value); + return DataModelLogger::LogValue("SupplyState", 1, value); } - case ElectricalPowerMeasurement::Attributes::Accuracy::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::ElectricalPowerMeasurement::Structs::MeasurementAccuracyStruct::DecodableType> - value; + case EnergyEvse::Attributes::FaultState::Id: { + chip::app::Clusters::EnergyEvse::FaultStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Accuracy", 1, value); + return DataModelLogger::LogValue("FaultState", 1, value); } - case ElectricalPowerMeasurement::Attributes::Ranges::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::ElectricalPowerMeasurement::Structs::MeasurementRangeStruct::DecodableType> - value; + case EnergyEvse::Attributes::ChargingEnabledUntil::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Ranges", 1, value); + return DataModelLogger::LogValue("ChargingEnabledUntil", 1, value); } - case ElectricalPowerMeasurement::Attributes::Voltage::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::DischargingEnabledUntil::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Voltage", 1, value); + return DataModelLogger::LogValue("DischargingEnabledUntil", 1, value); } - case ElectricalPowerMeasurement::Attributes::ActiveCurrent::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::CircuitCapacity::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveCurrent", 1, value); + return DataModelLogger::LogValue("CircuitCapacity", 1, value); } - case ElectricalPowerMeasurement::Attributes::ReactiveCurrent::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::MinimumChargeCurrent::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ReactiveCurrent", 1, value); + return DataModelLogger::LogValue("MinimumChargeCurrent", 1, value); } - case ElectricalPowerMeasurement::Attributes::ApparentCurrent::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::MaximumChargeCurrent::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ApparentCurrent", 1, value); + return DataModelLogger::LogValue("MaximumChargeCurrent", 1, value); } - case ElectricalPowerMeasurement::Attributes::ActivePower::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::MaximumDischargeCurrent::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActivePower", 1, value); + return DataModelLogger::LogValue("MaximumDischargeCurrent", 1, value); } - case ElectricalPowerMeasurement::Attributes::ReactivePower::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::UserMaximumChargeCurrent::Id: { + int64_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ReactivePower", 1, value); + return DataModelLogger::LogValue("UserMaximumChargeCurrent", 1, value); } - case ElectricalPowerMeasurement::Attributes::ApparentPower::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::RandomizationDelayWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ApparentPower", 1, value); + return DataModelLogger::LogValue("RandomizationDelayWindow", 1, value); } - case ElectricalPowerMeasurement::Attributes::RMSVoltage::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::NextChargeStartTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RMSVoltage", 1, value); + return DataModelLogger::LogValue("NextChargeStartTime", 1, value); } - case ElectricalPowerMeasurement::Attributes::RMSCurrent::Id: { + case EnergyEvse::Attributes::NextChargeTargetTime::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NextChargeTargetTime", 1, value); + } + case EnergyEvse::Attributes::NextChargeRequiredEnergy::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RMSCurrent", 1, value); + return DataModelLogger::LogValue("NextChargeRequiredEnergy", 1, value); + } + case EnergyEvse::Attributes::NextChargeTargetSoC::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("NextChargeTargetSoC", 1, value); + } + case EnergyEvse::Attributes::ApproximateEVEfficiency::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ApproximateEVEfficiency", 1, value); + } + case EnergyEvse::Attributes::StateOfCharge::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StateOfCharge", 1, value); } - case ElectricalPowerMeasurement::Attributes::RMSPower::Id: { + case EnergyEvse::Attributes::BatteryCapacity::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RMSPower", 1, value); + return DataModelLogger::LogValue("BatteryCapacity", 1, value); } - case ElectricalPowerMeasurement::Attributes::Frequency::Id: { - chip::app::DataModel::Nullable value; + case EnergyEvse::Attributes::VehicleID::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Frequency", 1, value); + return DataModelLogger::LogValue("VehicleID", 1, value); } - case ElectricalPowerMeasurement::Attributes::HarmonicCurrents::Id: { - chip::app::DataModel::Nullable> - value; + case EnergyEvse::Attributes::SessionID::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HarmonicCurrents", 1, value); + return DataModelLogger::LogValue("SessionID", 1, value); } - case ElectricalPowerMeasurement::Attributes::HarmonicPhases::Id: { - chip::app::DataModel::Nullable> - value; + case EnergyEvse::Attributes::SessionDuration::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HarmonicPhases", 1, value); + return DataModelLogger::LogValue("SessionDuration", 1, value); } - case ElectricalPowerMeasurement::Attributes::PowerFactor::Id: { + case EnergyEvse::Attributes::SessionEnergyCharged::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PowerFactor", 1, value); + return DataModelLogger::LogValue("SessionEnergyCharged", 1, value); } - case ElectricalPowerMeasurement::Attributes::NeutralCurrent::Id: { + case EnergyEvse::Attributes::SessionEnergyDischarged::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NeutralCurrent", 1, value); + return DataModelLogger::LogValue("SessionEnergyDischarged", 1, value); } - case ElectricalPowerMeasurement::Attributes::GeneratedCommandList::Id: { + case EnergyEvse::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ElectricalPowerMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EnergyEvse::Id); } - case ElectricalPowerMeasurement::Attributes::AcceptedCommandList::Id: { + case EnergyEvse::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ElectricalPowerMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EnergyEvse::Id); } - case ElectricalPowerMeasurement::Attributes::EventList::Id: { + case EnergyEvse::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ElectricalPowerMeasurement::Attributes::AttributeList::Id: { + case EnergyEvse::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ElectricalPowerMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, EnergyEvse::Id); } - case ElectricalPowerMeasurement::Attributes::FeatureMap::Id: { + case EnergyEvse::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ElectricalPowerMeasurement::Attributes::ClusterRevision::Id: { + case EnergyEvse::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13551,75 +15338,60 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ElectricalEnergyMeasurement::Id: { + case EnergyPreference::Id: { switch (path.mAttributeId) { - case ElectricalEnergyMeasurement::Attributes::Accuracy::Id: { - chip::app::Clusters::ElectricalEnergyMeasurement::Structs::MeasurementAccuracyStruct::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Accuracy", 1, value); - } - case ElectricalEnergyMeasurement::Attributes::CumulativeEnergyImported::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> - value; + case EnergyPreference::Attributes::EnergyBalances::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CumulativeEnergyImported", 1, value); + return DataModelLogger::LogValue("EnergyBalances", 1, value); } - case ElectricalEnergyMeasurement::Attributes::CumulativeEnergyExported::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> - value; + case EnergyPreference::Attributes::CurrentEnergyBalance::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CumulativeEnergyExported", 1, value); + return DataModelLogger::LogValue("CurrentEnergyBalance", 1, value); } - case ElectricalEnergyMeasurement::Attributes::PeriodicEnergyImported::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> - value; + case EnergyPreference::Attributes::EnergyPriorities::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeriodicEnergyImported", 1, value); + return DataModelLogger::LogValue("EnergyPriorities", 1, value); } - case ElectricalEnergyMeasurement::Attributes::PeriodicEnergyExported::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::ElectricalEnergyMeasurement::Structs::EnergyMeasurementStruct::DecodableType> - value; + case EnergyPreference::Attributes::LowPowerModeSensitivities::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeriodicEnergyExported", 1, value); + return DataModelLogger::LogValue("LowPowerModeSensitivities", 1, value); } - case ElectricalEnergyMeasurement::Attributes::CumulativeEnergyReset::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::ElectricalEnergyMeasurement::Structs::CumulativeEnergyResetStruct::DecodableType> - value; + case EnergyPreference::Attributes::CurrentLowPowerModeSensitivity::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CumulativeEnergyReset", 1, value); + return DataModelLogger::LogValue("CurrentLowPowerModeSensitivity", 1, value); } - case ElectricalEnergyMeasurement::Attributes::GeneratedCommandList::Id: { + case EnergyPreference::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ElectricalEnergyMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EnergyPreference::Id); } - case ElectricalEnergyMeasurement::Attributes::AcceptedCommandList::Id: { + case EnergyPreference::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ElectricalEnergyMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EnergyPreference::Id); } - case ElectricalEnergyMeasurement::Attributes::EventList::Id: { + case EnergyPreference::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ElectricalEnergyMeasurement::Attributes::AttributeList::Id: { + case EnergyPreference::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ElectricalEnergyMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, EnergyPreference::Id); } - case ElectricalEnergyMeasurement::Attributes::FeatureMap::Id: { + case EnergyPreference::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ElectricalEnergyMeasurement::Attributes::ClusterRevision::Id: { + case EnergyPreference::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13627,65 +15399,45 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case WaterHeaterManagement::Id: { + case PowerTopology::Id: { switch (path.mAttributeId) { - case WaterHeaterManagement::Attributes::HeaterTypes::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HeaterTypes", 1, value); - } - case WaterHeaterManagement::Attributes::HeatDemand::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HeatDemand", 1, value); - } - case WaterHeaterManagement::Attributes::TankVolume::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TankVolume", 1, value); - } - case WaterHeaterManagement::Attributes::EstimatedHeatRequired::Id: { - int64_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EstimatedHeatRequired", 1, value); - } - case WaterHeaterManagement::Attributes::TankPercentage::Id: { - chip::Percent value; + case PowerTopology::Attributes::AvailableEndpoints::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TankPercentage", 1, value); + return DataModelLogger::LogValue("AvailableEndpoints", 1, value); } - case WaterHeaterManagement::Attributes::BoostState::Id: { - chip::app::Clusters::WaterHeaterManagement::BoostStateEnum value; + case PowerTopology::Attributes::ActiveEndpoints::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BoostState", 1, value); + return DataModelLogger::LogValue("ActiveEndpoints", 1, value); } - case WaterHeaterManagement::Attributes::GeneratedCommandList::Id: { + case PowerTopology::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WaterHeaterManagement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PowerTopology::Id); } - case WaterHeaterManagement::Attributes::AcceptedCommandList::Id: { + case PowerTopology::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WaterHeaterManagement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PowerTopology::Id); } - case WaterHeaterManagement::Attributes::EventList::Id: { + case PowerTopology::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case WaterHeaterManagement::Attributes::AttributeList::Id: { + case PowerTopology::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, WaterHeaterManagement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, PowerTopology::Id); } - case WaterHeaterManagement::Attributes::FeatureMap::Id: { + case PowerTopology::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case WaterHeaterManagement::Attributes::ClusterRevision::Id: { + case PowerTopology::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13693,81 +15445,113 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case DemandResponseLoadControl::Id: { + case EnergyEvseMode::Id: { switch (path.mAttributeId) { - case DemandResponseLoadControl::Attributes::LoadControlPrograms::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::DemandResponseLoadControl::Structs::LoadControlProgramStruct::DecodableType> + case EnergyEvseMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LoadControlPrograms", 1, value); + return DataModelLogger::LogValue("SupportedModes", 1, value); } - case DemandResponseLoadControl::Attributes::NumberOfLoadControlPrograms::Id: { + case EnergyEvseMode::Attributes::CurrentMode::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfLoadControlPrograms", 1, value); + return DataModelLogger::LogValue("CurrentMode", 1, value); } - case DemandResponseLoadControl::Attributes::Events::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::DemandResponseLoadControl::Structs::LoadControlEventStruct::DecodableType> - value; + case EnergyEvseMode::Attributes::StartUpMode::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Events", 1, value); + return DataModelLogger::LogValue("StartUpMode", 1, value); } - case DemandResponseLoadControl::Attributes::ActiveEvents::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::DemandResponseLoadControl::Structs::LoadControlEventStruct::DecodableType> - value; + case EnergyEvseMode::Attributes::OnMode::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveEvents", 1, value); + return DataModelLogger::LogValue("OnMode", 1, value); } - case DemandResponseLoadControl::Attributes::NumberOfEventsPerProgram::Id: { - uint8_t value; + case EnergyEvseMode::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfEventsPerProgram", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EnergyEvseMode::Id); } - case DemandResponseLoadControl::Attributes::NumberOfTransitions::Id: { - uint8_t value; + case EnergyEvseMode::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfTransitions", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EnergyEvseMode::Id); } - case DemandResponseLoadControl::Attributes::DefaultRandomStart::Id: { + case EnergyEvseMode::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case EnergyEvseMode::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, EnergyEvseMode::Id); + } + case EnergyEvseMode::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case EnergyEvseMode::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case WaterHeaterMode::Id: { + switch (path.mAttributeId) + { + case WaterHeaterMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SupportedModes", 1, value); + } + case WaterHeaterMode::Attributes::CurrentMode::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultRandomStart", 1, value); + return DataModelLogger::LogValue("CurrentMode", 1, value); + } + case WaterHeaterMode::Attributes::StartUpMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpMode", 1, value); } - case DemandResponseLoadControl::Attributes::DefaultRandomDuration::Id: { - uint8_t value; + case WaterHeaterMode::Attributes::OnMode::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultRandomDuration", 1, value); + return DataModelLogger::LogValue("OnMode", 1, value); } - case DemandResponseLoadControl::Attributes::GeneratedCommandList::Id: { + case WaterHeaterMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DemandResponseLoadControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WaterHeaterMode::Id); } - case DemandResponseLoadControl::Attributes::AcceptedCommandList::Id: { + case WaterHeaterMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DemandResponseLoadControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WaterHeaterMode::Id); } - case DemandResponseLoadControl::Attributes::EventList::Id: { + case WaterHeaterMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case DemandResponseLoadControl::Attributes::AttributeList::Id: { + case WaterHeaterMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, DemandResponseLoadControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WaterHeaterMode::Id); } - case DemandResponseLoadControl::Attributes::FeatureMap::Id: { + case WaterHeaterMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case DemandResponseLoadControl::Attributes::ClusterRevision::Id: { + case WaterHeaterMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13775,45 +15559,57 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Messages::Id: { + case DeviceEnergyManagementMode::Id: { switch (path.mAttributeId) { - case Messages::Attributes::Messages::Id: { - chip::app::DataModel::DecodableList value; + case DeviceEnergyManagementMode::Attributes::SupportedModes::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::DeviceEnergyManagementMode::Structs::ModeOptionStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Messages", 1, value); + return DataModelLogger::LogValue("SupportedModes", 1, value); } - case Messages::Attributes::ActiveMessageIDs::Id: { - chip::app::DataModel::DecodableList value; + case DeviceEnergyManagementMode::Attributes::CurrentMode::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveMessageIDs", 1, value); + return DataModelLogger::LogValue("CurrentMode", 1, value); } - case Messages::Attributes::GeneratedCommandList::Id: { + case DeviceEnergyManagementMode::Attributes::StartUpMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpMode", 1, value); + } + case DeviceEnergyManagementMode::Attributes::OnMode::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("OnMode", 1, value); + } + case DeviceEnergyManagementMode::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Messages::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DeviceEnergyManagementMode::Id); } - case Messages::Attributes::AcceptedCommandList::Id: { + case DeviceEnergyManagementMode::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Messages::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DeviceEnergyManagementMode::Id); } - case Messages::Attributes::EventList::Id: { + case DeviceEnergyManagementMode::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Messages::Attributes::AttributeList::Id: { + case DeviceEnergyManagementMode::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Messages::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, DeviceEnergyManagementMode::Id); } - case Messages::Attributes::FeatureMap::Id: { + case DeviceEnergyManagementMode::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Messages::Attributes::ClusterRevision::Id: { + case DeviceEnergyManagementMode::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -13821,290 +15617,260 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case DeviceEnergyManagement::Id: { + case DoorLock::Id: { switch (path.mAttributeId) { - case DeviceEnergyManagement::Attributes::ESAType::Id: { - chip::app::Clusters::DeviceEnergyManagement::ESATypeEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ESAType", 1, value); - } - case DeviceEnergyManagement::Attributes::ESACanGenerate::Id: { - bool value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ESACanGenerate", 1, value); - } - case DeviceEnergyManagement::Attributes::ESAState::Id: { - chip::app::Clusters::DeviceEnergyManagement::ESAStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ESAState", 1, value); - } - case DeviceEnergyManagement::Attributes::AbsMinPower::Id: { - int64_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AbsMinPower", 1, value); - } - case DeviceEnergyManagement::Attributes::AbsMaxPower::Id: { - int64_t value; + case DoorLock::Attributes::LockState::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AbsMaxPower", 1, value); + return DataModelLogger::LogValue("LockState", 1, value); } - case DeviceEnergyManagement::Attributes::PowerAdjustmentCapability::Id: { - chip::app::DataModel::Nullable< - chip::app::Clusters::DeviceEnergyManagement::Structs::PowerAdjustCapabilityStruct::DecodableType> - value; + case DoorLock::Attributes::LockType::Id: { + chip::app::Clusters::DoorLock::DlLockType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PowerAdjustmentCapability", 1, value); + return DataModelLogger::LogValue("LockType", 1, value); } - case DeviceEnergyManagement::Attributes::Forecast::Id: { - chip::app::DataModel::Nullable - value; + case DoorLock::Attributes::ActuatorEnabled::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Forecast", 1, value); + return DataModelLogger::LogValue("ActuatorEnabled", 1, value); } - case DeviceEnergyManagement::Attributes::OptOutState::Id: { - chip::app::Clusters::DeviceEnergyManagement::OptOutStateEnum value; + case DoorLock::Attributes::DoorState::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OptOutState", 1, value); + return DataModelLogger::LogValue("DoorState", 1, value); } - case DeviceEnergyManagement::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::DoorOpenEvents::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DeviceEnergyManagement::Id); + return DataModelLogger::LogValue("DoorOpenEvents", 1, value); } - case DeviceEnergyManagement::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::DoorClosedEvents::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DeviceEnergyManagement::Id); + return DataModelLogger::LogValue("DoorClosedEvents", 1, value); } - case DeviceEnergyManagement::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::OpenPeriod::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("OpenPeriod", 1, value); } - case DeviceEnergyManagement::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::NumberOfTotalUsersSupported::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, DeviceEnergyManagement::Id); + return DataModelLogger::LogValue("NumberOfTotalUsersSupported", 1, value); } - case DeviceEnergyManagement::Attributes::FeatureMap::Id: { - uint32_t value; + case DoorLock::Attributes::NumberOfPINUsersSupported::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("NumberOfPINUsersSupported", 1, value); } - case DeviceEnergyManagement::Attributes::ClusterRevision::Id: { + case DoorLock::Attributes::NumberOfRFIDUsersSupported::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("NumberOfRFIDUsersSupported", 1, value); } - break; - } - case EnergyEvse::Id: { - switch (path.mAttributeId) - { - case EnergyEvse::Attributes::State::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("State", 1, value); + return DataModelLogger::LogValue("NumberOfWeekDaySchedulesSupportedPerUser", 1, value); } - case EnergyEvse::Attributes::SupplyState::Id: { - chip::app::Clusters::EnergyEvse::SupplyStateEnum value; + case DoorLock::Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupplyState", 1, value); + return DataModelLogger::LogValue("NumberOfYearDaySchedulesSupportedPerUser", 1, value); } - case EnergyEvse::Attributes::FaultState::Id: { - chip::app::Clusters::EnergyEvse::FaultStateEnum value; + case DoorLock::Attributes::NumberOfHolidaySchedulesSupported::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FaultState", 1, value); + return DataModelLogger::LogValue("NumberOfHolidaySchedulesSupported", 1, value); } - case EnergyEvse::Attributes::ChargingEnabledUntil::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::MaxPINCodeLength::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ChargingEnabledUntil", 1, value); + return DataModelLogger::LogValue("MaxPINCodeLength", 1, value); } - case EnergyEvse::Attributes::DischargingEnabledUntil::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::MinPINCodeLength::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DischargingEnabledUntil", 1, value); + return DataModelLogger::LogValue("MinPINCodeLength", 1, value); } - case EnergyEvse::Attributes::CircuitCapacity::Id: { - int64_t value; + case DoorLock::Attributes::MaxRFIDCodeLength::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CircuitCapacity", 1, value); + return DataModelLogger::LogValue("MaxRFIDCodeLength", 1, value); } - case EnergyEvse::Attributes::MinimumChargeCurrent::Id: { - int64_t value; + case DoorLock::Attributes::MinRFIDCodeLength::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinimumChargeCurrent", 1, value); + return DataModelLogger::LogValue("MinRFIDCodeLength", 1, value); } - case EnergyEvse::Attributes::MaximumChargeCurrent::Id: { - int64_t value; + case DoorLock::Attributes::CredentialRulesSupport::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaximumChargeCurrent", 1, value); + return DataModelLogger::LogValue("CredentialRulesSupport", 1, value); } - case EnergyEvse::Attributes::MaximumDischargeCurrent::Id: { - int64_t value; + case DoorLock::Attributes::NumberOfCredentialsSupportedPerUser::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaximumDischargeCurrent", 1, value); + return DataModelLogger::LogValue("NumberOfCredentialsSupportedPerUser", 1, value); } - case EnergyEvse::Attributes::UserMaximumChargeCurrent::Id: { - int64_t value; + case DoorLock::Attributes::Language::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UserMaximumChargeCurrent", 1, value); + return DataModelLogger::LogValue("Language", 1, value); } - case EnergyEvse::Attributes::RandomizationDelayWindow::Id: { - uint32_t value; + case DoorLock::Attributes::LEDSettings::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RandomizationDelayWindow", 1, value); + return DataModelLogger::LogValue("LEDSettings", 1, value); } - case EnergyEvse::Attributes::NextChargeStartTime::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::AutoRelockTime::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NextChargeStartTime", 1, value); + return DataModelLogger::LogValue("AutoRelockTime", 1, value); } - case EnergyEvse::Attributes::NextChargeTargetTime::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::SoundVolume::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NextChargeTargetTime", 1, value); + return DataModelLogger::LogValue("SoundVolume", 1, value); } - case EnergyEvse::Attributes::NextChargeRequiredEnergy::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::OperatingMode::Id: { + chip::app::Clusters::DoorLock::OperatingModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NextChargeRequiredEnergy", 1, value); + return DataModelLogger::LogValue("OperatingMode", 1, value); } - case EnergyEvse::Attributes::NextChargeTargetSoC::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::SupportedOperatingModes::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NextChargeTargetSoC", 1, value); + return DataModelLogger::LogValue("SupportedOperatingModes", 1, value); } - case EnergyEvse::Attributes::ApproximateEVEfficiency::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::DefaultConfigurationRegister::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ApproximateEVEfficiency", 1, value); + return DataModelLogger::LogValue("DefaultConfigurationRegister", 1, value); } - case EnergyEvse::Attributes::StateOfCharge::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::EnableLocalProgramming::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StateOfCharge", 1, value); + return DataModelLogger::LogValue("EnableLocalProgramming", 1, value); } - case EnergyEvse::Attributes::BatteryCapacity::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::EnableOneTouchLocking::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BatteryCapacity", 1, value); + return DataModelLogger::LogValue("EnableOneTouchLocking", 1, value); } - case EnergyEvse::Attributes::VehicleID::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::EnableInsideStatusLED::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("VehicleID", 1, value); + return DataModelLogger::LogValue("EnableInsideStatusLED", 1, value); } - case EnergyEvse::Attributes::SessionID::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::EnablePrivacyModeButton::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SessionID", 1, value); + return DataModelLogger::LogValue("EnablePrivacyModeButton", 1, value); } - case EnergyEvse::Attributes::SessionDuration::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::LocalProgrammingFeatures::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SessionDuration", 1, value); + return DataModelLogger::LogValue("LocalProgrammingFeatures", 1, value); } - case EnergyEvse::Attributes::SessionEnergyCharged::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::WrongCodeEntryLimit::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SessionEnergyCharged", 1, value); + return DataModelLogger::LogValue("WrongCodeEntryLimit", 1, value); } - case EnergyEvse::Attributes::SessionEnergyDischarged::Id: { - chip::app::DataModel::Nullable value; + case DoorLock::Attributes::UserCodeTemporaryDisableTime::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SessionEnergyDischarged", 1, value); + return DataModelLogger::LogValue("UserCodeTemporaryDisableTime", 1, value); } - case EnergyEvse::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::SendPINOverTheAir::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EnergyEvse::Id); + return DataModelLogger::LogValue("SendPINOverTheAir", 1, value); } - case EnergyEvse::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::RequirePINforRemoteOperation::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EnergyEvse::Id); + return DataModelLogger::LogValue("RequirePINforRemoteOperation", 1, value); } - case EnergyEvse::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::ExpiringUserTimeout::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("ExpiringUserTimeout", 1, value); } - case EnergyEvse::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::AliroReaderVerificationKey::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, EnergyEvse::Id); + return DataModelLogger::LogValue("AliroReaderVerificationKey", 1, value); } - case EnergyEvse::Attributes::FeatureMap::Id: { - uint32_t value; + case DoorLock::Attributes::AliroReaderGroupIdentifier::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("AliroReaderGroupIdentifier", 1, value); } - case EnergyEvse::Attributes::ClusterRevision::Id: { - uint16_t value; + case DoorLock::Attributes::AliroReaderGroupSubIdentifier::Id: { + chip::ByteSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("AliroReaderGroupSubIdentifier", 1, value); } + case DoorLock::Attributes::AliroExpeditedTransactionSupportedProtocolVersions::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AliroExpeditedTransactionSupportedProtocolVersions", 1, value); } - break; - } - case EnergyPreference::Id: { - switch (path.mAttributeId) - { - case EnergyPreference::Attributes::EnergyBalances::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::AliroGroupResolvingKey::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnergyBalances", 1, value); + return DataModelLogger::LogValue("AliroGroupResolvingKey", 1, value); } - case EnergyPreference::Attributes::CurrentEnergyBalance::Id: { - uint8_t value; + case DoorLock::Attributes::AliroSupportedBLEUWBProtocolVersions::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentEnergyBalance", 1, value); + return DataModelLogger::LogValue("AliroSupportedBLEUWBProtocolVersions", 1, value); } - case EnergyPreference::Attributes::EnergyPriorities::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::AliroBLEAdvertisingVersion::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnergyPriorities", 1, value); + return DataModelLogger::LogValue("AliroBLEAdvertisingVersion", 1, value); } - case EnergyPreference::Attributes::LowPowerModeSensitivities::Id: { - chip::app::DataModel::DecodableList value; + case DoorLock::Attributes::NumberOfAliroCredentialIssuerKeysSupported::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LowPowerModeSensitivities", 1, value); + return DataModelLogger::LogValue("NumberOfAliroCredentialIssuerKeysSupported", 1, value); } - case EnergyPreference::Attributes::CurrentLowPowerModeSensitivity::Id: { - uint8_t value; + case DoorLock::Attributes::NumberOfAliroEndpointKeysSupported::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentLowPowerModeSensitivity", 1, value); + return DataModelLogger::LogValue("NumberOfAliroEndpointKeysSupported", 1, value); } - case EnergyPreference::Attributes::GeneratedCommandList::Id: { + case DoorLock::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EnergyPreference::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DoorLock::Id); } - case EnergyPreference::Attributes::AcceptedCommandList::Id: { + case DoorLock::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EnergyPreference::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DoorLock::Id); } - case EnergyPreference::Attributes::EventList::Id: { + case DoorLock::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case EnergyPreference::Attributes::AttributeList::Id: { + case DoorLock::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, EnergyPreference::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, DoorLock::Id); } - case EnergyPreference::Attributes::FeatureMap::Id: { + case DoorLock::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case EnergyPreference::Attributes::ClusterRevision::Id: { + case DoorLock::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -14112,159 +15878,145 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case PowerTopology::Id: { + case WindowCovering::Id: { switch (path.mAttributeId) { - case PowerTopology::Attributes::AvailableEndpoints::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AvailableEndpoints", 1, value); - } - case PowerTopology::Attributes::ActiveEndpoints::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::Type::Id: { + chip::app::Clusters::WindowCovering::Type value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveEndpoints", 1, value); + return DataModelLogger::LogValue("Type", 1, value); } - case PowerTopology::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::PhysicalClosedLimitLift::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PowerTopology::Id); + return DataModelLogger::LogValue("PhysicalClosedLimitLift", 1, value); } - case PowerTopology::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::PhysicalClosedLimitTilt::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PowerTopology::Id); + return DataModelLogger::LogValue("PhysicalClosedLimitTilt", 1, value); } - case PowerTopology::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::CurrentPositionLift::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("CurrentPositionLift", 1, value); } - case PowerTopology::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::CurrentPositionTilt::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, PowerTopology::Id); + return DataModelLogger::LogValue("CurrentPositionTilt", 1, value); } - case PowerTopology::Attributes::FeatureMap::Id: { - uint32_t value; + case WindowCovering::Attributes::NumberOfActuationsLift::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("NumberOfActuationsLift", 1, value); } - case PowerTopology::Attributes::ClusterRevision::Id: { + case WindowCovering::Attributes::NumberOfActuationsTilt::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("NumberOfActuationsTilt", 1, value); } - break; - } - case EnergyEvseMode::Id: { - switch (path.mAttributeId) - { - case EnergyEvseMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList - value; + case WindowCovering::Attributes::ConfigStatus::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); + return DataModelLogger::LogValue("ConfigStatus", 1, value); } - case EnergyEvseMode::Attributes::CurrentMode::Id: { - uint8_t value; + case WindowCovering::Attributes::CurrentPositionLiftPercentage::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("CurrentPositionLiftPercentage", 1, value); } - case EnergyEvseMode::Attributes::StartUpMode::Id: { - chip::app::DataModel::Nullable value; + case WindowCovering::Attributes::CurrentPositionTiltPercentage::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpMode", 1, value); + return DataModelLogger::LogValue("CurrentPositionTiltPercentage", 1, value); } - case EnergyEvseMode::Attributes::OnMode::Id: { - chip::app::DataModel::Nullable value; + case WindowCovering::Attributes::OperationalStatus::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnMode", 1, value); + return DataModelLogger::LogValue("OperationalStatus", 1, value); } - case EnergyEvseMode::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::TargetPositionLiftPercent100ths::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, EnergyEvseMode::Id); + return DataModelLogger::LogValue("TargetPositionLiftPercent100ths", 1, value); } - case EnergyEvseMode::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::TargetPositionTiltPercent100ths::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, EnergyEvseMode::Id); + return DataModelLogger::LogValue("TargetPositionTiltPercent100ths", 1, value); } - case EnergyEvseMode::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::EndProductType::Id: { + chip::app::Clusters::WindowCovering::EndProductType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("EndProductType", 1, value); } - case EnergyEvseMode::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case WindowCovering::Attributes::CurrentPositionLiftPercent100ths::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, EnergyEvseMode::Id); + return DataModelLogger::LogValue("CurrentPositionLiftPercent100ths", 1, value); } - case EnergyEvseMode::Attributes::FeatureMap::Id: { - uint32_t value; + case WindowCovering::Attributes::CurrentPositionTiltPercent100ths::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("CurrentPositionTiltPercent100ths", 1, value); } - case EnergyEvseMode::Attributes::ClusterRevision::Id: { + case WindowCovering::Attributes::InstalledOpenLimitLift::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("InstalledOpenLimitLift", 1, value); } + case WindowCovering::Attributes::InstalledClosedLimitLift::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("InstalledClosedLimitLift", 1, value); } - break; - } - case WaterHeaterMode::Id: { - switch (path.mAttributeId) - { - case WaterHeaterMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList - value; + case WindowCovering::Attributes::InstalledOpenLimitTilt::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); + return DataModelLogger::LogValue("InstalledOpenLimitTilt", 1, value); } - case WaterHeaterMode::Attributes::CurrentMode::Id: { - uint8_t value; + case WindowCovering::Attributes::InstalledClosedLimitTilt::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("InstalledClosedLimitTilt", 1, value); } - case WaterHeaterMode::Attributes::StartUpMode::Id: { - chip::app::DataModel::Nullable value; + case WindowCovering::Attributes::Mode::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpMode", 1, value); + return DataModelLogger::LogValue("Mode", 1, value); } - case WaterHeaterMode::Attributes::OnMode::Id: { - chip::app::DataModel::Nullable value; + case WindowCovering::Attributes::SafetyStatus::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnMode", 1, value); + return DataModelLogger::LogValue("SafetyStatus", 1, value); } - case WaterHeaterMode::Attributes::GeneratedCommandList::Id: { + case WindowCovering::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WaterHeaterMode::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WindowCovering::Id); } - case WaterHeaterMode::Attributes::AcceptedCommandList::Id: { + case WindowCovering::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WaterHeaterMode::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WindowCovering::Id); } - case WaterHeaterMode::Attributes::EventList::Id: { + case WindowCovering::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case WaterHeaterMode::Attributes::AttributeList::Id: { + case WindowCovering::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, WaterHeaterMode::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WindowCovering::Id); } - case WaterHeaterMode::Attributes::FeatureMap::Id: { + case WindowCovering::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case WaterHeaterMode::Attributes::ClusterRevision::Id: { + case WindowCovering::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -14272,318 +16024,302 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case DeviceEnergyManagementMode::Id: { + case BarrierControl::Id: { switch (path.mAttributeId) { - case DeviceEnergyManagementMode::Attributes::SupportedModes::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::DeviceEnergyManagementMode::Structs::ModeOptionStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedModes", 1, value); - } - case DeviceEnergyManagementMode::Attributes::CurrentMode::Id: { + case BarrierControl::Attributes::BarrierMovingState::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentMode", 1, value); + return DataModelLogger::LogValue("barrier moving state", 1, value); } - case DeviceEnergyManagementMode::Attributes::StartUpMode::Id: { - chip::app::DataModel::Nullable value; + case BarrierControl::Attributes::BarrierSafetyStatus::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpMode", 1, value); + return DataModelLogger::LogValue("barrier safety status", 1, value); } - case DeviceEnergyManagementMode::Attributes::OnMode::Id: { - chip::app::DataModel::Nullable value; + case BarrierControl::Attributes::BarrierCapabilities::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnMode", 1, value); + return DataModelLogger::LogValue("barrier capabilities", 1, value); } - case DeviceEnergyManagementMode::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case BarrierControl::Attributes::BarrierOpenEvents::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DeviceEnergyManagementMode::Id); + return DataModelLogger::LogValue("barrier open events", 1, value); } - case DeviceEnergyManagementMode::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case BarrierControl::Attributes::BarrierCloseEvents::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DeviceEnergyManagementMode::Id); + return DataModelLogger::LogValue("barrier close events", 1, value); } - case DeviceEnergyManagementMode::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case BarrierControl::Attributes::BarrierCommandOpenEvents::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("barrier command open events", 1, value); } - case DeviceEnergyManagementMode::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case BarrierControl::Attributes::BarrierCommandCloseEvents::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, DeviceEnergyManagementMode::Id); + return DataModelLogger::LogValue("barrier command close events", 1, value); } - case DeviceEnergyManagementMode::Attributes::FeatureMap::Id: { - uint32_t value; + case BarrierControl::Attributes::BarrierOpenPeriod::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("barrier open period", 1, value); } - case DeviceEnergyManagementMode::Attributes::ClusterRevision::Id: { + case BarrierControl::Attributes::BarrierClosePeriod::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("barrier close period", 1, value); } - break; - } - case DoorLock::Id: { - switch (path.mAttributeId) - { - case DoorLock::Attributes::LockState::Id: { - chip::app::DataModel::Nullable value; + case BarrierControl::Attributes::BarrierPosition::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LockState", 1, value); + return DataModelLogger::LogValue("barrier position", 1, value); } - case DoorLock::Attributes::LockType::Id: { - chip::app::Clusters::DoorLock::DlLockType value; + case BarrierControl::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LockType", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BarrierControl::Id); } - case DoorLock::Attributes::ActuatorEnabled::Id: { - bool value; + case BarrierControl::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActuatorEnabled", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BarrierControl::Id); } - case DoorLock::Attributes::DoorState::Id: { - chip::app::DataModel::Nullable value; + case BarrierControl::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DoorState", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case DoorLock::Attributes::DoorOpenEvents::Id: { - uint32_t value; + case BarrierControl::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DoorOpenEvents", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, BarrierControl::Id); } - case DoorLock::Attributes::DoorClosedEvents::Id: { + case BarrierControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DoorClosedEvents", 1, value); - } - case DoorLock::Attributes::OpenPeriod::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OpenPeriod", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case DoorLock::Attributes::NumberOfTotalUsersSupported::Id: { + case BarrierControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfTotalUsersSupported", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case DoorLock::Attributes::NumberOfPINUsersSupported::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfPINUsersSupported", 1, value); } - case DoorLock::Attributes::NumberOfRFIDUsersSupported::Id: { - uint16_t value; + break; + } + case ServiceArea::Id: { + switch (path.mAttributeId) + { + case ServiceArea::Attributes::SupportedAreas::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfRFIDUsersSupported", 1, value); + return DataModelLogger::LogValue("SupportedAreas", 1, value); } - case DoorLock::Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id: { - uint8_t value; + case ServiceArea::Attributes::SupportedMaps::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfWeekDaySchedulesSupportedPerUser", 1, value); + return DataModelLogger::LogValue("SupportedMaps", 1, value); } - case DoorLock::Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id: { - uint8_t value; + case ServiceArea::Attributes::SelectedAreas::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfYearDaySchedulesSupportedPerUser", 1, value); + return DataModelLogger::LogValue("SelectedAreas", 1, value); } - case DoorLock::Attributes::NumberOfHolidaySchedulesSupported::Id: { - uint8_t value; + case ServiceArea::Attributes::CurrentArea::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfHolidaySchedulesSupported", 1, value); + return DataModelLogger::LogValue("CurrentArea", 1, value); } - case DoorLock::Attributes::MaxPINCodeLength::Id: { - uint8_t value; + case ServiceArea::Attributes::EstimatedEndTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxPINCodeLength", 1, value); + return DataModelLogger::LogValue("EstimatedEndTime", 1, value); } - case DoorLock::Attributes::MinPINCodeLength::Id: { - uint8_t value; + case ServiceArea::Attributes::Progress::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinPINCodeLength", 1, value); + return DataModelLogger::LogValue("Progress", 1, value); } - case DoorLock::Attributes::MaxRFIDCodeLength::Id: { - uint8_t value; + case ServiceArea::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxRFIDCodeLength", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ServiceArea::Id); } - case DoorLock::Attributes::MinRFIDCodeLength::Id: { - uint8_t value; + case ServiceArea::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinRFIDCodeLength", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ServiceArea::Id); } - case DoorLock::Attributes::CredentialRulesSupport::Id: { - chip::BitMask value; + case ServiceArea::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CredentialRulesSupport", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case DoorLock::Attributes::NumberOfCredentialsSupportedPerUser::Id: { - uint8_t value; + case ServiceArea::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfCredentialsSupportedPerUser", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ServiceArea::Id); } - case DoorLock::Attributes::Language::Id: { - chip::CharSpan value; + case ServiceArea::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Language", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case DoorLock::Attributes::LEDSettings::Id: { - uint8_t value; + case ServiceArea::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LEDSettings", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case DoorLock::Attributes::AutoRelockTime::Id: { - uint32_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AutoRelockTime", 1, value); } - case DoorLock::Attributes::SoundVolume::Id: { - uint8_t value; + break; + } + case PumpConfigurationAndControl::Id: { + switch (path.mAttributeId) + { + case PumpConfigurationAndControl::Attributes::MaxPressure::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SoundVolume", 1, value); + return DataModelLogger::LogValue("MaxPressure", 1, value); } - case DoorLock::Attributes::OperatingMode::Id: { - chip::app::Clusters::DoorLock::OperatingModeEnum value; + case PumpConfigurationAndControl::Attributes::MaxSpeed::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperatingMode", 1, value); + return DataModelLogger::LogValue("MaxSpeed", 1, value); } - case DoorLock::Attributes::SupportedOperatingModes::Id: { - chip::BitMask value; + case PumpConfigurationAndControl::Attributes::MaxFlow::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedOperatingModes", 1, value); + return DataModelLogger::LogValue("MaxFlow", 1, value); } - case DoorLock::Attributes::DefaultConfigurationRegister::Id: { - chip::BitMask value; + case PumpConfigurationAndControl::Attributes::MinConstPressure::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DefaultConfigurationRegister", 1, value); + return DataModelLogger::LogValue("MinConstPressure", 1, value); } - case DoorLock::Attributes::EnableLocalProgramming::Id: { - bool value; + case PumpConfigurationAndControl::Attributes::MaxConstPressure::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnableLocalProgramming", 1, value); + return DataModelLogger::LogValue("MaxConstPressure", 1, value); } - case DoorLock::Attributes::EnableOneTouchLocking::Id: { - bool value; + case PumpConfigurationAndControl::Attributes::MinCompPressure::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnableOneTouchLocking", 1, value); + return DataModelLogger::LogValue("MinCompPressure", 1, value); } - case DoorLock::Attributes::EnableInsideStatusLED::Id: { - bool value; + case PumpConfigurationAndControl::Attributes::MaxCompPressure::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnableInsideStatusLED", 1, value); + return DataModelLogger::LogValue("MaxCompPressure", 1, value); } - case DoorLock::Attributes::EnablePrivacyModeButton::Id: { - bool value; + case PumpConfigurationAndControl::Attributes::MinConstSpeed::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnablePrivacyModeButton", 1, value); + return DataModelLogger::LogValue("MinConstSpeed", 1, value); } - case DoorLock::Attributes::LocalProgrammingFeatures::Id: { - chip::BitMask value; + case PumpConfigurationAndControl::Attributes::MaxConstSpeed::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LocalProgrammingFeatures", 1, value); + return DataModelLogger::LogValue("MaxConstSpeed", 1, value); } - case DoorLock::Attributes::WrongCodeEntryLimit::Id: { - uint8_t value; + case PumpConfigurationAndControl::Attributes::MinConstFlow::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WrongCodeEntryLimit", 1, value); + return DataModelLogger::LogValue("MinConstFlow", 1, value); } - case DoorLock::Attributes::UserCodeTemporaryDisableTime::Id: { - uint8_t value; + case PumpConfigurationAndControl::Attributes::MaxConstFlow::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UserCodeTemporaryDisableTime", 1, value); + return DataModelLogger::LogValue("MaxConstFlow", 1, value); } - case DoorLock::Attributes::SendPINOverTheAir::Id: { - bool value; + case PumpConfigurationAndControl::Attributes::MinConstTemp::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SendPINOverTheAir", 1, value); + return DataModelLogger::LogValue("MinConstTemp", 1, value); } - case DoorLock::Attributes::RequirePINforRemoteOperation::Id: { - bool value; + case PumpConfigurationAndControl::Attributes::MaxConstTemp::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RequirePINforRemoteOperation", 1, value); + return DataModelLogger::LogValue("MaxConstTemp", 1, value); } - case DoorLock::Attributes::ExpiringUserTimeout::Id: { - uint16_t value; + case PumpConfigurationAndControl::Attributes::PumpStatus::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ExpiringUserTimeout", 1, value); + return DataModelLogger::LogValue("PumpStatus", 1, value); } - case DoorLock::Attributes::AliroReaderVerificationKey::Id: { - chip::app::DataModel::Nullable value; + case PumpConfigurationAndControl::Attributes::EffectiveOperationMode::Id: { + chip::app::Clusters::PumpConfigurationAndControl::OperationModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AliroReaderVerificationKey", 1, value); + return DataModelLogger::LogValue("EffectiveOperationMode", 1, value); } - case DoorLock::Attributes::AliroReaderGroupIdentifier::Id: { - chip::app::DataModel::Nullable value; + case PumpConfigurationAndControl::Attributes::EffectiveControlMode::Id: { + chip::app::Clusters::PumpConfigurationAndControl::ControlModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AliroReaderGroupIdentifier", 1, value); + return DataModelLogger::LogValue("EffectiveControlMode", 1, value); } - case DoorLock::Attributes::AliroReaderGroupSubIdentifier::Id: { - chip::ByteSpan value; + case PumpConfigurationAndControl::Attributes::Capacity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AliroReaderGroupSubIdentifier", 1, value); + return DataModelLogger::LogValue("Capacity", 1, value); } - case DoorLock::Attributes::AliroExpeditedTransactionSupportedProtocolVersions::Id: { - chip::app::DataModel::DecodableList value; + case PumpConfigurationAndControl::Attributes::Speed::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AliroExpeditedTransactionSupportedProtocolVersions", 1, value); + return DataModelLogger::LogValue("Speed", 1, value); } - case DoorLock::Attributes::AliroGroupResolvingKey::Id: { - chip::app::DataModel::Nullable value; + case PumpConfigurationAndControl::Attributes::LifetimeRunningHours::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AliroGroupResolvingKey", 1, value); + return DataModelLogger::LogValue("LifetimeRunningHours", 1, value); } - case DoorLock::Attributes::AliroSupportedBLEUWBProtocolVersions::Id: { - chip::app::DataModel::DecodableList value; + case PumpConfigurationAndControl::Attributes::Power::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AliroSupportedBLEUWBProtocolVersions", 1, value); + return DataModelLogger::LogValue("Power", 1, value); } - case DoorLock::Attributes::AliroBLEAdvertisingVersion::Id: { - uint8_t value; + case PumpConfigurationAndControl::Attributes::LifetimeEnergyConsumed::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AliroBLEAdvertisingVersion", 1, value); + return DataModelLogger::LogValue("LifetimeEnergyConsumed", 1, value); } - case DoorLock::Attributes::NumberOfAliroCredentialIssuerKeysSupported::Id: { - uint16_t value; + case PumpConfigurationAndControl::Attributes::OperationMode::Id: { + chip::app::Clusters::PumpConfigurationAndControl::OperationModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfAliroCredentialIssuerKeysSupported", 1, value); + return DataModelLogger::LogValue("OperationMode", 1, value); } - case DoorLock::Attributes::NumberOfAliroEndpointKeysSupported::Id: { - uint16_t value; + case PumpConfigurationAndControl::Attributes::ControlMode::Id: { + chip::app::Clusters::PumpConfigurationAndControl::ControlModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfAliroEndpointKeysSupported", 1, value); + return DataModelLogger::LogValue("ControlMode", 1, value); } - case DoorLock::Attributes::GeneratedCommandList::Id: { + case PumpConfigurationAndControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, DoorLock::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PumpConfigurationAndControl::Id); } - case DoorLock::Attributes::AcceptedCommandList::Id: { + case PumpConfigurationAndControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, DoorLock::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PumpConfigurationAndControl::Id); } - case DoorLock::Attributes::EventList::Id: { + case PumpConfigurationAndControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case DoorLock::Attributes::AttributeList::Id: { + case PumpConfigurationAndControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, DoorLock::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, PumpConfigurationAndControl::Id); } - case DoorLock::Attributes::FeatureMap::Id: { + case PumpConfigurationAndControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case DoorLock::Attributes::ClusterRevision::Id: { + case PumpConfigurationAndControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -14591,448 +16327,431 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case WindowCovering::Id: { + case Thermostat::Id: { switch (path.mAttributeId) { - case WindowCovering::Attributes::Type::Id: { - chip::app::Clusters::WindowCovering::Type value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Type", 1, value); - } - case WindowCovering::Attributes::PhysicalClosedLimitLift::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhysicalClosedLimitLift", 1, value); - } - case WindowCovering::Attributes::PhysicalClosedLimitTilt::Id: { - uint16_t value; + case Thermostat::Attributes::LocalTemperature::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhysicalClosedLimitTilt", 1, value); + return DataModelLogger::LogValue("LocalTemperature", 1, value); } - case WindowCovering::Attributes::CurrentPositionLift::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::OutdoorTemperature::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPositionLift", 1, value); + return DataModelLogger::LogValue("OutdoorTemperature", 1, value); } - case WindowCovering::Attributes::CurrentPositionTilt::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::Occupancy::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPositionTilt", 1, value); + return DataModelLogger::LogValue("Occupancy", 1, value); } - case WindowCovering::Attributes::NumberOfActuationsLift::Id: { - uint16_t value; + case Thermostat::Attributes::AbsMinHeatSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfActuationsLift", 1, value); + return DataModelLogger::LogValue("AbsMinHeatSetpointLimit", 1, value); } - case WindowCovering::Attributes::NumberOfActuationsTilt::Id: { - uint16_t value; + case Thermostat::Attributes::AbsMaxHeatSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfActuationsTilt", 1, value); + return DataModelLogger::LogValue("AbsMaxHeatSetpointLimit", 1, value); } - case WindowCovering::Attributes::ConfigStatus::Id: { - chip::BitMask value; + case Thermostat::Attributes::AbsMinCoolSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ConfigStatus", 1, value); + return DataModelLogger::LogValue("AbsMinCoolSetpointLimit", 1, value); } - case WindowCovering::Attributes::CurrentPositionLiftPercentage::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::AbsMaxCoolSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPositionLiftPercentage", 1, value); + return DataModelLogger::LogValue("AbsMaxCoolSetpointLimit", 1, value); } - case WindowCovering::Attributes::CurrentPositionTiltPercentage::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::PICoolingDemand::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPositionTiltPercentage", 1, value); + return DataModelLogger::LogValue("PICoolingDemand", 1, value); } - case WindowCovering::Attributes::OperationalStatus::Id: { - chip::BitMask value; + case Thermostat::Attributes::PIHeatingDemand::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationalStatus", 1, value); + return DataModelLogger::LogValue("PIHeatingDemand", 1, value); } - case WindowCovering::Attributes::TargetPositionLiftPercent100ths::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::HVACSystemTypeConfiguration::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TargetPositionLiftPercent100ths", 1, value); + return DataModelLogger::LogValue("HVACSystemTypeConfiguration", 1, value); } - case WindowCovering::Attributes::TargetPositionTiltPercent100ths::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::LocalTemperatureCalibration::Id: { + int8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TargetPositionTiltPercent100ths", 1, value); + return DataModelLogger::LogValue("LocalTemperatureCalibration", 1, value); } - case WindowCovering::Attributes::EndProductType::Id: { - chip::app::Clusters::WindowCovering::EndProductType value; + case Thermostat::Attributes::OccupiedCoolingSetpoint::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EndProductType", 1, value); + return DataModelLogger::LogValue("OccupiedCoolingSetpoint", 1, value); } - case WindowCovering::Attributes::CurrentPositionLiftPercent100ths::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::OccupiedHeatingSetpoint::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPositionLiftPercent100ths", 1, value); + return DataModelLogger::LogValue("OccupiedHeatingSetpoint", 1, value); } - case WindowCovering::Attributes::CurrentPositionTiltPercent100ths::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentPositionTiltPercent100ths", 1, value); + return DataModelLogger::LogValue("UnoccupiedCoolingSetpoint", 1, value); } - case WindowCovering::Attributes::InstalledOpenLimitLift::Id: { - uint16_t value; + case Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InstalledOpenLimitLift", 1, value); + return DataModelLogger::LogValue("UnoccupiedHeatingSetpoint", 1, value); } - case WindowCovering::Attributes::InstalledClosedLimitLift::Id: { - uint16_t value; + case Thermostat::Attributes::MinHeatSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InstalledClosedLimitLift", 1, value); + return DataModelLogger::LogValue("MinHeatSetpointLimit", 1, value); } - case WindowCovering::Attributes::InstalledOpenLimitTilt::Id: { - uint16_t value; + case Thermostat::Attributes::MaxHeatSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InstalledOpenLimitTilt", 1, value); + return DataModelLogger::LogValue("MaxHeatSetpointLimit", 1, value); } - case WindowCovering::Attributes::InstalledClosedLimitTilt::Id: { - uint16_t value; + case Thermostat::Attributes::MinCoolSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InstalledClosedLimitTilt", 1, value); + return DataModelLogger::LogValue("MinCoolSetpointLimit", 1, value); } - case WindowCovering::Attributes::Mode::Id: { - chip::BitMask value; + case Thermostat::Attributes::MaxCoolSetpointLimit::Id: { + int16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Mode", 1, value); + return DataModelLogger::LogValue("MaxCoolSetpointLimit", 1, value); } - case WindowCovering::Attributes::SafetyStatus::Id: { - chip::BitMask value; + case Thermostat::Attributes::MinSetpointDeadBand::Id: { + int8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SafetyStatus", 1, value); + return DataModelLogger::LogValue("MinSetpointDeadBand", 1, value); } - case WindowCovering::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::RemoteSensing::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WindowCovering::Id); + return DataModelLogger::LogValue("RemoteSensing", 1, value); } - case WindowCovering::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::ControlSequenceOfOperation::Id: { + chip::app::Clusters::Thermostat::ControlSequenceOfOperationEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WindowCovering::Id); + return DataModelLogger::LogValue("ControlSequenceOfOperation", 1, value); } - case WindowCovering::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::SystemMode::Id: { + chip::app::Clusters::Thermostat::SystemModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("SystemMode", 1, value); } - case WindowCovering::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::ThermostatRunningMode::Id: { + chip::app::Clusters::Thermostat::ThermostatRunningModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, WindowCovering::Id); + return DataModelLogger::LogValue("ThermostatRunningMode", 1, value); } - case WindowCovering::Attributes::FeatureMap::Id: { - uint32_t value; + case Thermostat::Attributes::StartOfWeek::Id: { + chip::app::Clusters::Thermostat::StartOfWeekEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("StartOfWeek", 1, value); } - case WindowCovering::Attributes::ClusterRevision::Id: { - uint16_t value; + case Thermostat::Attributes::NumberOfWeeklyTransitions::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("NumberOfWeeklyTransitions", 1, value); } - break; - } - case BarrierControl::Id: { - switch (path.mAttributeId) - { - case BarrierControl::Attributes::BarrierMovingState::Id: { + case Thermostat::Attributes::NumberOfDailyTransitions::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier moving state", 1, value); + return DataModelLogger::LogValue("NumberOfDailyTransitions", 1, value); } - case BarrierControl::Attributes::BarrierSafetyStatus::Id: { - uint16_t value; + case Thermostat::Attributes::TemperatureSetpointHold::Id: { + chip::app::Clusters::Thermostat::TemperatureSetpointHoldEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier safety status", 1, value); + return DataModelLogger::LogValue("TemperatureSetpointHold", 1, value); } - case BarrierControl::Attributes::BarrierCapabilities::Id: { - uint8_t value; + case Thermostat::Attributes::TemperatureSetpointHoldDuration::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier capabilities", 1, value); + return DataModelLogger::LogValue("TemperatureSetpointHoldDuration", 1, value); } - case BarrierControl::Attributes::BarrierOpenEvents::Id: { - uint16_t value; + case Thermostat::Attributes::ThermostatProgrammingOperationMode::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier open events", 1, value); + return DataModelLogger::LogValue("ThermostatProgrammingOperationMode", 1, value); } - case BarrierControl::Attributes::BarrierCloseEvents::Id: { - uint16_t value; + case Thermostat::Attributes::ThermostatRunningState::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier close events", 1, value); + return DataModelLogger::LogValue("ThermostatRunningState", 1, value); } - case BarrierControl::Attributes::BarrierCommandOpenEvents::Id: { - uint16_t value; + case Thermostat::Attributes::SetpointChangeSource::Id: { + chip::app::Clusters::Thermostat::SetpointChangeSourceEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier command open events", 1, value); + return DataModelLogger::LogValue("SetpointChangeSource", 1, value); } - case BarrierControl::Attributes::BarrierCommandCloseEvents::Id: { - uint16_t value; + case Thermostat::Attributes::SetpointChangeAmount::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier command close events", 1, value); + return DataModelLogger::LogValue("SetpointChangeAmount", 1, value); } - case BarrierControl::Attributes::BarrierOpenPeriod::Id: { - uint16_t value; + case Thermostat::Attributes::SetpointChangeSourceTimestamp::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier open period", 1, value); + return DataModelLogger::LogValue("SetpointChangeSourceTimestamp", 1, value); } - case BarrierControl::Attributes::BarrierClosePeriod::Id: { - uint16_t value; + case Thermostat::Attributes::OccupiedSetback::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier close period", 1, value); + return DataModelLogger::LogValue("OccupiedSetback", 1, value); } - case BarrierControl::Attributes::BarrierPosition::Id: { - uint8_t value; + case Thermostat::Attributes::OccupiedSetbackMin::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("barrier position", 1, value); + return DataModelLogger::LogValue("OccupiedSetbackMin", 1, value); } - case BarrierControl::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::OccupiedSetbackMax::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BarrierControl::Id); + return DataModelLogger::LogValue("OccupiedSetbackMax", 1, value); } - case BarrierControl::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::UnoccupiedSetback::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BarrierControl::Id); + return DataModelLogger::LogValue("UnoccupiedSetback", 1, value); } - case BarrierControl::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::UnoccupiedSetbackMin::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("UnoccupiedSetbackMin", 1, value); } - case BarrierControl::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::UnoccupiedSetbackMax::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, BarrierControl::Id); + return DataModelLogger::LogValue("UnoccupiedSetbackMax", 1, value); } - case BarrierControl::Attributes::FeatureMap::Id: { - uint32_t value; + case Thermostat::Attributes::EmergencyHeatDelta::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("EmergencyHeatDelta", 1, value); } - case BarrierControl::Attributes::ClusterRevision::Id: { - uint16_t value; + case Thermostat::Attributes::ACType::Id: { + chip::app::Clusters::Thermostat::ACTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("ACType", 1, value); } + case Thermostat::Attributes::ACCapacity::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ACCapacity", 1, value); } - break; - } - case ServiceArea::Id: { - switch (path.mAttributeId) - { - case ServiceArea::Attributes::SupportedAreas::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::ACRefrigerantType::Id: { + chip::app::Clusters::Thermostat::ACRefrigerantTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedAreas", 1, value); + return DataModelLogger::LogValue("ACRefrigerantType", 1, value); } - case ServiceArea::Attributes::SupportedMaps::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::ACCompressorType::Id: { + chip::app::Clusters::Thermostat::ACCompressorTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedMaps", 1, value); + return DataModelLogger::LogValue("ACCompressorType", 1, value); } - case ServiceArea::Attributes::SelectedAreas::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::ACErrorCode::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SelectedAreas", 1, value); + return DataModelLogger::LogValue("ACErrorCode", 1, value); } - case ServiceArea::Attributes::CurrentArea::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::ACLouverPosition::Id: { + chip::app::Clusters::Thermostat::ACLouverPositionEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentArea", 1, value); + return DataModelLogger::LogValue("ACLouverPosition", 1, value); } - case ServiceArea::Attributes::EstimatedEndTime::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::ACCoilTemperature::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EstimatedEndTime", 1, value); + return DataModelLogger::LogValue("ACCoilTemperature", 1, value); } - case ServiceArea::Attributes::Progress::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::ACCapacityformat::Id: { + chip::app::Clusters::Thermostat::ACCapacityFormatEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Progress", 1, value); + return DataModelLogger::LogValue("ACCapacityformat", 1, value); } - case ServiceArea::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::PresetTypes::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ServiceArea::Id); + return DataModelLogger::LogValue("PresetTypes", 1, value); } - case ServiceArea::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::ScheduleTypes::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ServiceArea::Id); + return DataModelLogger::LogValue("ScheduleTypes", 1, value); } - case ServiceArea::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::NumberOfPresets::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("NumberOfPresets", 1, value); } - case ServiceArea::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case Thermostat::Attributes::NumberOfSchedules::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ServiceArea::Id); + return DataModelLogger::LogValue("NumberOfSchedules", 1, value); } - case ServiceArea::Attributes::FeatureMap::Id: { - uint32_t value; + case Thermostat::Attributes::NumberOfScheduleTransitions::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("NumberOfScheduleTransitions", 1, value); } - case ServiceArea::Attributes::ClusterRevision::Id: { - uint16_t value; + case Thermostat::Attributes::NumberOfScheduleTransitionPerDay::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("NumberOfScheduleTransitionPerDay", 1, value); } + case Thermostat::Attributes::ActivePresetHandle::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActivePresetHandle", 1, value); } - break; - } - case PumpConfigurationAndControl::Id: { - switch (path.mAttributeId) - { - case PumpConfigurationAndControl::Attributes::MaxPressure::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::ActiveScheduleHandle::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxPressure", 1, value); + return DataModelLogger::LogValue("ActiveScheduleHandle", 1, value); } - case PumpConfigurationAndControl::Attributes::MaxSpeed::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::Presets::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxSpeed", 1, value); + return DataModelLogger::LogValue("Presets", 1, value); } - case PumpConfigurationAndControl::Attributes::MaxFlow::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::Schedules::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxFlow", 1, value); + return DataModelLogger::LogValue("Schedules", 1, value); } - case PumpConfigurationAndControl::Attributes::MinConstPressure::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::SetpointHoldExpiryTimestamp::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinConstPressure", 1, value); + return DataModelLogger::LogValue("SetpointHoldExpiryTimestamp", 1, value); } - case PumpConfigurationAndControl::Attributes::MaxConstPressure::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxConstPressure", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Thermostat::Id); } - case PumpConfigurationAndControl::Attributes::MinCompPressure::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinCompPressure", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Thermostat::Id); } - case PumpConfigurationAndControl::Attributes::MaxCompPressure::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxCompPressure", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case PumpConfigurationAndControl::Attributes::MinConstSpeed::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinConstSpeed", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Thermostat::Id); } - case PumpConfigurationAndControl::Attributes::MaxConstSpeed::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxConstSpeed", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case PumpConfigurationAndControl::Attributes::MinConstFlow::Id: { - chip::app::DataModel::Nullable value; + case Thermostat::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinConstFlow", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case PumpConfigurationAndControl::Attributes::MaxConstFlow::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxConstFlow", 1, value); } - case PumpConfigurationAndControl::Attributes::MinConstTemp::Id: { - chip::app::DataModel::Nullable value; + break; + } + case FanControl::Id: { + switch (path.mAttributeId) + { + case FanControl::Attributes::FanMode::Id: { + chip::app::Clusters::FanControl::FanModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinConstTemp", 1, value); + return DataModelLogger::LogValue("FanMode", 1, value); } - case PumpConfigurationAndControl::Attributes::MaxConstTemp::Id: { - chip::app::DataModel::Nullable value; + case FanControl::Attributes::FanModeSequence::Id: { + chip::app::Clusters::FanControl::FanModeSequenceEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxConstTemp", 1, value); + return DataModelLogger::LogValue("FanModeSequence", 1, value); } - case PumpConfigurationAndControl::Attributes::PumpStatus::Id: { - chip::BitMask value; + case FanControl::Attributes::PercentSetting::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PumpStatus", 1, value); + return DataModelLogger::LogValue("PercentSetting", 1, value); } - case PumpConfigurationAndControl::Attributes::EffectiveOperationMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::OperationModeEnum value; + case FanControl::Attributes::PercentCurrent::Id: { + chip::Percent value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EffectiveOperationMode", 1, value); + return DataModelLogger::LogValue("PercentCurrent", 1, value); } - case PumpConfigurationAndControl::Attributes::EffectiveControlMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::ControlModeEnum value; + case FanControl::Attributes::SpeedMax::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EffectiveControlMode", 1, value); + return DataModelLogger::LogValue("SpeedMax", 1, value); } - case PumpConfigurationAndControl::Attributes::Capacity::Id: { - chip::app::DataModel::Nullable value; + case FanControl::Attributes::SpeedSetting::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Capacity", 1, value); + return DataModelLogger::LogValue("SpeedSetting", 1, value); } - case PumpConfigurationAndControl::Attributes::Speed::Id: { - chip::app::DataModel::Nullable value; + case FanControl::Attributes::SpeedCurrent::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Speed", 1, value); + return DataModelLogger::LogValue("SpeedCurrent", 1, value); } - case PumpConfigurationAndControl::Attributes::LifetimeRunningHours::Id: { - chip::app::DataModel::Nullable value; + case FanControl::Attributes::RockSupport::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LifetimeRunningHours", 1, value); + return DataModelLogger::LogValue("RockSupport", 1, value); } - case PumpConfigurationAndControl::Attributes::Power::Id: { - chip::app::DataModel::Nullable value; + case FanControl::Attributes::RockSetting::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Power", 1, value); + return DataModelLogger::LogValue("RockSetting", 1, value); } - case PumpConfigurationAndControl::Attributes::LifetimeEnergyConsumed::Id: { - chip::app::DataModel::Nullable value; + case FanControl::Attributes::WindSupport::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LifetimeEnergyConsumed", 1, value); + return DataModelLogger::LogValue("WindSupport", 1, value); } - case PumpConfigurationAndControl::Attributes::OperationMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::OperationModeEnum value; + case FanControl::Attributes::WindSetting::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OperationMode", 1, value); + return DataModelLogger::LogValue("WindSetting", 1, value); } - case PumpConfigurationAndControl::Attributes::ControlMode::Id: { - chip::app::Clusters::PumpConfigurationAndControl::ControlModeEnum value; + case FanControl::Attributes::AirflowDirection::Id: { + chip::app::Clusters::FanControl::AirflowDirectionEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ControlMode", 1, value); + return DataModelLogger::LogValue("AirflowDirection", 1, value); } - case PumpConfigurationAndControl::Attributes::GeneratedCommandList::Id: { + case FanControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PumpConfigurationAndControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, FanControl::Id); } - case PumpConfigurationAndControl::Attributes::AcceptedCommandList::Id: { + case FanControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PumpConfigurationAndControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FanControl::Id); } - case PumpConfigurationAndControl::Attributes::EventList::Id: { + case FanControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case PumpConfigurationAndControl::Attributes::AttributeList::Id: { + case FanControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, PumpConfigurationAndControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, FanControl::Id); } - case PumpConfigurationAndControl::Attributes::FeatureMap::Id: { + case FanControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case PumpConfigurationAndControl::Attributes::ClusterRevision::Id: { + case FanControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -15040,335 +16759,347 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Thermostat::Id: { + case ThermostatUserInterfaceConfiguration::Id: { switch (path.mAttributeId) { - case Thermostat::Attributes::LocalTemperature::Id: { - chip::app::DataModel::Nullable value; + case ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::Id: { + chip::app::Clusters::ThermostatUserInterfaceConfiguration::TemperatureDisplayModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LocalTemperature", 1, value); + return DataModelLogger::LogValue("TemperatureDisplayMode", 1, value); } - case Thermostat::Attributes::OutdoorTemperature::Id: { - chip::app::DataModel::Nullable value; + case ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::Id: { + chip::app::Clusters::ThermostatUserInterfaceConfiguration::KeypadLockoutEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OutdoorTemperature", 1, value); + return DataModelLogger::LogValue("KeypadLockout", 1, value); } - case Thermostat::Attributes::Occupancy::Id: { - chip::BitMask value; + case ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::Id: { + chip::app::Clusters::ThermostatUserInterfaceConfiguration::ScheduleProgrammingVisibilityEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Occupancy", 1, value); + return DataModelLogger::LogValue("ScheduleProgrammingVisibility", 1, value); } - case Thermostat::Attributes::AbsMinHeatSetpointLimit::Id: { - int16_t value; + case ThermostatUserInterfaceConfiguration::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AbsMinHeatSetpointLimit", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, + ThermostatUserInterfaceConfiguration::Id); } - case Thermostat::Attributes::AbsMaxHeatSetpointLimit::Id: { - int16_t value; + case ThermostatUserInterfaceConfiguration::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AbsMaxHeatSetpointLimit", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThermostatUserInterfaceConfiguration::Id); } - case Thermostat::Attributes::AbsMinCoolSetpointLimit::Id: { - int16_t value; + case ThermostatUserInterfaceConfiguration::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AbsMinCoolSetpointLimit", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case Thermostat::Attributes::AbsMaxCoolSetpointLimit::Id: { - int16_t value; + case ThermostatUserInterfaceConfiguration::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AbsMaxCoolSetpointLimit", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThermostatUserInterfaceConfiguration::Id); } - case Thermostat::Attributes::PICoolingDemand::Id: { - uint8_t value; + case ThermostatUserInterfaceConfiguration::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PICoolingDemand", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Thermostat::Attributes::PIHeatingDemand::Id: { - uint8_t value; + case ThermostatUserInterfaceConfiguration::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PIHeatingDemand", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case Thermostat::Attributes::HVACSystemTypeConfiguration::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HVACSystemTypeConfiguration", 1, value); } - case Thermostat::Attributes::LocalTemperatureCalibration::Id: { - int8_t value; + break; + } + case ColorControl::Id: { + switch (path.mAttributeId) + { + case ColorControl::Attributes::CurrentHue::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LocalTemperatureCalibration", 1, value); + return DataModelLogger::LogValue("CurrentHue", 1, value); } - case Thermostat::Attributes::OccupiedCoolingSetpoint::Id: { - int16_t value; + case ColorControl::Attributes::CurrentSaturation::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OccupiedCoolingSetpoint", 1, value); + return DataModelLogger::LogValue("CurrentSaturation", 1, value); } - case Thermostat::Attributes::OccupiedHeatingSetpoint::Id: { - int16_t value; + case ColorControl::Attributes::RemainingTime::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OccupiedHeatingSetpoint", 1, value); + return DataModelLogger::LogValue("RemainingTime", 1, value); } - case Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id: { - int16_t value; + case ColorControl::Attributes::CurrentX::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UnoccupiedCoolingSetpoint", 1, value); + return DataModelLogger::LogValue("CurrentX", 1, value); } - case Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id: { - int16_t value; + case ColorControl::Attributes::CurrentY::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UnoccupiedHeatingSetpoint", 1, value); + return DataModelLogger::LogValue("CurrentY", 1, value); } - case Thermostat::Attributes::MinHeatSetpointLimit::Id: { - int16_t value; + case ColorControl::Attributes::DriftCompensation::Id: { + chip::app::Clusters::ColorControl::DriftCompensationEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinHeatSetpointLimit", 1, value); + return DataModelLogger::LogValue("DriftCompensation", 1, value); } - case Thermostat::Attributes::MaxHeatSetpointLimit::Id: { - int16_t value; + case ColorControl::Attributes::CompensationText::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxHeatSetpointLimit", 1, value); + return DataModelLogger::LogValue("CompensationText", 1, value); } - case Thermostat::Attributes::MinCoolSetpointLimit::Id: { - int16_t value; + case ColorControl::Attributes::ColorTemperatureMireds::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinCoolSetpointLimit", 1, value); + return DataModelLogger::LogValue("ColorTemperatureMireds", 1, value); } - case Thermostat::Attributes::MaxCoolSetpointLimit::Id: { - int16_t value; + case ColorControl::Attributes::ColorMode::Id: { + chip::app::Clusters::ColorControl::ColorModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxCoolSetpointLimit", 1, value); + return DataModelLogger::LogValue("ColorMode", 1, value); } - case Thermostat::Attributes::MinSetpointDeadBand::Id: { - int8_t value; + case ColorControl::Attributes::Options::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinSetpointDeadBand", 1, value); + return DataModelLogger::LogValue("Options", 1, value); } - case Thermostat::Attributes::RemoteSensing::Id: { - chip::BitMask value; + case ColorControl::Attributes::NumberOfPrimaries::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RemoteSensing", 1, value); + return DataModelLogger::LogValue("NumberOfPrimaries", 1, value); } - case Thermostat::Attributes::ControlSequenceOfOperation::Id: { - chip::app::Clusters::Thermostat::ControlSequenceOfOperationEnum value; + case ColorControl::Attributes::Primary1X::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ControlSequenceOfOperation", 1, value); + return DataModelLogger::LogValue("Primary1X", 1, value); } - case Thermostat::Attributes::SystemMode::Id: { - chip::app::Clusters::Thermostat::SystemModeEnum value; + case ColorControl::Attributes::Primary1Y::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SystemMode", 1, value); + return DataModelLogger::LogValue("Primary1Y", 1, value); } - case Thermostat::Attributes::ThermostatRunningMode::Id: { - chip::app::Clusters::Thermostat::ThermostatRunningModeEnum value; + case ColorControl::Attributes::Primary1Intensity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThermostatRunningMode", 1, value); + return DataModelLogger::LogValue("Primary1Intensity", 1, value); } - case Thermostat::Attributes::StartOfWeek::Id: { - chip::app::Clusters::Thermostat::StartOfWeekEnum value; + case ColorControl::Attributes::Primary2X::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartOfWeek", 1, value); + return DataModelLogger::LogValue("Primary2X", 1, value); } - case Thermostat::Attributes::NumberOfWeeklyTransitions::Id: { - uint8_t value; + case ColorControl::Attributes::Primary2Y::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfWeeklyTransitions", 1, value); + return DataModelLogger::LogValue("Primary2Y", 1, value); } - case Thermostat::Attributes::NumberOfDailyTransitions::Id: { - uint8_t value; + case ColorControl::Attributes::Primary2Intensity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfDailyTransitions", 1, value); + return DataModelLogger::LogValue("Primary2Intensity", 1, value); } - case Thermostat::Attributes::TemperatureSetpointHold::Id: { - chip::app::Clusters::Thermostat::TemperatureSetpointHoldEnum value; + case ColorControl::Attributes::Primary3X::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TemperatureSetpointHold", 1, value); + return DataModelLogger::LogValue("Primary3X", 1, value); } - case Thermostat::Attributes::TemperatureSetpointHoldDuration::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::Primary3Y::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TemperatureSetpointHoldDuration", 1, value); + return DataModelLogger::LogValue("Primary3Y", 1, value); } - case Thermostat::Attributes::ThermostatProgrammingOperationMode::Id: { - chip::BitMask value; + case ColorControl::Attributes::Primary3Intensity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThermostatProgrammingOperationMode", 1, value); + return DataModelLogger::LogValue("Primary3Intensity", 1, value); } - case Thermostat::Attributes::ThermostatRunningState::Id: { - chip::BitMask value; + case ColorControl::Attributes::Primary4X::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThermostatRunningState", 1, value); + return DataModelLogger::LogValue("Primary4X", 1, value); } - case Thermostat::Attributes::SetpointChangeSource::Id: { - chip::app::Clusters::Thermostat::SetpointChangeSourceEnum value; + case ColorControl::Attributes::Primary4Y::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SetpointChangeSource", 1, value); + return DataModelLogger::LogValue("Primary4Y", 1, value); } - case Thermostat::Attributes::SetpointChangeAmount::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::Primary4Intensity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SetpointChangeAmount", 1, value); + return DataModelLogger::LogValue("Primary4Intensity", 1, value); } - case Thermostat::Attributes::SetpointChangeSourceTimestamp::Id: { - uint32_t value; + case ColorControl::Attributes::Primary5X::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SetpointChangeSourceTimestamp", 1, value); + return DataModelLogger::LogValue("Primary5X", 1, value); } - case Thermostat::Attributes::OccupiedSetback::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::Primary5Y::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OccupiedSetback", 1, value); + return DataModelLogger::LogValue("Primary5Y", 1, value); } - case Thermostat::Attributes::OccupiedSetbackMin::Id: { + case ColorControl::Attributes::Primary5Intensity::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OccupiedSetbackMin", 1, value); + return DataModelLogger::LogValue("Primary5Intensity", 1, value); } - case Thermostat::Attributes::OccupiedSetbackMax::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::Primary6X::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OccupiedSetbackMax", 1, value); + return DataModelLogger::LogValue("Primary6X", 1, value); } - case Thermostat::Attributes::UnoccupiedSetback::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::Primary6Y::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UnoccupiedSetback", 1, value); + return DataModelLogger::LogValue("Primary6Y", 1, value); } - case Thermostat::Attributes::UnoccupiedSetbackMin::Id: { + case ColorControl::Attributes::Primary6Intensity::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UnoccupiedSetbackMin", 1, value); + return DataModelLogger::LogValue("Primary6Intensity", 1, value); } - case Thermostat::Attributes::UnoccupiedSetbackMax::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::WhitePointX::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UnoccupiedSetbackMax", 1, value); + return DataModelLogger::LogValue("WhitePointX", 1, value); } - case Thermostat::Attributes::EmergencyHeatDelta::Id: { - uint8_t value; + case ColorControl::Attributes::WhitePointY::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EmergencyHeatDelta", 1, value); + return DataModelLogger::LogValue("WhitePointY", 1, value); } - case Thermostat::Attributes::ACType::Id: { - chip::app::Clusters::Thermostat::ACTypeEnum value; + case ColorControl::Attributes::ColorPointRX::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACType", 1, value); + return DataModelLogger::LogValue("ColorPointRX", 1, value); } - case Thermostat::Attributes::ACCapacity::Id: { + case ColorControl::Attributes::ColorPointRY::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACCapacity", 1, value); + return DataModelLogger::LogValue("ColorPointRY", 1, value); } - case Thermostat::Attributes::ACRefrigerantType::Id: { - chip::app::Clusters::Thermostat::ACRefrigerantTypeEnum value; + case ColorControl::Attributes::ColorPointRIntensity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACRefrigerantType", 1, value); + return DataModelLogger::LogValue("ColorPointRIntensity", 1, value); } - case Thermostat::Attributes::ACCompressorType::Id: { - chip::app::Clusters::Thermostat::ACCompressorTypeEnum value; + case ColorControl::Attributes::ColorPointGX::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACCompressorType", 1, value); + return DataModelLogger::LogValue("ColorPointGX", 1, value); } - case Thermostat::Attributes::ACErrorCode::Id: { - chip::BitMask value; + case ColorControl::Attributes::ColorPointGY::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACErrorCode", 1, value); + return DataModelLogger::LogValue("ColorPointGY", 1, value); } - case Thermostat::Attributes::ACLouverPosition::Id: { - chip::app::Clusters::Thermostat::ACLouverPositionEnum value; + case ColorControl::Attributes::ColorPointGIntensity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACLouverPosition", 1, value); + return DataModelLogger::LogValue("ColorPointGIntensity", 1, value); } - case Thermostat::Attributes::ACCoilTemperature::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::ColorPointBX::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACCoilTemperature", 1, value); + return DataModelLogger::LogValue("ColorPointBX", 1, value); } - case Thermostat::Attributes::ACCapacityformat::Id: { - chip::app::Clusters::Thermostat::ACCapacityFormatEnum value; + case ColorControl::Attributes::ColorPointBY::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ACCapacityformat", 1, value); + return DataModelLogger::LogValue("ColorPointBY", 1, value); } - case Thermostat::Attributes::PresetTypes::Id: { - chip::app::DataModel::DecodableList value; + case ColorControl::Attributes::ColorPointBIntensity::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PresetTypes", 1, value); + return DataModelLogger::LogValue("ColorPointBIntensity", 1, value); } - case Thermostat::Attributes::ScheduleTypes::Id: { - chip::app::DataModel::DecodableList value; + case ColorControl::Attributes::EnhancedCurrentHue::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScheduleTypes", 1, value); + return DataModelLogger::LogValue("EnhancedCurrentHue", 1, value); } - case Thermostat::Attributes::NumberOfPresets::Id: { - uint8_t value; + case ColorControl::Attributes::EnhancedColorMode::Id: { + chip::app::Clusters::ColorControl::EnhancedColorModeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfPresets", 1, value); + return DataModelLogger::LogValue("EnhancedColorMode", 1, value); } - case Thermostat::Attributes::NumberOfSchedules::Id: { + case ColorControl::Attributes::ColorLoopActive::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfSchedules", 1, value); + return DataModelLogger::LogValue("ColorLoopActive", 1, value); } - case Thermostat::Attributes::NumberOfScheduleTransitions::Id: { + case ColorControl::Attributes::ColorLoopDirection::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfScheduleTransitions", 1, value); + return DataModelLogger::LogValue("ColorLoopDirection", 1, value); } - case Thermostat::Attributes::NumberOfScheduleTransitionPerDay::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::ColorLoopTime::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfScheduleTransitionPerDay", 1, value); + return DataModelLogger::LogValue("ColorLoopTime", 1, value); } - case Thermostat::Attributes::ActivePresetHandle::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::ColorLoopStartEnhancedHue::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActivePresetHandle", 1, value); + return DataModelLogger::LogValue("ColorLoopStartEnhancedHue", 1, value); } - case Thermostat::Attributes::ActiveScheduleHandle::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveScheduleHandle", 1, value); + return DataModelLogger::LogValue("ColorLoopStoredEnhancedHue", 1, value); } - case Thermostat::Attributes::Presets::Id: { - chip::app::DataModel::DecodableList value; + case ColorControl::Attributes::ColorCapabilities::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Presets", 1, value); + return DataModelLogger::LogValue("ColorCapabilities", 1, value); } - case Thermostat::Attributes::Schedules::Id: { - chip::app::DataModel::DecodableList value; + case ColorControl::Attributes::ColorTempPhysicalMinMireds::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Schedules", 1, value); + return DataModelLogger::LogValue("ColorTempPhysicalMinMireds", 1, value); } - case Thermostat::Attributes::SetpointHoldExpiryTimestamp::Id: { - chip::app::DataModel::Nullable value; + case ColorControl::Attributes::ColorTempPhysicalMaxMireds::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SetpointHoldExpiryTimestamp", 1, value); + return DataModelLogger::LogValue("ColorTempPhysicalMaxMireds", 1, value); } - case Thermostat::Attributes::GeneratedCommandList::Id: { + case ColorControl::Attributes::CoupleColorTempToLevelMinMireds::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CoupleColorTempToLevelMinMireds", 1, value); + } + case ColorControl::Attributes::StartUpColorTemperatureMireds::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("StartUpColorTemperatureMireds", 1, value); + } + case ColorControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Thermostat::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ColorControl::Id); } - case Thermostat::Attributes::AcceptedCommandList::Id: { + case ColorControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Thermostat::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ColorControl::Id); } - case Thermostat::Attributes::EventList::Id: { + case ColorControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Thermostat::Attributes::AttributeList::Id: { + case ColorControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Thermostat::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ColorControl::Id); } - case Thermostat::Attributes::FeatureMap::Id: { + case ColorControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Thermostat::Attributes::ClusterRevision::Id: { + case ColorControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -15376,95 +17107,105 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case FanControl::Id: { + case BallastConfiguration::Id: { switch (path.mAttributeId) { - case FanControl::Attributes::FanMode::Id: { - chip::app::Clusters::FanControl::FanModeEnum value; + case BallastConfiguration::Attributes::PhysicalMinLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FanMode", 1, value); + return DataModelLogger::LogValue("PhysicalMinLevel", 1, value); } - case FanControl::Attributes::FanModeSequence::Id: { - chip::app::Clusters::FanControl::FanModeSequenceEnum value; + case BallastConfiguration::Attributes::PhysicalMaxLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FanModeSequence", 1, value); + return DataModelLogger::LogValue("PhysicalMaxLevel", 1, value); } - case FanControl::Attributes::PercentSetting::Id: { - chip::app::DataModel::Nullable value; + case BallastConfiguration::Attributes::BallastStatus::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PercentSetting", 1, value); + return DataModelLogger::LogValue("BallastStatus", 1, value); } - case FanControl::Attributes::PercentCurrent::Id: { - chip::Percent value; + case BallastConfiguration::Attributes::MinLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PercentCurrent", 1, value); + return DataModelLogger::LogValue("MinLevel", 1, value); } - case FanControl::Attributes::SpeedMax::Id: { + case BallastConfiguration::Attributes::MaxLevel::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SpeedMax", 1, value); + return DataModelLogger::LogValue("MaxLevel", 1, value); } - case FanControl::Attributes::SpeedSetting::Id: { + case BallastConfiguration::Attributes::IntrinsicBallastFactor::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SpeedSetting", 1, value); + return DataModelLogger::LogValue("IntrinsicBallastFactor", 1, value); } - case FanControl::Attributes::SpeedCurrent::Id: { + case BallastConfiguration::Attributes::BallastFactorAdjustment::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("BallastFactorAdjustment", 1, value); + } + case BallastConfiguration::Attributes::LampQuantity::Id: { uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SpeedCurrent", 1, value); + return DataModelLogger::LogValue("LampQuantity", 1, value); } - case FanControl::Attributes::RockSupport::Id: { - chip::BitMask value; + case BallastConfiguration::Attributes::LampType::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RockSupport", 1, value); + return DataModelLogger::LogValue("LampType", 1, value); } - case FanControl::Attributes::RockSetting::Id: { - chip::BitMask value; + case BallastConfiguration::Attributes::LampManufacturer::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RockSetting", 1, value); + return DataModelLogger::LogValue("LampManufacturer", 1, value); } - case FanControl::Attributes::WindSupport::Id: { - chip::BitMask value; + case BallastConfiguration::Attributes::LampRatedHours::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WindSupport", 1, value); + return DataModelLogger::LogValue("LampRatedHours", 1, value); } - case FanControl::Attributes::WindSetting::Id: { - chip::BitMask value; + case BallastConfiguration::Attributes::LampBurnHours::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WindSetting", 1, value); + return DataModelLogger::LogValue("LampBurnHours", 1, value); } - case FanControl::Attributes::AirflowDirection::Id: { - chip::app::Clusters::FanControl::AirflowDirectionEnum value; + case BallastConfiguration::Attributes::LampAlarmMode::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AirflowDirection", 1, value); + return DataModelLogger::LogValue("LampAlarmMode", 1, value); } - case FanControl::Attributes::GeneratedCommandList::Id: { + case BallastConfiguration::Attributes::LampBurnHoursTripPoint::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LampBurnHoursTripPoint", 1, value); + } + case BallastConfiguration::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, FanControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BallastConfiguration::Id); } - case FanControl::Attributes::AcceptedCommandList::Id: { + case BallastConfiguration::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FanControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BallastConfiguration::Id); } - case FanControl::Attributes::EventList::Id: { + case BallastConfiguration::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case FanControl::Attributes::AttributeList::Id: { + case BallastConfiguration::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, FanControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, BallastConfiguration::Id); } - case FanControl::Attributes::FeatureMap::Id: { + case BallastConfiguration::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case FanControl::Attributes::ClusterRevision::Id: { + case BallastConfiguration::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -15472,51 +17213,60 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ThermostatUserInterfaceConfiguration::Id: { + case IlluminanceMeasurement::Id: { switch (path.mAttributeId) { - case ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::Id: { - chip::app::Clusters::ThermostatUserInterfaceConfiguration::TemperatureDisplayModeEnum value; + case IlluminanceMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TemperatureDisplayMode", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::Id: { - chip::app::Clusters::ThermostatUserInterfaceConfiguration::KeypadLockoutEnum value; + case IlluminanceMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("KeypadLockout", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::Id: { - chip::app::Clusters::ThermostatUserInterfaceConfiguration::ScheduleProgrammingVisibilityEnum value; + case IlluminanceMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScheduleProgrammingVisibility", 1, value); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case ThermostatUserInterfaceConfiguration::Attributes::GeneratedCommandList::Id: { + case IlluminanceMeasurement::Attributes::Tolerance::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Tolerance", 1, value); + } + case IlluminanceMeasurement::Attributes::LightSensorType::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LightSensorType", 1, value); + } + case IlluminanceMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, - ThermostatUserInterfaceConfiguration::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, IlluminanceMeasurement::Id); } - case ThermostatUserInterfaceConfiguration::Attributes::AcceptedCommandList::Id: { + case IlluminanceMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThermostatUserInterfaceConfiguration::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, IlluminanceMeasurement::Id); } - case ThermostatUserInterfaceConfiguration::Attributes::EventList::Id: { + case IlluminanceMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ThermostatUserInterfaceConfiguration::Attributes::AttributeList::Id: { + case IlluminanceMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThermostatUserInterfaceConfiguration::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, IlluminanceMeasurement::Id); } - case ThermostatUserInterfaceConfiguration::Attributes::FeatureMap::Id: { + case IlluminanceMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ThermostatUserInterfaceConfiguration::Attributes::ClusterRevision::Id: { + case IlluminanceMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -15524,295 +17274,354 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ColorControl::Id: { + case TemperatureMeasurement::Id: { switch (path.mAttributeId) { - case ColorControl::Attributes::CurrentHue::Id: { - uint8_t value; + case TemperatureMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentHue", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case ColorControl::Attributes::CurrentSaturation::Id: { - uint8_t value; + case TemperatureMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentSaturation", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case ColorControl::Attributes::RemainingTime::Id: { - uint16_t value; + case TemperatureMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RemainingTime", 1, value); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case ColorControl::Attributes::CurrentX::Id: { + case TemperatureMeasurement::Attributes::Tolerance::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentX", 1, value); + return DataModelLogger::LogValue("Tolerance", 1, value); } - case ColorControl::Attributes::CurrentY::Id: { + case TemperatureMeasurement::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TemperatureMeasurement::Id); + } + case TemperatureMeasurement::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TemperatureMeasurement::Id); + } + case TemperatureMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case TemperatureMeasurement::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, TemperatureMeasurement::Id); + } + case TemperatureMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case TemperatureMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentY", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case ColorControl::Attributes::DriftCompensation::Id: { - chip::app::Clusters::ColorControl::DriftCompensationEnum value; + } + break; + } + case PressureMeasurement::Id: { + switch (path.mAttributeId) + { + case PressureMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("DriftCompensation", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case ColorControl::Attributes::CompensationText::Id: { - chip::CharSpan value; + case PressureMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CompensationText", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case ColorControl::Attributes::ColorTemperatureMireds::Id: { + case PressureMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); + } + case PressureMeasurement::Attributes::Tolerance::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorTemperatureMireds", 1, value); + return DataModelLogger::LogValue("Tolerance", 1, value); } - case ColorControl::Attributes::ColorMode::Id: { - chip::app::Clusters::ColorControl::ColorModeEnum value; + case PressureMeasurement::Attributes::ScaledValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorMode", 1, value); + return DataModelLogger::LogValue("ScaledValue", 1, value); } - case ColorControl::Attributes::Options::Id: { - chip::BitMask value; + case PressureMeasurement::Attributes::MinScaledValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Options", 1, value); + return DataModelLogger::LogValue("MinScaledValue", 1, value); } - case ColorControl::Attributes::NumberOfPrimaries::Id: { - chip::app::DataModel::Nullable value; + case PressureMeasurement::Attributes::MaxScaledValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("NumberOfPrimaries", 1, value); + return DataModelLogger::LogValue("MaxScaledValue", 1, value); } - case ColorControl::Attributes::Primary1X::Id: { + case PressureMeasurement::Attributes::ScaledTolerance::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary1X", 1, value); + return DataModelLogger::LogValue("ScaledTolerance", 1, value); } - case ColorControl::Attributes::Primary1Y::Id: { - uint16_t value; + case PressureMeasurement::Attributes::Scale::Id: { + int8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary1Y", 1, value); + return DataModelLogger::LogValue("Scale", 1, value); } - case ColorControl::Attributes::Primary1Intensity::Id: { - chip::app::DataModel::Nullable value; + case PressureMeasurement::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary1Intensity", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PressureMeasurement::Id); } - case ColorControl::Attributes::Primary2X::Id: { - uint16_t value; + case PressureMeasurement::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary2X", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PressureMeasurement::Id); } - case ColorControl::Attributes::Primary2Y::Id: { - uint16_t value; + case PressureMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary2Y", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case ColorControl::Attributes::Primary2Intensity::Id: { - chip::app::DataModel::Nullable value; + case PressureMeasurement::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary2Intensity", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, PressureMeasurement::Id); } - case ColorControl::Attributes::Primary3X::Id: { - uint16_t value; + case PressureMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary3X", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ColorControl::Attributes::Primary3Y::Id: { + case PressureMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary3Y", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case ColorControl::Attributes::Primary3Intensity::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary3Intensity", 1, value); } - case ColorControl::Attributes::Primary4X::Id: { - uint16_t value; + break; + } + case FlowMeasurement::Id: { + switch (path.mAttributeId) + { + case FlowMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary4X", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case ColorControl::Attributes::Primary4Y::Id: { - uint16_t value; + case FlowMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary4Y", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case ColorControl::Attributes::Primary4Intensity::Id: { - chip::app::DataModel::Nullable value; + case FlowMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary4Intensity", 1, value); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case ColorControl::Attributes::Primary5X::Id: { + case FlowMeasurement::Attributes::Tolerance::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary5X", 1, value); + return DataModelLogger::LogValue("Tolerance", 1, value); } - case ColorControl::Attributes::Primary5Y::Id: { - uint16_t value; + case FlowMeasurement::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary5Y", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, FlowMeasurement::Id); } - case ColorControl::Attributes::Primary5Intensity::Id: { - chip::app::DataModel::Nullable value; + case FlowMeasurement::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary5Intensity", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FlowMeasurement::Id); } - case ColorControl::Attributes::Primary6X::Id: { - uint16_t value; + case FlowMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary6X", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case ColorControl::Attributes::Primary6Y::Id: { - uint16_t value; + case FlowMeasurement::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary6Y", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, FlowMeasurement::Id); } - case ColorControl::Attributes::Primary6Intensity::Id: { - chip::app::DataModel::Nullable value; + case FlowMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Primary6Intensity", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ColorControl::Attributes::WhitePointX::Id: { + case FlowMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WhitePointX", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case ColorControl::Attributes::WhitePointY::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("WhitePointY", 1, value); } - case ColorControl::Attributes::ColorPointRX::Id: { - uint16_t value; + break; + } + case RelativeHumidityMeasurement::Id: { + switch (path.mAttributeId) + { + case RelativeHumidityMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointRX", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case ColorControl::Attributes::ColorPointRY::Id: { - uint16_t value; + case RelativeHumidityMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointRY", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case ColorControl::Attributes::ColorPointRIntensity::Id: { - chip::app::DataModel::Nullable value; + case RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointRIntensity", 1, value); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case ColorControl::Attributes::ColorPointGX::Id: { + case RelativeHumidityMeasurement::Attributes::Tolerance::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointGX", 1, value); + return DataModelLogger::LogValue("Tolerance", 1, value); } - case ColorControl::Attributes::ColorPointGY::Id: { - uint16_t value; + case RelativeHumidityMeasurement::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointGY", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RelativeHumidityMeasurement::Id); } - case ColorControl::Attributes::ColorPointGIntensity::Id: { - chip::app::DataModel::Nullable value; + case RelativeHumidityMeasurement::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointGIntensity", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RelativeHumidityMeasurement::Id); } - case ColorControl::Attributes::ColorPointBX::Id: { - uint16_t value; + case RelativeHumidityMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointBX", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case ColorControl::Attributes::ColorPointBY::Id: { - uint16_t value; + case RelativeHumidityMeasurement::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointBY", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, RelativeHumidityMeasurement::Id); } - case ColorControl::Attributes::ColorPointBIntensity::Id: { - chip::app::DataModel::Nullable value; + case RelativeHumidityMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorPointBIntensity", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ColorControl::Attributes::EnhancedCurrentHue::Id: { + case RelativeHumidityMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnhancedCurrentHue", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case ColorControl::Attributes::EnhancedColorMode::Id: { - chip::app::Clusters::ColorControl::EnhancedColorModeEnum value; + } + break; + } + case OccupancySensing::Id: { + switch (path.mAttributeId) + { + case OccupancySensing::Attributes::Occupancy::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EnhancedColorMode", 1, value); + return DataModelLogger::LogValue("Occupancy", 1, value); } - case ColorControl::Attributes::ColorLoopActive::Id: { - uint8_t value; + case OccupancySensing::Attributes::OccupancySensorType::Id: { + chip::app::Clusters::OccupancySensing::OccupancySensorTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorLoopActive", 1, value); + return DataModelLogger::LogValue("OccupancySensorType", 1, value); } - case ColorControl::Attributes::ColorLoopDirection::Id: { - uint8_t value; + case OccupancySensing::Attributes::OccupancySensorTypeBitmap::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorLoopDirection", 1, value); + return DataModelLogger::LogValue("OccupancySensorTypeBitmap", 1, value); } - case ColorControl::Attributes::ColorLoopTime::Id: { + case OccupancySensing::Attributes::HoldTime::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorLoopTime", 1, value); + return DataModelLogger::LogValue("HoldTime", 1, value); } - case ColorControl::Attributes::ColorLoopStartEnhancedHue::Id: { + case OccupancySensing::Attributes::HoldTimeLimits::Id: { + chip::app::Clusters::OccupancySensing::Structs::HoldTimeLimitsStruct::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("HoldTimeLimits", 1, value); + } + case OccupancySensing::Attributes::PIROccupiedToUnoccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorLoopStartEnhancedHue", 1, value); + return DataModelLogger::LogValue("PIROccupiedToUnoccupiedDelay", 1, value); } - case ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id: { + case OccupancySensing::Attributes::PIRUnoccupiedToOccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorLoopStoredEnhancedHue", 1, value); + return DataModelLogger::LogValue("PIRUnoccupiedToOccupiedDelay", 1, value); } - case ColorControl::Attributes::ColorCapabilities::Id: { - chip::BitMask value; + case OccupancySensing::Attributes::PIRUnoccupiedToOccupiedThreshold::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorCapabilities", 1, value); + return DataModelLogger::LogValue("PIRUnoccupiedToOccupiedThreshold", 1, value); } - case ColorControl::Attributes::ColorTempPhysicalMinMireds::Id: { + case OccupancySensing::Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorTempPhysicalMinMireds", 1, value); + return DataModelLogger::LogValue("UltrasonicOccupiedToUnoccupiedDelay", 1, value); } - case ColorControl::Attributes::ColorTempPhysicalMaxMireds::Id: { + case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ColorTempPhysicalMaxMireds", 1, value); + return DataModelLogger::LogValue("UltrasonicUnoccupiedToOccupiedDelay", 1, value); } - case ColorControl::Attributes::CoupleColorTempToLevelMinMireds::Id: { + case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("UltrasonicUnoccupiedToOccupiedThreshold", 1, value); + } + case OccupancySensing::Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CoupleColorTempToLevelMinMireds", 1, value); + return DataModelLogger::LogValue("PhysicalContactOccupiedToUnoccupiedDelay", 1, value); } - case ColorControl::Attributes::StartUpColorTemperatureMireds::Id: { - chip::app::DataModel::Nullable value; + case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartUpColorTemperatureMireds", 1, value); + return DataModelLogger::LogValue("PhysicalContactUnoccupiedToOccupiedDelay", 1, value); } - case ColorControl::Attributes::GeneratedCommandList::Id: { + case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PhysicalContactUnoccupiedToOccupiedThreshold", 1, value); + } + case OccupancySensing::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ColorControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OccupancySensing::Id); } - case ColorControl::Attributes::AcceptedCommandList::Id: { + case OccupancySensing::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ColorControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OccupancySensing::Id); } - case ColorControl::Attributes::EventList::Id: { + case OccupancySensing::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ColorControl::Attributes::AttributeList::Id: { + case OccupancySensing::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ColorControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OccupancySensing::Id); } - case ColorControl::Attributes::FeatureMap::Id: { + case OccupancySensing::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ColorControl::Attributes::ClusterRevision::Id: { + case OccupancySensing::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -15820,105 +17629,92 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case BallastConfiguration::Id: { + case CarbonMonoxideConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case BallastConfiguration::Attributes::PhysicalMinLevel::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhysicalMinLevel", 1, value); - } - case BallastConfiguration::Attributes::PhysicalMaxLevel::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhysicalMaxLevel", 1, value); - } - case BallastConfiguration::Attributes::BallastStatus::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BallastStatus", 1, value); - } - case BallastConfiguration::Attributes::MinLevel::Id: { - uint8_t value; + case CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinLevel", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case BallastConfiguration::Attributes::MaxLevel::Id: { - uint8_t value; + case CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxLevel", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case BallastConfiguration::Attributes::IntrinsicBallastFactor::Id: { - chip::app::DataModel::Nullable value; + case CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("IntrinsicBallastFactor", 1, value); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case BallastConfiguration::Attributes::BallastFactorAdjustment::Id: { - chip::app::DataModel::Nullable value; + case CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BallastFactorAdjustment", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case BallastConfiguration::Attributes::LampQuantity::Id: { - uint8_t value; + case CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LampQuantity", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case BallastConfiguration::Attributes::LampType::Id: { - chip::CharSpan value; + case CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LampType", 1, value); + return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case BallastConfiguration::Attributes::LampManufacturer::Id: { - chip::CharSpan value; + case CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LampManufacturer", 1, value); + return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - case BallastConfiguration::Attributes::LampRatedHours::Id: { - chip::app::DataModel::Nullable value; + case CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id: { + float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LampRatedHours", 1, value); + return DataModelLogger::LogValue("Uncertainty", 1, value); } - case BallastConfiguration::Attributes::LampBurnHours::Id: { - chip::app::DataModel::Nullable value; + case CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::CarbonMonoxideConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LampBurnHours", 1, value); + return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case BallastConfiguration::Attributes::LampAlarmMode::Id: { - chip::BitMask value; + case CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::CarbonMonoxideConcentrationMeasurement::MeasurementMediumEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LampAlarmMode", 1, value); + return DataModelLogger::LogValue("MeasurementMedium", 1, value); } - case BallastConfiguration::Attributes::LampBurnHoursTripPoint::Id: { - chip::app::DataModel::Nullable value; + case CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::CarbonMonoxideConcentrationMeasurement::LevelValueEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LampBurnHoursTripPoint", 1, value); + return DataModelLogger::LogValue("LevelValue", 1, value); } - case BallastConfiguration::Attributes::GeneratedCommandList::Id: { + case CarbonMonoxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, BallastConfiguration::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, + CarbonMonoxideConcentrationMeasurement::Id); } - case BallastConfiguration::Attributes::AcceptedCommandList::Id: { + case CarbonMonoxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, BallastConfiguration::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, + CarbonMonoxideConcentrationMeasurement::Id); } - case BallastConfiguration::Attributes::EventList::Id: { + case CarbonMonoxideConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case BallastConfiguration::Attributes::AttributeList::Id: { + case CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, BallastConfiguration::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, CarbonMonoxideConcentrationMeasurement::Id); } - case BallastConfiguration::Attributes::FeatureMap::Id: { + case CarbonMonoxideConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case BallastConfiguration::Attributes::ClusterRevision::Id: { + case CarbonMonoxideConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -15926,60 +17722,92 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case IlluminanceMeasurement::Id: { + case CarbonDioxideConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case IlluminanceMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case CarbonDioxideConcentrationMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case IlluminanceMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case CarbonDioxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case IlluminanceMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case CarbonDioxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case IlluminanceMeasurement::Attributes::Tolerance::Id: { - uint16_t value; + case CarbonDioxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Tolerance", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case IlluminanceMeasurement::Attributes::LightSensorType::Id: { - chip::app::DataModel::Nullable value; + case CarbonDioxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LightSensorType", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case IlluminanceMeasurement::Attributes::GeneratedCommandList::Id: { + case CarbonDioxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + } + case CarbonDioxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + } + case CarbonDioxideConcentrationMeasurement::Attributes::Uncertainty::Id: { + float value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Uncertainty", 1, value); + } + case CarbonDioxideConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::CarbonDioxideConcentrationMeasurement::MeasurementUnitEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MeasurementUnit", 1, value); + } + case CarbonDioxideConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::CarbonDioxideConcentrationMeasurement::MeasurementMediumEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MeasurementMedium", 1, value); + } + case CarbonDioxideConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::CarbonDioxideConcentrationMeasurement::LevelValueEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LevelValue", 1, value); + } + case CarbonDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, IlluminanceMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, + CarbonDioxideConcentrationMeasurement::Id); } - case IlluminanceMeasurement::Attributes::AcceptedCommandList::Id: { + case CarbonDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, IlluminanceMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, + CarbonDioxideConcentrationMeasurement::Id); } - case IlluminanceMeasurement::Attributes::EventList::Id: { + case CarbonDioxideConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case IlluminanceMeasurement::Attributes::AttributeList::Id: { + case CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, IlluminanceMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, CarbonDioxideConcentrationMeasurement::Id); } - case IlluminanceMeasurement::Attributes::FeatureMap::Id: { + case CarbonDioxideConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case IlluminanceMeasurement::Attributes::ClusterRevision::Id: { + case CarbonDioxideConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -15987,55 +17815,92 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case TemperatureMeasurement::Id: { + case NitrogenDioxideConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case TemperatureMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case NitrogenDioxideConcentrationMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case TemperatureMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case NitrogenDioxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case TemperatureMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case NitrogenDioxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case TemperatureMeasurement::Attributes::Tolerance::Id: { - uint16_t value; + case NitrogenDioxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Tolerance", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case TemperatureMeasurement::Attributes::GeneratedCommandList::Id: { + case NitrogenDioxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); + } + case NitrogenDioxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + } + case NitrogenDioxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + } + case NitrogenDioxideConcentrationMeasurement::Attributes::Uncertainty::Id: { + float value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Uncertainty", 1, value); + } + case NitrogenDioxideConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::NitrogenDioxideConcentrationMeasurement::MeasurementUnitEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MeasurementUnit", 1, value); + } + case NitrogenDioxideConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::NitrogenDioxideConcentrationMeasurement::MeasurementMediumEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MeasurementMedium", 1, value); + } + case NitrogenDioxideConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::NitrogenDioxideConcentrationMeasurement::LevelValueEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LevelValue", 1, value); + } + case NitrogenDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TemperatureMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, + NitrogenDioxideConcentrationMeasurement::Id); } - case TemperatureMeasurement::Attributes::AcceptedCommandList::Id: { + case NitrogenDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TemperatureMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, + NitrogenDioxideConcentrationMeasurement::Id); } - case TemperatureMeasurement::Attributes::EventList::Id: { + case NitrogenDioxideConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case TemperatureMeasurement::Attributes::AttributeList::Id: { + case NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, TemperatureMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, NitrogenDioxideConcentrationMeasurement::Id); } - case TemperatureMeasurement::Attributes::FeatureMap::Id: { + case NitrogenDioxideConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case TemperatureMeasurement::Attributes::ClusterRevision::Id: { + case NitrogenDioxideConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16043,80 +17908,90 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case PressureMeasurement::Id: { + case OzoneConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case PressureMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case OzoneConcentrationMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case PressureMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case OzoneConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case PressureMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case OzoneConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case PressureMeasurement::Attributes::Tolerance::Id: { - uint16_t value; + case OzoneConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Tolerance", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case PressureMeasurement::Attributes::ScaledValue::Id: { - chip::app::DataModel::Nullable value; + case OzoneConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScaledValue", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case PressureMeasurement::Attributes::MinScaledValue::Id: { - chip::app::DataModel::Nullable value; + case OzoneConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinScaledValue", 1, value); + return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case PressureMeasurement::Attributes::MaxScaledValue::Id: { - chip::app::DataModel::Nullable value; + case OzoneConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxScaledValue", 1, value); + return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - case PressureMeasurement::Attributes::ScaledTolerance::Id: { - uint16_t value; + case OzoneConcentrationMeasurement::Attributes::Uncertainty::Id: { + float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScaledTolerance", 1, value); + return DataModelLogger::LogValue("Uncertainty", 1, value); } - case PressureMeasurement::Attributes::Scale::Id: { - int8_t value; + case OzoneConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::OzoneConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Scale", 1, value); + return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case PressureMeasurement::Attributes::GeneratedCommandList::Id: { + case OzoneConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::OzoneConcentrationMeasurement::MeasurementMediumEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MeasurementMedium", 1, value); + } + case OzoneConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::OzoneConcentrationMeasurement::LevelValueEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LevelValue", 1, value); + } + case OzoneConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PressureMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OzoneConcentrationMeasurement::Id); } - case PressureMeasurement::Attributes::AcceptedCommandList::Id: { + case OzoneConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PressureMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OzoneConcentrationMeasurement::Id); } - case PressureMeasurement::Attributes::EventList::Id: { + case OzoneConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case PressureMeasurement::Attributes::AttributeList::Id: { + case OzoneConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, PressureMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, OzoneConcentrationMeasurement::Id); } - case PressureMeasurement::Attributes::FeatureMap::Id: { + case OzoneConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case PressureMeasurement::Attributes::ClusterRevision::Id: { + case OzoneConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16124,111 +17999,90 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case FlowMeasurement::Id: { + case Pm25ConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case FlowMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Pm25ConcentrationMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case FlowMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Pm25ConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case FlowMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Pm25ConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case FlowMeasurement::Attributes::Tolerance::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Tolerance", 1, value); - } - case FlowMeasurement::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, FlowMeasurement::Id); - } - case FlowMeasurement::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case Pm25ConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FlowMeasurement::Id); + return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case FlowMeasurement::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case Pm25ConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case FlowMeasurement::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case Pm25ConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, FlowMeasurement::Id); + return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case FlowMeasurement::Attributes::FeatureMap::Id: { + case Pm25ConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); - } - case FlowMeasurement::Attributes::ClusterRevision::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); - } + return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - break; - } - case RelativeHumidityMeasurement::Id: { - switch (path.mAttributeId) - { - case RelativeHumidityMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Pm25ConcentrationMeasurement::Attributes::Uncertainty::Id: { + float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasuredValue", 1, value); + return DataModelLogger::LogValue("Uncertainty", 1, value); } - case RelativeHumidityMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Pm25ConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::Pm25ConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinMeasuredValue", 1, value); + return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Pm25ConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::Pm25ConcentrationMeasurement::MeasurementMediumEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); + return DataModelLogger::LogValue("MeasurementMedium", 1, value); } - case RelativeHumidityMeasurement::Attributes::Tolerance::Id: { - uint16_t value; + case Pm25ConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::Pm25ConcentrationMeasurement::LevelValueEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Tolerance", 1, value); + return DataModelLogger::LogValue("LevelValue", 1, value); } - case RelativeHumidityMeasurement::Attributes::GeneratedCommandList::Id: { + case Pm25ConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RelativeHumidityMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Pm25ConcentrationMeasurement::Id); } - case RelativeHumidityMeasurement::Attributes::AcceptedCommandList::Id: { + case Pm25ConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RelativeHumidityMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Pm25ConcentrationMeasurement::Id); } - case RelativeHumidityMeasurement::Attributes::EventList::Id: { + case Pm25ConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case RelativeHumidityMeasurement::Attributes::AttributeList::Id: { + case Pm25ConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, RelativeHumidityMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Pm25ConcentrationMeasurement::Id); } - case RelativeHumidityMeasurement::Attributes::FeatureMap::Id: { + case Pm25ConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case RelativeHumidityMeasurement::Attributes::ClusterRevision::Id: { + case Pm25ConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16236,105 +18090,91 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OccupancySensing::Id: { + case FormaldehydeConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case OccupancySensing::Attributes::Occupancy::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Occupancy", 1, value); - } - case OccupancySensing::Attributes::OccupancySensorType::Id: { - chip::app::Clusters::OccupancySensing::OccupancySensorTypeEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OccupancySensorType", 1, value); - } - case OccupancySensing::Attributes::OccupancySensorTypeBitmap::Id: { - chip::BitMask value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OccupancySensorTypeBitmap", 1, value); - } - case OccupancySensing::Attributes::HoldTime::Id: { - uint16_t value; + case FormaldehydeConcentrationMeasurement::Attributes::MeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HoldTime", 1, value); + return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case OccupancySensing::Attributes::HoldTimeLimits::Id: { - chip::app::Clusters::OccupancySensing::Structs::HoldTimeLimitsStruct::DecodableType value; + case FormaldehydeConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("HoldTimeLimits", 1, value); + return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case OccupancySensing::Attributes::PIROccupiedToUnoccupiedDelay::Id: { - uint16_t value; + case FormaldehydeConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PIROccupiedToUnoccupiedDelay", 1, value); + return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case OccupancySensing::Attributes::PIRUnoccupiedToOccupiedDelay::Id: { - uint16_t value; + case FormaldehydeConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PIRUnoccupiedToOccupiedDelay", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case OccupancySensing::Attributes::PIRUnoccupiedToOccupiedThreshold::Id: { - uint8_t value; + case FormaldehydeConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PIRUnoccupiedToOccupiedThreshold", 1, value); + return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case OccupancySensing::Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id: { - uint16_t value; + case FormaldehydeConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UltrasonicOccupiedToUnoccupiedDelay", 1, value); + return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id: { - uint16_t value; + case FormaldehydeConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UltrasonicUnoccupiedToOccupiedDelay", 1, value); + return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - case OccupancySensing::Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id: { - uint8_t value; + case FormaldehydeConcentrationMeasurement::Attributes::Uncertainty::Id: { + float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("UltrasonicUnoccupiedToOccupiedThreshold", 1, value); - } - case OccupancySensing::Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id: { - uint16_t value; + return DataModelLogger::LogValue("Uncertainty", 1, value); + } + case FormaldehydeConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::FormaldehydeConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhysicalContactOccupiedToUnoccupiedDelay", 1, value); + return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id: { - uint16_t value; + case FormaldehydeConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::FormaldehydeConcentrationMeasurement::MeasurementMediumEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhysicalContactUnoccupiedToOccupiedDelay", 1, value); + return DataModelLogger::LogValue("MeasurementMedium", 1, value); } - case OccupancySensing::Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id: { - uint8_t value; + case FormaldehydeConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::FormaldehydeConcentrationMeasurement::LevelValueEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PhysicalContactUnoccupiedToOccupiedThreshold", 1, value); + return DataModelLogger::LogValue("LevelValue", 1, value); } - case OccupancySensing::Attributes::GeneratedCommandList::Id: { + case FormaldehydeConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OccupancySensing::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, + FormaldehydeConcentrationMeasurement::Id); } - case OccupancySensing::Attributes::AcceptedCommandList::Id: { + case FormaldehydeConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OccupancySensing::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FormaldehydeConcentrationMeasurement::Id); } - case OccupancySensing::Attributes::EventList::Id: { + case FormaldehydeConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OccupancySensing::Attributes::AttributeList::Id: { + case FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OccupancySensing::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, FormaldehydeConcentrationMeasurement::Id); } - case OccupancySensing::Attributes::FeatureMap::Id: { + case FormaldehydeConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OccupancySensing::Attributes::ClusterRevision::Id: { + case FormaldehydeConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16342,92 +18182,90 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case CarbonMonoxideConcentrationMeasurement::Id: { + case Pm1ConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::Id: { + case Pm1ConcentrationMeasurement::Attributes::MeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + case Pm1ConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + case Pm1ConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + case Pm1ConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + case Pm1ConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + case Pm1ConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + case Pm1ConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::Uncertainty::Id: { + case Pm1ConcentrationMeasurement::Attributes::Uncertainty::Id: { float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Uncertainty", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::CarbonMonoxideConcentrationMeasurement::MeasurementUnitEnum value; + case Pm1ConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::Pm1ConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::CarbonMonoxideConcentrationMeasurement::MeasurementMediumEnum value; + case Pm1ConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::Pm1ConcentrationMeasurement::MeasurementMediumEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementMedium", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::CarbonMonoxideConcentrationMeasurement::LevelValueEnum value; + case Pm1ConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::Pm1ConcentrationMeasurement::LevelValueEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LevelValue", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case Pm1ConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, - CarbonMonoxideConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Pm1ConcentrationMeasurement::Id); } - case CarbonMonoxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case Pm1ConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, - CarbonMonoxideConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Pm1ConcentrationMeasurement::Id); } - case CarbonMonoxideConcentrationMeasurement::Attributes::EventList::Id: { + case Pm1ConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id: { + case Pm1ConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, CarbonMonoxideConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Pm1ConcentrationMeasurement::Id); } - case CarbonMonoxideConcentrationMeasurement::Attributes::FeatureMap::Id: { + case Pm1ConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case CarbonMonoxideConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case Pm1ConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16435,92 +18273,90 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case CarbonDioxideConcentrationMeasurement::Id: { + case Pm10ConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case CarbonDioxideConcentrationMeasurement::Attributes::MeasuredValue::Id: { + case Pm10ConcentrationMeasurement::Attributes::MeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + case Pm10ConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + case Pm10ConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + case Pm10ConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + case Pm10ConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + case Pm10ConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + case Pm10ConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::Uncertainty::Id: { + case Pm10ConcentrationMeasurement::Attributes::Uncertainty::Id: { float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Uncertainty", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::CarbonDioxideConcentrationMeasurement::MeasurementUnitEnum value; + case Pm10ConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::Pm10ConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::CarbonDioxideConcentrationMeasurement::MeasurementMediumEnum value; + case Pm10ConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::Pm10ConcentrationMeasurement::MeasurementMediumEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementMedium", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::CarbonDioxideConcentrationMeasurement::LevelValueEnum value; + case Pm10ConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::Pm10ConcentrationMeasurement::LevelValueEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LevelValue", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case Pm10ConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, - CarbonDioxideConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Pm10ConcentrationMeasurement::Id); } - case CarbonDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case Pm10ConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, - CarbonDioxideConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Pm10ConcentrationMeasurement::Id); } - case CarbonDioxideConcentrationMeasurement::Attributes::EventList::Id: { + case Pm10ConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id: { + case Pm10ConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, CarbonDioxideConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Pm10ConcentrationMeasurement::Id); } - case CarbonDioxideConcentrationMeasurement::Attributes::FeatureMap::Id: { + case Pm10ConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case CarbonDioxideConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case Pm10ConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16528,92 +18364,93 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case NitrogenDioxideConcentrationMeasurement::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case NitrogenDioxideConcentrationMeasurement::Attributes::MeasuredValue::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::Uncertainty::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::Uncertainty::Id: { float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Uncertainty", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::NitrogenDioxideConcentrationMeasurement::MeasurementUnitEnum value; + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::NitrogenDioxideConcentrationMeasurement::MeasurementMediumEnum value; + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement::MeasurementMediumEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementMedium", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::NitrogenDioxideConcentrationMeasurement::LevelValueEnum value; + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement::LevelValueEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LevelValue", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, - NitrogenDioxideConcentrationMeasurement::Id); + TotalVolatileOrganicCompoundsConcentrationMeasurement::Id); } - case NitrogenDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, - NitrogenDioxideConcentrationMeasurement::Id); + TotalVolatileOrganicCompoundsConcentrationMeasurement::Id); } - case NitrogenDioxideConcentrationMeasurement::Attributes::EventList::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, NitrogenDioxideConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, + TotalVolatileOrganicCompoundsConcentrationMeasurement::Id); } - case NitrogenDioxideConcentrationMeasurement::Attributes::FeatureMap::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case NitrogenDioxideConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16621,90 +18458,136 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case OzoneConcentrationMeasurement::Id: { + case RadonConcentrationMeasurement::Id: { switch (path.mAttributeId) { - case OzoneConcentrationMeasurement::Attributes::MeasuredValue::Id: { + case RadonConcentrationMeasurement::Attributes::MeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasuredValue", 1, value); } - case OzoneConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { + case RadonConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MinMeasuredValue", 1, value); } - case OzoneConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { + case RadonConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); } - case OzoneConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { + case RadonConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); } - case OzoneConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { + case RadonConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); } - case OzoneConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { + case RadonConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); } - case OzoneConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + case RadonConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); } - case OzoneConcentrationMeasurement::Attributes::Uncertainty::Id: { + case RadonConcentrationMeasurement::Attributes::Uncertainty::Id: { float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Uncertainty", 1, value); } - case OzoneConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::OzoneConcentrationMeasurement::MeasurementUnitEnum value; + case RadonConcentrationMeasurement::Attributes::MeasurementUnit::Id: { + chip::app::Clusters::RadonConcentrationMeasurement::MeasurementUnitEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case OzoneConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::OzoneConcentrationMeasurement::MeasurementMediumEnum value; + case RadonConcentrationMeasurement::Attributes::MeasurementMedium::Id: { + chip::app::Clusters::RadonConcentrationMeasurement::MeasurementMediumEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("MeasurementMedium", 1, value); } - case OzoneConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::OzoneConcentrationMeasurement::LevelValueEnum value; + case RadonConcentrationMeasurement::Attributes::LevelValue::Id: { + chip::app::Clusters::RadonConcentrationMeasurement::LevelValueEnum value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("LevelValue", 1, value); + } + case RadonConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RadonConcentrationMeasurement::Id); + } + case RadonConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RadonConcentrationMeasurement::Id); + } + case RadonConcentrationMeasurement::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("EventList", 1, value); + } + case RadonConcentrationMeasurement::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, RadonConcentrationMeasurement::Id); + } + case RadonConcentrationMeasurement::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case RadonConcentrationMeasurement::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case WiFiNetworkManagement::Id: { + switch (path.mAttributeId) + { + case WiFiNetworkManagement::Attributes::Ssid::Id: { + chip::app::DataModel::Nullable value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SSID", 1, value); + } + case WiFiNetworkManagement::Attributes::PassphraseSurrogate::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelValue", 1, value); + return DataModelLogger::LogValue("PassphraseSurrogate", 1, value); } - case OzoneConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case WiFiNetworkManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, OzoneConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WiFiNetworkManagement::Id); } - case OzoneConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case WiFiNetworkManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, OzoneConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WiFiNetworkManagement::Id); } - case OzoneConcentrationMeasurement::Attributes::EventList::Id: { + case WiFiNetworkManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case OzoneConcentrationMeasurement::Attributes::AttributeList::Id: { + case WiFiNetworkManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, OzoneConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WiFiNetworkManagement::Id); } - case OzoneConcentrationMeasurement::Attributes::FeatureMap::Id: { + case WiFiNetworkManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case OzoneConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case WiFiNetworkManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16712,90 +18595,65 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Pm25ConcentrationMeasurement::Id: { + case ThreadBorderRouterManagement::Id: { switch (path.mAttributeId) { - case Pm25ConcentrationMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasuredValue", 1, value); - } - case Pm25ConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinMeasuredValue", 1, value); - } - case Pm25ConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); - } - case Pm25ConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); - } - case Pm25ConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { - uint32_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); - } - case Pm25ConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ThreadBorderRouterManagement::Attributes::BorderRouterName::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + return DataModelLogger::LogValue("BorderRouterName", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { - uint32_t value; + case ThreadBorderRouterManagement::Attributes::BorderAgentID::Id: { + chip::ByteSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + return DataModelLogger::LogValue("BorderAgentID", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::Uncertainty::Id: { - float value; + case ThreadBorderRouterManagement::Attributes::ThreadVersion::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Uncertainty", 1, value); + return DataModelLogger::LogValue("ThreadVersion", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::Pm25ConcentrationMeasurement::MeasurementUnitEnum value; + case ThreadBorderRouterManagement::Attributes::InterfaceEnabled::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementUnit", 1, value); + return DataModelLogger::LogValue("InterfaceEnabled", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::Pm25ConcentrationMeasurement::MeasurementMediumEnum value; + case ThreadBorderRouterManagement::Attributes::ActiveDatasetTimestamp::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementMedium", 1, value); + return DataModelLogger::LogValue("ActiveDatasetTimestamp", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::Pm25ConcentrationMeasurement::LevelValueEnum value; + case ThreadBorderRouterManagement::Attributes::PendingDatasetTimestamp::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelValue", 1, value); + return DataModelLogger::LogValue("PendingDatasetTimestamp", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case ThreadBorderRouterManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Pm25ConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ThreadBorderRouterManagement::Id); } - case Pm25ConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case ThreadBorderRouterManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Pm25ConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThreadBorderRouterManagement::Id); } - case Pm25ConcentrationMeasurement::Attributes::EventList::Id: { + case ThreadBorderRouterManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::AttributeList::Id: { + case ThreadBorderRouterManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Pm25ConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThreadBorderRouterManagement::Id); } - case Pm25ConcentrationMeasurement::Attributes::FeatureMap::Id: { + case ThreadBorderRouterManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Pm25ConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case ThreadBorderRouterManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16803,91 +18661,98 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case FormaldehydeConcentrationMeasurement::Id: { + case ThreadNetworkDirectory::Id: { switch (path.mAttributeId) { - case FormaldehydeConcentrationMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDirectory::Attributes::PreferredExtendedPanID::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasuredValue", 1, value); + return DataModelLogger::LogValue("PreferredExtendedPanID", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDirectory::Attributes::ThreadNetworks::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDirectory::Structs::ThreadNetworkStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinMeasuredValue", 1, value); + return DataModelLogger::LogValue("ThreadNetworks", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDirectory::Attributes::ThreadNetworkTableSize::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); + return DataModelLogger::LogValue("ThreadNetworkTableSize", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDirectory::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ThreadNetworkDirectory::Id); } - case FormaldehydeConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { - uint32_t value; + case ThreadNetworkDirectory::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThreadNetworkDirectory::Id); } - case FormaldehydeConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ThreadNetworkDirectory::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { - uint32_t value; + case ThreadNetworkDirectory::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThreadNetworkDirectory::Id); } - case FormaldehydeConcentrationMeasurement::Attributes::Uncertainty::Id: { - float value; + case ThreadNetworkDirectory::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Uncertainty", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::FormaldehydeConcentrationMeasurement::MeasurementUnitEnum value; + case ThreadNetworkDirectory::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementUnit", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::FormaldehydeConcentrationMeasurement::MeasurementMediumEnum value; + } + break; + } + case WakeOnLan::Id: { + switch (path.mAttributeId) + { + case WakeOnLan::Attributes::MACAddress::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementMedium", 1, value); + return DataModelLogger::LogValue("MACAddress", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::FormaldehydeConcentrationMeasurement::LevelValueEnum value; + case WakeOnLan::Attributes::LinkLocalAddress::Id: { + chip::ByteSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelValue", 1, value); + return DataModelLogger::LogValue("LinkLocalAddress", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case WakeOnLan::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, - FormaldehydeConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WakeOnLan::Id); } - case FormaldehydeConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case WakeOnLan::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, FormaldehydeConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WakeOnLan::Id); } - case FormaldehydeConcentrationMeasurement::Attributes::EventList::Id: { + case WakeOnLan::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id: { + case WakeOnLan::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, FormaldehydeConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WakeOnLan::Id); } - case FormaldehydeConcentrationMeasurement::Attributes::FeatureMap::Id: { + case WakeOnLan::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case FormaldehydeConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case WakeOnLan::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16895,90 +18760,97 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Pm1ConcentrationMeasurement::Id: { + case Channel::Id: { switch (path.mAttributeId) { - case Pm1ConcentrationMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Channel::Attributes::ChannelList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasuredValue", 1, value); + return DataModelLogger::LogValue("ChannelList", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Channel::Attributes::Lineup::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinMeasuredValue", 1, value); + return DataModelLogger::LogValue("Lineup", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Channel::Attributes::CurrentChannel::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); + return DataModelLogger::LogValue("CurrentChannel", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Channel::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Channel::Id); } - case Pm1ConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { - uint32_t value; + case Channel::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Channel::Id); } - case Pm1ConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case Channel::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { - uint32_t value; + case Channel::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Channel::Id); } - case Pm1ConcentrationMeasurement::Attributes::Uncertainty::Id: { - float value; + case Channel::Attributes::FeatureMap::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Uncertainty", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::Pm1ConcentrationMeasurement::MeasurementUnitEnum value; + case Channel::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementUnit", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::Pm1ConcentrationMeasurement::MeasurementMediumEnum value; + } + break; + } + case TargetNavigator::Id: { + switch (path.mAttributeId) + { + case TargetNavigator::Attributes::TargetList::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementMedium", 1, value); + return DataModelLogger::LogValue("TargetList", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::Pm1ConcentrationMeasurement::LevelValueEnum value; + case TargetNavigator::Attributes::CurrentTarget::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelValue", 1, value); + return DataModelLogger::LogValue("CurrentTarget", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case TargetNavigator::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Pm1ConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TargetNavigator::Id); } - case Pm1ConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case TargetNavigator::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Pm1ConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TargetNavigator::Id); } - case Pm1ConcentrationMeasurement::Attributes::EventList::Id: { + case TargetNavigator::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::AttributeList::Id: { + case TargetNavigator::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Pm1ConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, TargetNavigator::Id); } - case Pm1ConcentrationMeasurement::Attributes::FeatureMap::Id: { + case TargetNavigator::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Pm1ConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case TargetNavigator::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -16986,90 +18858,95 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case Pm10ConcentrationMeasurement::Id: { + case MediaPlayback::Id: { switch (path.mAttributeId) { - case Pm10ConcentrationMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaPlayback::Attributes::CurrentState::Id: { + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasuredValue", 1, value); + return DataModelLogger::LogValue("CurrentState", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaPlayback::Attributes::StartTime::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinMeasuredValue", 1, value); + return DataModelLogger::LogValue("StartTime", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaPlayback::Attributes::Duration::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); + return DataModelLogger::LogValue("Duration", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaPlayback::Attributes::SampledPosition::Id: { + chip::app::DataModel::Nullable + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); + return DataModelLogger::LogValue("SampledPosition", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { - uint32_t value; + case MediaPlayback::Attributes::PlaybackSpeed::Id: { + float value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); + return DataModelLogger::LogValue("PlaybackSpeed", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaPlayback::Attributes::SeekRangeEnd::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + return DataModelLogger::LogValue("SeekRangeEnd", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { - uint32_t value; + case MediaPlayback::Attributes::SeekRangeStart::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + return DataModelLogger::LogValue("SeekRangeStart", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::Uncertainty::Id: { - float value; + case MediaPlayback::Attributes::ActiveAudioTrack::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Uncertainty", 1, value); + return DataModelLogger::LogValue("ActiveAudioTrack", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::Pm10ConcentrationMeasurement::MeasurementUnitEnum value; + case MediaPlayback::Attributes::AvailableAudioTracks::Id: { + chip::app::DataModel::Nullable< + chip::app::DataModel::DecodableList> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementUnit", 1, value); + return DataModelLogger::LogValue("AvailableAudioTracks", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::Pm10ConcentrationMeasurement::MeasurementMediumEnum value; + case MediaPlayback::Attributes::ActiveTextTrack::Id: { + chip::app::DataModel::Nullable value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementMedium", 1, value); + return DataModelLogger::LogValue("ActiveTextTrack", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::Pm10ConcentrationMeasurement::LevelValueEnum value; + case MediaPlayback::Attributes::AvailableTextTracks::Id: { + chip::app::DataModel::Nullable< + chip::app::DataModel::DecodableList> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelValue", 1, value); + return DataModelLogger::LogValue("AvailableTextTracks", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case MediaPlayback::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Pm10ConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MediaPlayback::Id); } - case Pm10ConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case MediaPlayback::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Pm10ConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MediaPlayback::Id); } - case Pm10ConcentrationMeasurement::Attributes::EventList::Id: { + case MediaPlayback::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::AttributeList::Id: { + case MediaPlayback::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Pm10ConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, MediaPlayback::Id); } - case Pm10ConcentrationMeasurement::Attributes::FeatureMap::Id: { + case MediaPlayback::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Pm10ConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case MediaPlayback::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17077,93 +18954,117 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Id: { + case MediaInput::Id: { switch (path.mAttributeId) { - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaInput::Attributes::InputList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasuredValue", 1, value); + return DataModelLogger::LogValue("InputList", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaInput::Attributes::CurrentInput::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinMeasuredValue", 1, value); + return DataModelLogger::LogValue("CurrentInput", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaInput::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MediaInput::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaInput::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MediaInput::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { - uint32_t value; + case MediaInput::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case MediaInput::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, MediaInput::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + case MediaInput::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::Uncertainty::Id: { - float value; + case MediaInput::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Uncertainty", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement::MeasurementUnitEnum value; + } + break; + } + case LowPower::Id: { + switch (path.mAttributeId) + { + case LowPower::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementUnit", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LowPower::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement::MeasurementMediumEnum value; + case LowPower::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementMedium", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LowPower::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement::LevelValueEnum value; + case LowPower::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelValue", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case LowPower::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, LowPower::Id); + } + case LowPower::Attributes::FeatureMap::Id: { + uint32_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FeatureMap", 1, value); + } + case LowPower::Attributes::ClusterRevision::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ClusterRevision", 1, value); + } + } + break; + } + case KeypadInput::Id: { + switch (path.mAttributeId) + { + case KeypadInput::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, - TotalVolatileOrganicCompoundsConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, KeypadInput::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case KeypadInput::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, - TotalVolatileOrganicCompoundsConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, KeypadInput::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::EventList::Id: { + case KeypadInput::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id: { + case KeypadInput::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, - TotalVolatileOrganicCompoundsConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, KeypadInput::Id); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::FeatureMap::Id: { + case KeypadInput::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case KeypadInput::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17171,90 +19072,91 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case RadonConcentrationMeasurement::Id: { + case ContentLauncher::Id: { switch (path.mAttributeId) { - case RadonConcentrationMeasurement::Attributes::MeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ContentLauncher::Attributes::AcceptHeader::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasuredValue", 1, value); + return DataModelLogger::LogValue("AcceptHeader", 1, value); } - case RadonConcentrationMeasurement::Attributes::MinMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ContentLauncher::Attributes::SupportedStreamingProtocols::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MinMeasuredValue", 1, value); + return DataModelLogger::LogValue("SupportedStreamingProtocols", 1, value); } - case RadonConcentrationMeasurement::Attributes::MaxMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ContentLauncher::Attributes::GeneratedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MaxMeasuredValue", 1, value); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ContentLauncher::Id); } - case RadonConcentrationMeasurement::Attributes::PeakMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ContentLauncher::Attributes::AcceptedCommandList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValue", 1, value); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ContentLauncher::Id); } - case RadonConcentrationMeasurement::Attributes::PeakMeasuredValueWindow::Id: { - uint32_t value; + case ContentLauncher::Attributes::EventList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PeakMeasuredValueWindow", 1, value); + return DataModelLogger::LogValue("EventList", 1, value); } - case RadonConcentrationMeasurement::Attributes::AverageMeasuredValue::Id: { - chip::app::DataModel::Nullable value; + case ContentLauncher::Attributes::AttributeList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValue", 1, value); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ContentLauncher::Id); } - case RadonConcentrationMeasurement::Attributes::AverageMeasuredValueWindow::Id: { + case ContentLauncher::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AverageMeasuredValueWindow", 1, value); + return DataModelLogger::LogValue("FeatureMap", 1, value); } - case RadonConcentrationMeasurement::Attributes::Uncertainty::Id: { - float value; + case ContentLauncher::Attributes::ClusterRevision::Id: { + uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Uncertainty", 1, value); + return DataModelLogger::LogValue("ClusterRevision", 1, value); } - case RadonConcentrationMeasurement::Attributes::MeasurementUnit::Id: { - chip::app::Clusters::RadonConcentrationMeasurement::MeasurementUnitEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementUnit", 1, value); } - case RadonConcentrationMeasurement::Attributes::MeasurementMedium::Id: { - chip::app::Clusters::RadonConcentrationMeasurement::MeasurementMediumEnum value; + break; + } + case AudioOutput::Id: { + switch (path.mAttributeId) + { + case AudioOutput::Attributes::OutputList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MeasurementMedium", 1, value); + return DataModelLogger::LogValue("OutputList", 1, value); } - case RadonConcentrationMeasurement::Attributes::LevelValue::Id: { - chip::app::Clusters::RadonConcentrationMeasurement::LevelValueEnum value; + case AudioOutput::Attributes::CurrentOutput::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LevelValue", 1, value); + return DataModelLogger::LogValue("CurrentOutput", 1, value); } - case RadonConcentrationMeasurement::Attributes::GeneratedCommandList::Id: { + case AudioOutput::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, RadonConcentrationMeasurement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AudioOutput::Id); } - case RadonConcentrationMeasurement::Attributes::AcceptedCommandList::Id: { + case AudioOutput::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, RadonConcentrationMeasurement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AudioOutput::Id); } - case RadonConcentrationMeasurement::Attributes::EventList::Id: { + case AudioOutput::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case RadonConcentrationMeasurement::Attributes::AttributeList::Id: { + case AudioOutput::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, RadonConcentrationMeasurement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, AudioOutput::Id); } - case RadonConcentrationMeasurement::Attributes::FeatureMap::Id: { + case AudioOutput::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case RadonConcentrationMeasurement::Attributes::ClusterRevision::Id: { + case AudioOutput::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17262,45 +19164,46 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case WiFiNetworkManagement::Id: { + case ApplicationLauncher::Id: { switch (path.mAttributeId) { - case WiFiNetworkManagement::Attributes::Ssid::Id: { - chip::app::DataModel::Nullable value; + case ApplicationLauncher::Attributes::CatalogList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SSID", 1, value); + return DataModelLogger::LogValue("CatalogList", 1, value); } - case WiFiNetworkManagement::Attributes::PassphraseSurrogate::Id: { - chip::app::DataModel::Nullable value; + case ApplicationLauncher::Attributes::CurrentApp::Id: { + chip::app::DataModel::Nullable + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PassphraseSurrogate", 1, value); + return DataModelLogger::LogValue("CurrentApp", 1, value); } - case WiFiNetworkManagement::Attributes::GeneratedCommandList::Id: { + case ApplicationLauncher::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WiFiNetworkManagement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ApplicationLauncher::Id); } - case WiFiNetworkManagement::Attributes::AcceptedCommandList::Id: { + case ApplicationLauncher::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WiFiNetworkManagement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ApplicationLauncher::Id); } - case WiFiNetworkManagement::Attributes::EventList::Id: { + case ApplicationLauncher::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case WiFiNetworkManagement::Attributes::AttributeList::Id: { + case ApplicationLauncher::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, WiFiNetworkManagement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ApplicationLauncher::Id); } - case WiFiNetworkManagement::Attributes::FeatureMap::Id: { + case ApplicationLauncher::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case WiFiNetworkManagement::Attributes::ClusterRevision::Id: { + case ApplicationLauncher::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17308,65 +19211,75 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ThreadBorderRouterManagement::Id: { + case ApplicationBasic::Id: { switch (path.mAttributeId) { - case ThreadBorderRouterManagement::Attributes::BorderRouterName::Id: { + case ApplicationBasic::Attributes::VendorName::Id: { chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BorderRouterName", 1, value); + return DataModelLogger::LogValue("VendorName", 1, value); } - case ThreadBorderRouterManagement::Attributes::BorderAgentID::Id: { - chip::ByteSpan value; + case ApplicationBasic::Attributes::VendorID::Id: { + chip::VendorId value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BorderAgentID", 1, value); + return DataModelLogger::LogValue("VendorID", 1, value); } - case ThreadBorderRouterManagement::Attributes::ThreadVersion::Id: { + case ApplicationBasic::Attributes::ApplicationName::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ApplicationName", 1, value); + } + case ApplicationBasic::Attributes::ProductID::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThreadVersion", 1, value); + return DataModelLogger::LogValue("ProductID", 1, value); } - case ThreadBorderRouterManagement::Attributes::InterfaceEnabled::Id: { - bool value; + case ApplicationBasic::Attributes::Application::Id: { + chip::app::Clusters::ApplicationBasic::Structs::ApplicationStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InterfaceEnabled", 1, value); + return DataModelLogger::LogValue("Application", 1, value); } - case ThreadBorderRouterManagement::Attributes::ActiveDatasetTimestamp::Id: { - chip::app::DataModel::Nullable value; + case ApplicationBasic::Attributes::Status::Id: { + chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveDatasetTimestamp", 1, value); + return DataModelLogger::LogValue("Status", 1, value); } - case ThreadBorderRouterManagement::Attributes::PendingDatasetTimestamp::Id: { - chip::app::DataModel::Nullable value; + case ApplicationBasic::Attributes::ApplicationVersion::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PendingDatasetTimestamp", 1, value); + return DataModelLogger::LogValue("ApplicationVersion", 1, value); } - case ThreadBorderRouterManagement::Attributes::GeneratedCommandList::Id: { + case ApplicationBasic::Attributes::AllowedVendorList::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AllowedVendorList", 1, value); + } + case ApplicationBasic::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ThreadBorderRouterManagement::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ApplicationBasic::Id); } - case ThreadBorderRouterManagement::Attributes::AcceptedCommandList::Id: { + case ApplicationBasic::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThreadBorderRouterManagement::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ApplicationBasic::Id); } - case ThreadBorderRouterManagement::Attributes::EventList::Id: { + case ApplicationBasic::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ThreadBorderRouterManagement::Attributes::AttributeList::Id: { + case ApplicationBasic::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThreadBorderRouterManagement::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ApplicationBasic::Id); } - case ThreadBorderRouterManagement::Attributes::FeatureMap::Id: { + case ApplicationBasic::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ThreadBorderRouterManagement::Attributes::ClusterRevision::Id: { + case ApplicationBasic::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17374,52 +19287,35 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ThreadNetworkDirectory::Id: { + case AccountLogin::Id: { switch (path.mAttributeId) { - case ThreadNetworkDirectory::Attributes::PreferredExtendedPanID::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PreferredExtendedPanID", 1, value); - } - case ThreadNetworkDirectory::Attributes::ThreadNetworks::Id: { - chip::app::DataModel::DecodableList< - chip::app::Clusters::ThreadNetworkDirectory::Structs::ThreadNetworkStruct::DecodableType> - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThreadNetworks", 1, value); - } - case ThreadNetworkDirectory::Attributes::ThreadNetworkTableSize::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ThreadNetworkTableSize", 1, value); - } - case ThreadNetworkDirectory::Attributes::GeneratedCommandList::Id: { + case AccountLogin::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ThreadNetworkDirectory::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AccountLogin::Id); } - case ThreadNetworkDirectory::Attributes::AcceptedCommandList::Id: { + case AccountLogin::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ThreadNetworkDirectory::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AccountLogin::Id); } - case ThreadNetworkDirectory::Attributes::EventList::Id: { + case AccountLogin::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ThreadNetworkDirectory::Attributes::AttributeList::Id: { + case AccountLogin::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ThreadNetworkDirectory::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, AccountLogin::Id); } - case ThreadNetworkDirectory::Attributes::FeatureMap::Id: { + case AccountLogin::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ThreadNetworkDirectory::Attributes::ClusterRevision::Id: { + case AccountLogin::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17427,96 +19323,77 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case WakeOnLan::Id: { + case ContentControl::Id: { switch (path.mAttributeId) { - case WakeOnLan::Attributes::MACAddress::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("MACAddress", 1, value); - } - case WakeOnLan::Attributes::LinkLocalAddress::Id: { - chip::ByteSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("LinkLocalAddress", 1, value); - } - case WakeOnLan::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WakeOnLan::Id); - } - case WakeOnLan::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WakeOnLan::Id); - } - case WakeOnLan::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case ContentControl::Attributes::Enabled::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("Enabled", 1, value); } - case WakeOnLan::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case ContentControl::Attributes::OnDemandRatings::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, WakeOnLan::Id); + return DataModelLogger::LogValue("OnDemandRatings", 1, value); } - case WakeOnLan::Attributes::FeatureMap::Id: { - uint32_t value; + case ContentControl::Attributes::OnDemandRatingThreshold::Id: { + chip::CharSpan value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("OnDemandRatingThreshold", 1, value); } - case WakeOnLan::Attributes::ClusterRevision::Id: { - uint16_t value; + case ContentControl::Attributes::ScheduledContentRatings::Id: { + chip::app::DataModel::DecodableList + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("ScheduledContentRatings", 1, value); } + case ContentControl::Attributes::ScheduledContentRatingThreshold::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ScheduledContentRatingThreshold", 1, value); } - break; - } - case Channel::Id: { - switch (path.mAttributeId) - { - case Channel::Attributes::ChannelList::Id: { - chip::app::DataModel::DecodableList value; + case ContentControl::Attributes::ScreenDailyTime::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ChannelList", 1, value); + return DataModelLogger::LogValue("ScreenDailyTime", 1, value); } - case Channel::Attributes::Lineup::Id: { - chip::app::DataModel::Nullable value; + case ContentControl::Attributes::RemainingScreenTime::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Lineup", 1, value); + return DataModelLogger::LogValue("RemainingScreenTime", 1, value); } - case Channel::Attributes::CurrentChannel::Id: { - chip::app::DataModel::Nullable value; + case ContentControl::Attributes::BlockUnrated::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentChannel", 1, value); + return DataModelLogger::LogValue("BlockUnrated", 1, value); } - case Channel::Attributes::GeneratedCommandList::Id: { + case ContentControl::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Channel::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ContentControl::Id); } - case Channel::Attributes::AcceptedCommandList::Id: { + case ContentControl::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Channel::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ContentControl::Id); } - case Channel::Attributes::EventList::Id: { + case ContentControl::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case Channel::Attributes::AttributeList::Id: { + case ContentControl::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, Channel::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ContentControl::Id); } - case Channel::Attributes::FeatureMap::Id: { + case ContentControl::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case Channel::Attributes::ClusterRevision::Id: { + case ContentControl::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17524,46 +19401,35 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case TargetNavigator::Id: { + case ContentAppObserver::Id: { switch (path.mAttributeId) { - case TargetNavigator::Attributes::TargetList::Id: { - chip::app::DataModel::DecodableList - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("TargetList", 1, value); - } - case TargetNavigator::Attributes::CurrentTarget::Id: { - uint8_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentTarget", 1, value); - } - case TargetNavigator::Attributes::GeneratedCommandList::Id: { + case ContentAppObserver::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, TargetNavigator::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ContentAppObserver::Id); } - case TargetNavigator::Attributes::AcceptedCommandList::Id: { + case ContentAppObserver::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, TargetNavigator::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ContentAppObserver::Id); } - case TargetNavigator::Attributes::EventList::Id: { + case ContentAppObserver::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case TargetNavigator::Attributes::AttributeList::Id: { + case ContentAppObserver::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, TargetNavigator::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, ContentAppObserver::Id); } - case TargetNavigator::Attributes::FeatureMap::Id: { + case ContentAppObserver::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case TargetNavigator::Attributes::ClusterRevision::Id: { + case ContentAppObserver::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17571,305 +19437,304 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case MediaPlayback::Id: { + case CameraAvStreamManagement::Id: { switch (path.mAttributeId) { - case MediaPlayback::Attributes::CurrentState::Id: { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentState", 1, value); - } - case MediaPlayback::Attributes::StartTime::Id: { - chip::app::DataModel::Nullable value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("StartTime", 1, value); - } - case MediaPlayback::Attributes::Duration::Id: { - chip::app::DataModel::Nullable value; + case CameraAvStreamManagement::Attributes::MaxConcurrentVideoEncoders::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Duration", 1, value); + return DataModelLogger::LogValue("MaxConcurrentVideoEncoders", 1, value); } - case MediaPlayback::Attributes::SampledPosition::Id: { - chip::app::DataModel::Nullable - value; + case CameraAvStreamManagement::Attributes::MaxEncodedPixelRate::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SampledPosition", 1, value); + return DataModelLogger::LogValue("MaxEncodedPixelRate", 1, value); } - case MediaPlayback::Attributes::PlaybackSpeed::Id: { - float value; + case CameraAvStreamManagement::Attributes::VideoSensorParams::Id: { + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("PlaybackSpeed", 1, value); + return DataModelLogger::LogValue("VideoSensorParams", 1, value); } - case MediaPlayback::Attributes::SeekRangeEnd::Id: { - chip::app::DataModel::Nullable value; + case CameraAvStreamManagement::Attributes::NightVisionCapable::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SeekRangeEnd", 1, value); + return DataModelLogger::LogValue("NightVisionCapable", 1, value); } - case MediaPlayback::Attributes::SeekRangeStart::Id: { - chip::app::DataModel::Nullable value; + case CameraAvStreamManagement::Attributes::MinViewPortWidth::Id: { + chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SeekRangeStart", 1, value); + return DataModelLogger::LogValue("MinViewPortWidth", 1, value); } - case MediaPlayback::Attributes::ActiveAudioTrack::Id: { - chip::app::DataModel::Nullable value; + case CameraAvStreamManagement::Attributes::MinViewPortHeight::Id: { + chip::app::Clusters::CameraAvStreamManagement::Structs::DimensionStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveAudioTrack", 1, value); + return DataModelLogger::LogValue("MinViewPortHeight", 1, value); } - case MediaPlayback::Attributes::AvailableAudioTracks::Id: { - chip::app::DataModel::Nullable< - chip::app::DataModel::DecodableList> + case CameraAvStreamManagement::Attributes::RateDistortionTradeOffPoints::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AvailableAudioTracks", 1, value); + return DataModelLogger::LogValue("RateDistortionTradeOffPoints", 1, value); } - case MediaPlayback::Attributes::ActiveTextTrack::Id: { - chip::app::DataModel::Nullable value; + case CameraAvStreamManagement::Attributes::MaxPreRollBufferSize::Id: { + uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ActiveTextTrack", 1, value); + return DataModelLogger::LogValue("MaxPreRollBufferSize", 1, value); } - case MediaPlayback::Attributes::AvailableTextTracks::Id: { - chip::app::DataModel::Nullable< - chip::app::DataModel::DecodableList> - value; + case CameraAvStreamManagement::Attributes::MicrophoneCapabilities::Id: { + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AvailableTextTracks", 1, value); + return DataModelLogger::LogValue("MicrophoneCapabilities", 1, value); } - case MediaPlayback::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::SpeakerCapabilities::Id: { + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MediaPlayback::Id); + return DataModelLogger::LogValue("SpeakerCapabilities", 1, value); } - case MediaPlayback::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::TwoWayTalkSupport::Id: { + chip::app::Clusters::CameraAvStreamManagement::TwowayTalkSupportTypeEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MediaPlayback::Id); + return DataModelLogger::LogValue("TwoWayTalkSupport", 1, value); } - case MediaPlayback::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::SupportedSnapshotParams::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("SupportedSnapshotParams", 1, value); } - case MediaPlayback::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::HDRCapable::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, MediaPlayback::Id); + return DataModelLogger::LogValue("HDRCapable", 1, value); } - case MediaPlayback::Attributes::FeatureMap::Id: { + case CameraAvStreamManagement::Attributes::MaxNetworkBandwidth::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("MaxNetworkBandwidth", 1, value); } - case MediaPlayback::Attributes::ClusterRevision::Id: { + case CameraAvStreamManagement::Attributes::CurrentFrameRate::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("CurrentFrameRate", 1, value); } + case CameraAvStreamManagement::Attributes::HDRMode::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("HDRMode", 1, value); } - break; - } - case MediaInput::Id: { - switch (path.mAttributeId) - { - case MediaInput::Attributes::InputList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::CurrentVideoCodecs::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("InputList", 1, value); + return DataModelLogger::LogValue("CurrentVideoCodecs", 1, value); } - case MediaInput::Attributes::CurrentInput::Id: { - uint8_t value; + case CameraAvStreamManagement::Attributes::CurrentSnapshotConfig::Id: { + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentInput", 1, value); + return DataModelLogger::LogValue("CurrentSnapshotConfig", 1, value); } - case MediaInput::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::FabricsUsingCamera::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, MediaInput::Id); + return DataModelLogger::LogValue("FabricsUsingCamera", 1, value); } - case MediaInput::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::AllocatedVideoStreams::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, MediaInput::Id); + return DataModelLogger::LogValue("AllocatedVideoStreams", 1, value); } - case MediaInput::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::AllocatedAudioStreams::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("AllocatedAudioStreams", 1, value); } - case MediaInput::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::AllocatedSnapshotStreams::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, MediaInput::Id); + return DataModelLogger::LogValue("AllocatedSnapshotStreams", 1, value); } - case MediaInput::Attributes::FeatureMap::Id: { - uint32_t value; + case CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("RankedVideoStreamPrioritiesList", 1, value); } - case MediaInput::Attributes::ClusterRevision::Id: { - uint16_t value; + case CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("SoftRecordingPrivacyModeSetting", 1, value); } + case CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SoftLivestreamPrivacyModeSetting", 1, value); } - break; - } - case LowPower::Id: { - switch (path.mAttributeId) - { - case LowPower::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::HardPrivacyMode::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, LowPower::Id); + return DataModelLogger::LogValue("HardPrivacyMode", 1, value); } - case LowPower::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::NightVision::Id: { + chip::app::Clusters::CameraAvStreamManagement::TriStateAuto value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, LowPower::Id); + return DataModelLogger::LogValue("NightVision", 1, value); } - case LowPower::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::NightVisionIllum::Id: { + chip::app::Clusters::CameraAvStreamManagement::TriStateAuto value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("NightVisionIllum", 1, value); } - case LowPower::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::Awb::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, LowPower::Id); + return DataModelLogger::LogValue("AWB", 1, value); } - case LowPower::Attributes::FeatureMap::Id: { - uint32_t value; + case CameraAvStreamManagement::Attributes::ShutterSpeed::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("ShutterSpeed", 1, value); } - case LowPower::Attributes::ClusterRevision::Id: { - uint16_t value; + case CameraAvStreamManagement::Attributes::Iso::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("ISO", 1, value); } + case CameraAvStreamManagement::Attributes::Viewport::Id: { + chip::app::Clusters::CameraAvStreamManagement::Structs::ViewportStruct::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Viewport", 1, value); } - break; - } - case KeypadInput::Id: { - switch (path.mAttributeId) - { - case KeypadInput::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::SpkrOnOff::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, KeypadInput::Id); + return DataModelLogger::LogValue("SpkrOnOff", 1, value); } - case KeypadInput::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::SpkrVolumeLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, KeypadInput::Id); + return DataModelLogger::LogValue("SpkrVolumeLevel", 1, value); } - case KeypadInput::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::SpkrMaxLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("SpkrMaxLevel", 1, value); } - case KeypadInput::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::SpkrMinLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, KeypadInput::Id); + return DataModelLogger::LogValue("SpkrMinLevel", 1, value); } - case KeypadInput::Attributes::FeatureMap::Id: { - uint32_t value; + case CameraAvStreamManagement::Attributes::MicOnOff::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("MicOnOff", 1, value); } - case KeypadInput::Attributes::ClusterRevision::Id: { - uint16_t value; + case CameraAvStreamManagement::Attributes::MicCurrentLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("MicCurrentLevel", 1, value); } + case CameraAvStreamManagement::Attributes::MicMaxLevel::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MicMaxLevel", 1, value); } - break; - } - case ContentLauncher::Id: { - switch (path.mAttributeId) - { - case ContentLauncher::Attributes::AcceptHeader::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::MicMinLevel::Id: { + uint8_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AcceptHeader", 1, value); + return DataModelLogger::LogValue("MicMinLevel", 1, value); } - case ContentLauncher::Attributes::SupportedStreamingProtocols::Id: { - chip::BitMask value; + case CameraAvStreamManagement::Attributes::MicAGC::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SupportedStreamingProtocols", 1, value); + return DataModelLogger::LogValue("MicAGC", 1, value); } - case ContentLauncher::Attributes::GeneratedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::ImageRotation::Id: { + uint16_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ImageRotation", 1, value); + } + case CameraAvStreamManagement::Attributes::ImageFlipHorizontal::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ContentLauncher::Id); + return DataModelLogger::LogValue("ImageFlipHorizontal", 1, value); } - case ContentLauncher::Attributes::AcceptedCommandList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::ImageFlipVertical::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ContentLauncher::Id); + return DataModelLogger::LogValue("ImageFlipVertical", 1, value); } - case ContentLauncher::Attributes::EventList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("EventList", 1, value); + return DataModelLogger::LogValue("LocalVideoRecordingEnabled", 1, value); } - case ContentLauncher::Attributes::AttributeList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ContentLauncher::Id); + return DataModelLogger::LogValue("LocalSnapshotRecordingEnabled", 1, value); } - case ContentLauncher::Attributes::FeatureMap::Id: { - uint32_t value; + case CameraAvStreamManagement::Attributes::StatusLight::Id: { + bool value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("FeatureMap", 1, value); + return DataModelLogger::LogValue("StatusLight", 1, value); } - case ContentLauncher::Attributes::ClusterRevision::Id: { - uint16_t value; + case CameraAvStreamManagement::Attributes::StatusLightBrightness::Id: { + chip::app::Clusters::Globals::ThreeLevelAutoEnum value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ClusterRevision", 1, value); + return DataModelLogger::LogValue("StatusLightBrightness", 1, value); } + case CameraAvStreamManagement::Attributes::DepthSensorStatus::Id: { + chip::app::Clusters::CameraAvStreamManagement::TriStateAuto value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DepthSensorStatus", 1, value); } - break; - } - case AudioOutput::Id: { - switch (path.mAttributeId) - { - case AudioOutput::Attributes::OutputList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvStreamManagement::Attributes::WatermarkEnabled::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::PerStreamStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OutputList", 1, value); + return DataModelLogger::LogValue("WatermarkEnabled", 1, value); } - case AudioOutput::Attributes::CurrentOutput::Id: { - uint8_t value; + case CameraAvStreamManagement::Attributes::OSDEnabled::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvStreamManagement::Structs::PerStreamStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentOutput", 1, value); + return DataModelLogger::LogValue("OSDEnabled", 1, value); } - case AudioOutput::Attributes::GeneratedCommandList::Id: { + case CameraAvStreamManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AudioOutput::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, CameraAvStreamManagement::Id); } - case AudioOutput::Attributes::AcceptedCommandList::Id: { + case CameraAvStreamManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AudioOutput::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, CameraAvStreamManagement::Id); } - case AudioOutput::Attributes::EventList::Id: { + case CameraAvStreamManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case AudioOutput::Attributes::AttributeList::Id: { + case CameraAvStreamManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, AudioOutput::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, CameraAvStreamManagement::Id); } - case AudioOutput::Attributes::FeatureMap::Id: { + case CameraAvStreamManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case AudioOutput::Attributes::ClusterRevision::Id: { + case CameraAvStreamManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17877,46 +19742,65 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ApplicationLauncher::Id: { + case CameraAvSettingsUserLevelManagement::Id: { switch (path.mAttributeId) { - case ApplicationLauncher::Attributes::CatalogList::Id: { - chip::app::DataModel::DecodableList value; + case CameraAvSettingsUserLevelManagement::Attributes::Mptz::Id: { + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CatalogList", 1, value); + return DataModelLogger::LogValue("Mptz", 1, value); } - case ApplicationLauncher::Attributes::CurrentApp::Id: { - chip::app::DataModel::Nullable + case CameraAvSettingsUserLevelManagement::Attributes::MaxPresets::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MaxPresets", 1, value); + } + case CameraAvSettingsUserLevelManagement::Attributes::PresetMptzTable::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType> value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("CurrentApp", 1, value); + return DataModelLogger::LogValue("PresetMptzTable", 1, value); } - case ApplicationLauncher::Attributes::GeneratedCommandList::Id: { + case CameraAvSettingsUserLevelManagement::Attributes::MptzRelativeMove::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("MptzRelativeMove", 1, value); + } + case CameraAvSettingsUserLevelManagement::Attributes::DptzRelativeMove::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::PerStreamStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("DptzRelativeMove", 1, value); + } + case CameraAvSettingsUserLevelManagement::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ApplicationLauncher::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, + CameraAvSettingsUserLevelManagement::Id); } - case ApplicationLauncher::Attributes::AcceptedCommandList::Id: { + case CameraAvSettingsUserLevelManagement::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ApplicationLauncher::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, CameraAvSettingsUserLevelManagement::Id); } - case ApplicationLauncher::Attributes::EventList::Id: { + case CameraAvSettingsUserLevelManagement::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ApplicationLauncher::Attributes::AttributeList::Id: { + case CameraAvSettingsUserLevelManagement::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ApplicationLauncher::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, CameraAvSettingsUserLevelManagement::Id); } - case ApplicationLauncher::Attributes::FeatureMap::Id: { + case CameraAvSettingsUserLevelManagement::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ApplicationLauncher::Attributes::ClusterRevision::Id: { + case CameraAvSettingsUserLevelManagement::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -17924,75 +19808,42 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ApplicationBasic::Id: { + case WebRTCTransportProvider::Id: { switch (path.mAttributeId) { - case ApplicationBasic::Attributes::VendorName::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("VendorName", 1, value); - } - case ApplicationBasic::Attributes::VendorID::Id: { - chip::VendorId value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("VendorID", 1, value); - } - case ApplicationBasic::Attributes::ApplicationName::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ApplicationName", 1, value); - } - case ApplicationBasic::Attributes::ProductID::Id: { - uint16_t value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ProductID", 1, value); - } - case ApplicationBasic::Attributes::Application::Id: { - chip::app::Clusters::ApplicationBasic::Structs::ApplicationStruct::DecodableType value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Application", 1, value); - } - case ApplicationBasic::Attributes::Status::Id: { - chip::app::Clusters::ApplicationBasic::ApplicationStatusEnum value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Status", 1, value); - } - case ApplicationBasic::Attributes::ApplicationVersion::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ApplicationVersion", 1, value); - } - case ApplicationBasic::Attributes::AllowedVendorList::Id: { - chip::app::DataModel::DecodableList value; + case WebRTCTransportProvider::Attributes::CurrentSessions::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::WebRTCTransportProvider::Structs::WebRTCSessionStruct::DecodableType> + value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("AllowedVendorList", 1, value); + return DataModelLogger::LogValue("CurrentSessions", 1, value); } - case ApplicationBasic::Attributes::GeneratedCommandList::Id: { + case WebRTCTransportProvider::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ApplicationBasic::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WebRTCTransportProvider::Id); } - case ApplicationBasic::Attributes::AcceptedCommandList::Id: { + case WebRTCTransportProvider::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ApplicationBasic::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WebRTCTransportProvider::Id); } - case ApplicationBasic::Attributes::EventList::Id: { + case WebRTCTransportProvider::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ApplicationBasic::Attributes::AttributeList::Id: { + case WebRTCTransportProvider::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ApplicationBasic::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WebRTCTransportProvider::Id); } - case ApplicationBasic::Attributes::FeatureMap::Id: { + case WebRTCTransportProvider::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ApplicationBasic::Attributes::ClusterRevision::Id: { + case WebRTCTransportProvider::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -18000,35 +19851,42 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case AccountLogin::Id: { + case WebRTCTransportRequestor::Id: { switch (path.mAttributeId) { - case AccountLogin::Attributes::GeneratedCommandList::Id: { + case WebRTCTransportRequestor::Attributes::CurrentSessions::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::WebRTCTransportRequestor::Structs::WebRTCSessionStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CurrentSessions", 1, value); + } + case WebRTCTransportRequestor::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, AccountLogin::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, WebRTCTransportRequestor::Id); } - case AccountLogin::Attributes::AcceptedCommandList::Id: { + case WebRTCTransportRequestor::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, AccountLogin::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, WebRTCTransportRequestor::Id); } - case AccountLogin::Attributes::EventList::Id: { + case WebRTCTransportRequestor::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case AccountLogin::Attributes::AttributeList::Id: { + case WebRTCTransportRequestor::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, AccountLogin::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, WebRTCTransportRequestor::Id); } - case AccountLogin::Attributes::FeatureMap::Id: { + case WebRTCTransportRequestor::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case AccountLogin::Attributes::ClusterRevision::Id: { + case WebRTCTransportRequestor::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -18036,77 +19894,50 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ContentControl::Id: { + case PushAvStreamTransport::Id: { switch (path.mAttributeId) { - case ContentControl::Attributes::Enabled::Id: { - bool value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("Enabled", 1, value); - } - case ContentControl::Attributes::OnDemandRatings::Id: { - chip::app::DataModel::DecodableList - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnDemandRatings", 1, value); - } - case ContentControl::Attributes::OnDemandRatingThreshold::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("OnDemandRatingThreshold", 1, value); - } - case ContentControl::Attributes::ScheduledContentRatings::Id: { - chip::app::DataModel::DecodableList - value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScheduledContentRatings", 1, value); - } - case ContentControl::Attributes::ScheduledContentRatingThreshold::Id: { - chip::CharSpan value; - ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScheduledContentRatingThreshold", 1, value); - } - case ContentControl::Attributes::ScreenDailyTime::Id: { - uint32_t value; + case PushAvStreamTransport::Attributes::SupportedContainerFormats::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("ScreenDailyTime", 1, value); + return DataModelLogger::LogValue("SupportedContainerFormats", 1, value); } - case ContentControl::Attributes::RemainingScreenTime::Id: { - uint32_t value; + case PushAvStreamTransport::Attributes::SupportedIngestMethods::Id: { + chip::BitMask value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("RemainingScreenTime", 1, value); + return DataModelLogger::LogValue("SupportedIngestMethods", 1, value); } - case ContentControl::Attributes::BlockUnrated::Id: { - bool value; + case PushAvStreamTransport::Attributes::CurrentConnections::Id: { + chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("BlockUnrated", 1, value); + return DataModelLogger::LogValue("CurrentConnections", 1, value); } - case ContentControl::Attributes::GeneratedCommandList::Id: { + case PushAvStreamTransport::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ContentControl::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, PushAvStreamTransport::Id); } - case ContentControl::Attributes::AcceptedCommandList::Id: { + case PushAvStreamTransport::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ContentControl::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, PushAvStreamTransport::Id); } - case ContentControl::Attributes::EventList::Id: { + case PushAvStreamTransport::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ContentControl::Attributes::AttributeList::Id: { + case PushAvStreamTransport::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ContentControl::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, PushAvStreamTransport::Id); } - case ContentControl::Attributes::FeatureMap::Id: { + case PushAvStreamTransport::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ContentControl::Attributes::ClusterRevision::Id: { + case PushAvStreamTransport::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -18114,35 +19945,50 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP } break; } - case ContentAppObserver::Id: { + case Chime::Id: { switch (path.mAttributeId) { - case ContentAppObserver::Attributes::GeneratedCommandList::Id: { + case Chime::Attributes::InstalledChimeSounds::Id: { + chip::app::DataModel::DecodableList value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("InstalledChimeSounds", 1, value); + } + case Chime::Attributes::ActiveChimeSoundId::Id: { + uint8_t value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ActiveChimeSoundId", 1, value); + } + case Chime::Attributes::Enabled::Id: { + bool value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("Enabled", 1, value); + } + case Chime::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, ContentAppObserver::Id); + return DataModelLogger::LogGeneratedCommandId("GeneratedCommandList", 1, value, Chime::Id); } - case ContentAppObserver::Attributes::AcceptedCommandList::Id: { + case Chime::Attributes::AcceptedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, ContentAppObserver::Id); + return DataModelLogger::LogAcceptedCommandId("AcceptedCommandList", 1, value, Chime::Id); } - case ContentAppObserver::Attributes::EventList::Id: { + case Chime::Attributes::EventList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("EventList", 1, value); } - case ContentAppObserver::Attributes::AttributeList::Id: { + case Chime::Attributes::AttributeList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogAttributeId("AttributeList", 1, value, ContentAppObserver::Id); + return DataModelLogger::LogAttributeId("AttributeList", 1, value, Chime::Id); } - case ContentAppObserver::Attributes::FeatureMap::Id: { + case Chime::Attributes::FeatureMap::Id: { uint32_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("FeatureMap", 1, value); } - case ContentAppObserver::Attributes::ClusterRevision::Id: { + case Chime::Attributes::ClusterRevision::Id: { uint16_t value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ClusterRevision", 1, value); @@ -20082,6 +21928,64 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa } break; } + case CameraAvStreamManagement::Id: { + switch (path.mCommandId) + { + case CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::Id: { + CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AudioStreamAllocateResponse", 1, value); + } + case CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::Id: { + CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("VideoStreamAllocateResponse", 1, value); + } + case CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::Id: { + CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SnapshotStreamAllocateResponse", 1, value); + } + case CameraAvStreamManagement::Commands::CaptureSnapshotResponse::Id: { + CameraAvStreamManagement::Commands::CaptureSnapshotResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("CaptureSnapshotResponse", 1, value); + } + } + break; + } + case WebRTCTransportProvider::Id: { + switch (path.mCommandId) + { + case WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::Id: { + WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WebRTCSolicitOfferResponse", 1, value); + } + case WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::Id: { + WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("WebRTCProvideOfferResponse", 1, value); + } + } + break; + } + case PushAvStreamTransport::Id: { + switch (path.mCommandId) + { + case PushAvStreamTransport::Commands::AllocatePushTransportResponse::Id: { + PushAvStreamTransport::Commands::AllocatePushTransportResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AllocatePushTransportResponse", 1, value); + } + case PushAvStreamTransport::Commands::FindStreamConfigurationResponse::Id: { + PushAvStreamTransport::Commands::FindStreamConfigurationResponse::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("FindStreamConfigurationResponse", 1, value); + } + } + break; + } case CommissionerControl::Id: { switch (path.mCommandId) { @@ -21011,6 +22915,43 @@ CHIP_ERROR DataModelLogger::LogEvent(const chip::app::EventHeader & header, chip } break; } + case CameraAvStreamManagement::Id: { + switch (header.mPath.mEventId) + { + case CameraAvStreamManagement::Events::VideoStreamChanged::Id: { + chip::app::Clusters::CameraAvStreamManagement::Events::VideoStreamChanged::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("VideoStreamChanged", 1, value); + } + case CameraAvStreamManagement::Events::AudioStreamChanged::Id: { + chip::app::Clusters::CameraAvStreamManagement::Events::AudioStreamChanged::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("AudioStreamChanged", 1, value); + } + case CameraAvStreamManagement::Events::SnapshotStreamChanged::Id: { + chip::app::Clusters::CameraAvStreamManagement::Events::SnapshotStreamChanged::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("SnapshotStreamChanged", 1, value); + } + } + break; + } + case PushAvStreamTransport::Id: { + switch (header.mPath.mEventId) + { + case PushAvStreamTransport::Events::PushTransportBegin::Id: { + chip::app::Clusters::PushAvStreamTransport::Events::PushTransportBegin::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PushTransportBegin", 1, value); + } + case PushAvStreamTransport::Events::PushTransportEnd::Id: { + chip::app::Clusters::PushAvStreamTransport::Events::PushTransportEnd::DecodableType value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("PushTransportEnd", 1, value); + } + } + break; + } case CommissionerControl::Id: { switch (header.mPath.mEventId) { 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 ce1aa0b46f01da..4c209914ed3b25 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h @@ -50,12 +50,24 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::detail::Structs::ErrorStateStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::detail::Structs::ICEServerStruct::DecodableType & value); + static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::detail::Structs::LabelStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::detail::Structs::OperationalStateStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::detail::Structs::PerStreamStruct::DecodableType & value); + +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::detail::Structs::ViewportStruct::DecodableType & value); + +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::detail::Structs::WebRTCSessionStruct::DecodableType & value); + static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Descriptor::Structs::SemanticTagStruct::DecodableType & value); @@ -404,6 +416,69 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ContentControl::Structs::RatingNameStruct::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::AudioCapabilitiesStruct::DecodableType & value); + +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::AudioStreamStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::RateDistortionTradeOffPointsStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotParamsStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::SnapshotStreamStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::VideoSensorParamsStruct::DecodableType & value); + +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Structs::VideoStreamStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Structs::MPTZStruct::DecodableType & value); + +static CHIP_ERROR LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMotionTriggerTimeControlStruct::DecodableType & + value); + +static CHIP_ERROR LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportMetadataOptionsStruct::DecodableType & value); + +static CHIP_ERROR LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportTriggerOptionsStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportCMAFContainerOptionsStruct::DecodableType & + value); + +static CHIP_ERROR LogValue( + const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportContainerOptionsStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamTransportOptionsStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Structs::PushAVStreamConfigurationStruct::DecodableType & value); + +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::Chime::Structs::ChimeSoundStruct::DecodableType & value); + static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::EcosystemInformation::Structs::EcosystemDeviceStruct::DecodableType & value); @@ -672,6 +747,17 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::AccountLogin::Events::LoggedOut::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ContentControl::Events::RemainingScreenTimeExpired::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Events::VideoStreamChanged::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Events::AudioStreamChanged::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Events::SnapshotStreamChanged::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Events::PushTransportBegin::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Events::PushTransportEnd::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::CommissionerControl::Events::CommissioningRequestResult::DecodableType & value); @@ -845,6 +931,30 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ContentAppObserver::Commands::ContentAppMessageResponse::DecodableType & value); static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshotResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::CommissionerControl::Commands::ReverseOpenCommissioningWindow::DecodableType & value); static CHIP_ERROR diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp index 07bac4319c7c61..e6b905dba40ac3 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp @@ -265,6 +265,18 @@ char const * ClusterIdToText(chip::ClusterId id) return "ContentControl"; case chip::app::Clusters::ContentAppObserver::Id: return "ContentAppObserver"; + case chip::app::Clusters::CameraAvStreamManagement::Id: + return "CameraAvStreamManagement"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id: + return "CameraAvSettingsUserLevelManagement"; + case chip::app::Clusters::WebRTCTransportProvider::Id: + return "WebRTCTransportProvider"; + case chip::app::Clusters::WebRTCTransportRequestor::Id: + return "WebRTCTransportRequestor"; + case chip::app::Clusters::PushAvStreamTransport::Id: + return "PushAvStreamTransport"; + case chip::app::Clusters::Chime::Id: + return "Chime"; case chip::app::Clusters::EcosystemInformation::Id: return "EcosystemInformation"; case chip::app::Clusters::CommissionerControl::Id: @@ -4482,6 +4494,248 @@ char const * AttributeIdToText(chip::ClusterId cluster, chip::AttributeId id) return "Unknown"; } } + case chip::app::Clusters::CameraAvStreamManagement::Id: { + switch (id) + { + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxConcurrentVideoEncoders::Id: + return "MaxConcurrentVideoEncoders"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxEncodedPixelRate::Id: + return "MaxEncodedPixelRate"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::VideoSensorParams::Id: + return "VideoSensorParams"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVisionCapable::Id: + return "NightVisionCapable"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MinViewPortWidth::Id: + return "MinViewPortWidth"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MinViewPortHeight::Id: + return "MinViewPortHeight"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::RateDistortionTradeOffPoints::Id: + return "RateDistortionTradeOffPoints"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxPreRollBufferSize::Id: + return "MaxPreRollBufferSize"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MicrophoneCapabilities::Id: + return "MicrophoneCapabilities"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SpeakerCapabilities::Id: + return "SpeakerCapabilities"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::TwoWayTalkSupport::Id: + return "TwoWayTalkSupport"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SupportedSnapshotParams::Id: + return "SupportedSnapshotParams"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::HDRCapable::Id: + return "HDRCapable"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxNetworkBandwidth::Id: + return "MaxNetworkBandwidth"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentFrameRate::Id: + return "CurrentFrameRate"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::HDRMode::Id: + return "HDRMode"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentVideoCodecs::Id: + return "CurrentVideoCodecs"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentSnapshotConfig::Id: + return "CurrentSnapshotConfig"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::FabricsUsingCamera::Id: + return "FabricsUsingCamera"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedVideoStreams::Id: + return "AllocatedVideoStreams"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedAudioStreams::Id: + return "AllocatedAudioStreams"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedSnapshotStreams::Id: + return "AllocatedSnapshotStreams"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::Id: + return "RankedVideoStreamPrioritiesList"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::Id: + return "SoftRecordingPrivacyModeSetting"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::Id: + return "SoftLivestreamPrivacyModeSetting"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::HardPrivacyMode::Id: + return "HardPrivacyMode"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVision::Id: + return "NightVision"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVisionIllum::Id: + return "NightVisionIllum"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::Awb::Id: + return "Awb"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::ShutterSpeed::Id: + return "ShutterSpeed"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::Iso::Id: + return "Iso"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::Viewport::Id: + return "Viewport"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrOnOff::Id: + return "SpkrOnOff"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrVolumeLevel::Id: + return "SpkrVolumeLevel"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMaxLevel::Id: + return "SpkrMaxLevel"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMinLevel::Id: + return "SpkrMinLevel"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MicOnOff::Id: + return "MicOnOff"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MicCurrentLevel::Id: + return "MicCurrentLevel"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMaxLevel::Id: + return "MicMaxLevel"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMinLevel::Id: + return "MicMinLevel"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::MicAGC::Id: + return "MicAGC"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageRotation::Id: + return "ImageRotation"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageFlipHorizontal::Id: + return "ImageFlipHorizontal"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageFlipVertical::Id: + return "ImageFlipVertical"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::Id: + return "LocalVideoRecordingEnabled"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::Id: + return "LocalSnapshotRecordingEnabled"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLight::Id: + return "StatusLight"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLightBrightness::Id: + return "StatusLightBrightness"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::DepthSensorStatus::Id: + return "DepthSensorStatus"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::WatermarkEnabled::Id: + return "WatermarkEnabled"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::OSDEnabled::Id: + return "OSDEnabled"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::GeneratedCommandList::Id: + return "GeneratedCommandList"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::AcceptedCommandList::Id: + return "AcceptedCommandList"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::EventList::Id: + return "EventList"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::AttributeList::Id: + return "AttributeList"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::FeatureMap::Id: + return "FeatureMap"; + case chip::app::Clusters::CameraAvStreamManagement::Attributes::ClusterRevision::Id: + return "ClusterRevision"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id: { + switch (id) + { + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::Mptz::Id: + return "Mptz"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::MaxPresets::Id: + return "MaxPresets"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::PresetMptzTable::Id: + return "PresetMptzTable"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::MptzRelativeMove::Id: + return "MptzRelativeMove"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::DptzRelativeMove::Id: + return "DptzRelativeMove"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::GeneratedCommandList::Id: + return "GeneratedCommandList"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::AcceptedCommandList::Id: + return "AcceptedCommandList"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::EventList::Id: + return "EventList"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::AttributeList::Id: + return "AttributeList"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::FeatureMap::Id: + return "FeatureMap"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::ClusterRevision::Id: + return "ClusterRevision"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::WebRTCTransportProvider::Id: { + switch (id) + { + case chip::app::Clusters::WebRTCTransportProvider::Attributes::CurrentSessions::Id: + return "CurrentSessions"; + case chip::app::Clusters::WebRTCTransportProvider::Attributes::GeneratedCommandList::Id: + return "GeneratedCommandList"; + case chip::app::Clusters::WebRTCTransportProvider::Attributes::AcceptedCommandList::Id: + return "AcceptedCommandList"; + case chip::app::Clusters::WebRTCTransportProvider::Attributes::EventList::Id: + return "EventList"; + case chip::app::Clusters::WebRTCTransportProvider::Attributes::AttributeList::Id: + return "AttributeList"; + case chip::app::Clusters::WebRTCTransportProvider::Attributes::FeatureMap::Id: + return "FeatureMap"; + case chip::app::Clusters::WebRTCTransportProvider::Attributes::ClusterRevision::Id: + return "ClusterRevision"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::WebRTCTransportRequestor::Id: { + switch (id) + { + case chip::app::Clusters::WebRTCTransportRequestor::Attributes::CurrentSessions::Id: + return "CurrentSessions"; + case chip::app::Clusters::WebRTCTransportRequestor::Attributes::GeneratedCommandList::Id: + return "GeneratedCommandList"; + case chip::app::Clusters::WebRTCTransportRequestor::Attributes::AcceptedCommandList::Id: + return "AcceptedCommandList"; + case chip::app::Clusters::WebRTCTransportRequestor::Attributes::EventList::Id: + return "EventList"; + case chip::app::Clusters::WebRTCTransportRequestor::Attributes::AttributeList::Id: + return "AttributeList"; + case chip::app::Clusters::WebRTCTransportRequestor::Attributes::FeatureMap::Id: + return "FeatureMap"; + case chip::app::Clusters::WebRTCTransportRequestor::Attributes::ClusterRevision::Id: + return "ClusterRevision"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::PushAvStreamTransport::Id: { + switch (id) + { + case chip::app::Clusters::PushAvStreamTransport::Attributes::SupportedContainerFormats::Id: + return "SupportedContainerFormats"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::SupportedIngestMethods::Id: + return "SupportedIngestMethods"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::CurrentConnections::Id: + return "CurrentConnections"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::GeneratedCommandList::Id: + return "GeneratedCommandList"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::AcceptedCommandList::Id: + return "AcceptedCommandList"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::EventList::Id: + return "EventList"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::AttributeList::Id: + return "AttributeList"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::FeatureMap::Id: + return "FeatureMap"; + case chip::app::Clusters::PushAvStreamTransport::Attributes::ClusterRevision::Id: + return "ClusterRevision"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::Chime::Id: { + switch (id) + { + case chip::app::Clusters::Chime::Attributes::InstalledChimeSounds::Id: + return "InstalledChimeSounds"; + case chip::app::Clusters::Chime::Attributes::ActiveChimeSoundId::Id: + return "ActiveChimeSoundId"; + case chip::app::Clusters::Chime::Attributes::Enabled::Id: + return "Enabled"; + case chip::app::Clusters::Chime::Attributes::GeneratedCommandList::Id: + return "GeneratedCommandList"; + case chip::app::Clusters::Chime::Attributes::AcceptedCommandList::Id: + return "AcceptedCommandList"; + case chip::app::Clusters::Chime::Attributes::EventList::Id: + return "EventList"; + case chip::app::Clusters::Chime::Attributes::AttributeList::Id: + return "AttributeList"; + case chip::app::Clusters::Chime::Attributes::FeatureMap::Id: + return "FeatureMap"; + case chip::app::Clusters::Chime::Attributes::ClusterRevision::Id: + return "ClusterRevision"; + default: + return "Unknown"; + } + } case chip::app::Clusters::EcosystemInformation::Id: { switch (id) { @@ -6094,6 +6348,116 @@ char const * AcceptedCommandIdToText(chip::ClusterId cluster, chip::CommandId id return "Unknown"; } } + case chip::app::Clusters::CameraAvStreamManagement::Id: { + switch (id) + { + case chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::Id: + return "AudioStreamAllocate"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::Id: + return "AudioStreamDeallocate"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::Id: + return "VideoStreamAllocate"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::Id: + return "VideoStreamModify"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::Id: + return "VideoStreamDeallocate"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Id: + return "SnapshotStreamAllocate"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Id: + return "SnapshotStreamDeallocate"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SetStreamPriority::Id: + return "SetStreamPriority"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::Id: + return "CaptureSnapshot"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::Id: + return "SetViewport"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::Id: + return "SetImageRotation"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Id: + return "SetImageFlipHorizontal"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::Id: + return "SetImageFlipVertical"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id: { + switch (id) + { + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::Id: + return "MptzSet"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Id: + return "MptzRelativeMove"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Id: + return "SetAsPreset"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Id: + return "DptzSetViewport"; + case chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Id: + return "DptzRelativeMove"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::WebRTCTransportProvider::Id: { + switch (id) + { + case chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Id: + return "WebRTCSolicitOffer"; + case chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::Id: + return "WebRTCProvideOffer"; + case chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Id: + return "WebRTCProvideAnswer"; + case chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Id: + return "WebRTCProvideICECandidate"; + case chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::Id: + return "WebRTCEndSession"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::WebRTCTransportRequestor::Id: { + switch (id) + { + case chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::Id: + return "WebRTCOffer"; + case chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::Id: + return "WebRTCAnswer"; + case chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::Id: + return "WebRTCICECandidate"; + case chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::Id: + return "WebRTCEnd"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::PushAvStreamTransport::Id: { + switch (id) + { + case chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::Id: + return "AllocatePushTransport"; + case chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::Id: + return "DeallocatePushTransport"; + case chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::Id: + return "ModifyPushTransport"; + case chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::Id: + return "SetTransportStatus"; + case chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::Id: + return "ManuallyTriggerTransport"; + case chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::Id: + return "FindStreamConfiguration"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::Chime::Id: { + switch (id) + { + case chip::app::Clusters::Chime::Commands::PlayChimeSound::Id: + return "PlayChimeSound"; + default: + return "Unknown"; + } + } case chip::app::Clusters::CommissionerControl::Id: { switch (id) { @@ -6628,6 +6992,43 @@ char const * GeneratedCommandIdToText(chip::ClusterId cluster, chip::CommandId i return "Unknown"; } } + case chip::app::Clusters::CameraAvStreamManagement::Id: { + switch (id) + { + case chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::Id: + return "AudioStreamAllocateResponse"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::Id: + return "VideoStreamAllocateResponse"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::Id: + return "SnapshotStreamAllocateResponse"; + case chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshotResponse::Id: + return "CaptureSnapshotResponse"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::WebRTCTransportProvider::Id: { + switch (id) + { + case chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::Id: + return "WebRTCSolicitOfferResponse"; + case chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::Id: + return "WebRTCProvideOfferResponse"; + default: + return "Unknown"; + } + } + case chip::app::Clusters::PushAvStreamTransport::Id: { + switch (id) + { + case chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::Id: + return "AllocatePushTransportResponse"; + case chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::Id: + return "FindStreamConfigurationResponse"; + default: + return "Unknown"; + } + } case chip::app::Clusters::CommissionerControl::Id: { switch (id) { 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 0f3dc4f7991331..3d693259459feb 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h @@ -157,6 +157,12 @@ | AccountLogin | 0x050E | | ContentControl | 0x050F | | ContentAppObserver | 0x0510 | +| CameraAvStreamManagement | 0x0551 | +| CameraAvSettingsUserLevelManagement | 0x0552 | +| WebRTCTransportProvider | 0x0553 | +| WebRTCTransportRequestor | 0x0554 | +| PushAvStreamTransport | 0x0555 | +| Chime | 0x0556 | | EcosystemInformation | 0x0750 | | CommissionerControl | 0x0751 | | ElectricalMeasurement | 0x0B04 | @@ -163937,6 +163943,12503 @@ class SubscribeAttributeContentAppObserverClusterRevision : public SubscribeAttr } }; +#endif // MTR_ENABLE_PROVISIONAL +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/*----------------------------------------------------------------------------*\ +| Cluster CameraAvStreamManagement | 0x0551 | +|------------------------------------------------------------------------------| +| Commands: | | +| * AudioStreamAllocate | 0x00 | +| * AudioStreamDeallocate | 0x02 | +| * VideoStreamAllocate | 0x03 | +| * VideoStreamModify | 0x05 | +| * VideoStreamDeallocate | 0x06 | +| * SnapshotStreamAllocate | 0x07 | +| * SnapshotStreamDeallocate | 0x09 | +| * SetStreamPriority | 0x0A | +| * CaptureSnapshot | 0x0B | +| * SetViewport | 0x0D | +| * SetImageRotation | 0x0E | +| * SetImageFlipHorizontal | 0x0F | +| * SetImageFlipVertical | 0x10 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * MaxConcurrentVideoEncoders | 0x0000 | +| * MaxEncodedPixelRate | 0x0001 | +| * VideoSensorParams | 0x0002 | +| * NightVisionCapable | 0x0003 | +| * MinViewPortWidth | 0x0004 | +| * MinViewPortHeight | 0x0005 | +| * RateDistortionTradeOffPoints | 0x0006 | +| * MaxPreRollBufferSize | 0x0007 | +| * MicrophoneCapabilities | 0x0008 | +| * SpeakerCapabilities | 0x0009 | +| * TwoWayTalkSupport | 0x000A | +| * SupportedSnapshotParams | 0x000B | +| * HDRCapable | 0x000C | +| * MaxNetworkBandwidth | 0x000D | +| * CurrentFrameRate | 0x000E | +| * HDRMode | 0x000F | +| * CurrentVideoCodecs | 0x0010 | +| * CurrentSnapshotConfig | 0x0011 | +| * FabricsUsingCamera | 0x0012 | +| * AllocatedVideoStreams | 0x0013 | +| * AllocatedAudioStreams | 0x0014 | +| * AllocatedSnapshotStreams | 0x0015 | +| * RankedVideoStreamPrioritiesList | 0x0016 | +| * SoftRecordingPrivacyModeSetting | 0x0017 | +| * SoftLivestreamPrivacyModeSetting | 0x0018 | +| * HardPrivacyMode | 0x0019 | +| * NightVision | 0x001A | +| * NightVisionIllum | 0x001B | +| * Awb | 0x001C | +| * ShutterSpeed | 0x001D | +| * Iso | 0x001E | +| * Viewport | 0x001F | +| * SpkrOnOff | 0x0020 | +| * SpkrVolumeLevel | 0x0021 | +| * SpkrMaxLevel | 0x0022 | +| * SpkrMinLevel | 0x0023 | +| * MicOnOff | 0x0024 | +| * MicCurrentLevel | 0x0025 | +| * MicMaxLevel | 0x0026 | +| * MicMinLevel | 0x0027 | +| * MicAGC | 0x0028 | +| * ImageRotation | 0x0029 | +| * ImageFlipHorizontal | 0x002A | +| * ImageFlipVertical | 0x002B | +| * LocalVideoRecordingEnabled | 0x002C | +| * LocalSnapshotRecordingEnabled | 0x002D | +| * StatusLight | 0x002E | +| * StatusLightBrightness | 0x002F | +| * DepthSensorStatus | 0x0030 | +| * WatermarkEnabled | 0x0031 | +| * OSDEnabled | 0x0032 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * VideoStreamChanged | 0x0000 | +| * AudioStreamChanged | 0x0001 | +| * SnapshotStreamChanged | 0x0002 | +\*----------------------------------------------------------------------------*/ + +#if MTR_ENABLE_PROVISIONAL +/* + * Command AudioStreamAllocate + */ +class CameraAvStreamManagementAudioStreamAllocate : public ClusterCommand { +public: + CameraAvStreamManagementAudioStreamAllocate() + : ClusterCommand("audio-stream-allocate") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("AudioCodec", 0, UINT8_MAX, &mRequest.audioCodec); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ChannelCount", 0, UINT8_MAX, &mRequest.channelCount); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("SampleRate", 0, UINT32_MAX, &mRequest.sampleRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("BitRate", 0, UINT32_MAX, &mRequest.bitRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("BitDepth", 0, UINT8_MAX, &mRequest.bitDepth); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterAudioStreamAllocateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamType)]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.audioCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.audioCodec)]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.channelCount = [NSNumber numberWithUnsignedChar:mRequest.channelCount]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.sampleRate = [NSNumber numberWithUnsignedInt:mRequest.sampleRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.bitRate = [NSNumber numberWithUnsignedInt:mRequest.bitRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.bitDepth = [NSNumber numberWithUnsignedChar:mRequest.bitDepth]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster audioStreamAllocateWithParams:params completion: + ^(MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams * _Nullable values, NSError * _Nullable error) { + NSLog(@"Values: %@", values); + if (error == nil) { + constexpr chip::CommandId responseId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::Id; + RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); + } + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + constexpr chip::CommandId responseId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocateResponse::Id; + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamAllocate::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command AudioStreamDeallocate + */ +class CameraAvStreamManagementAudioStreamDeallocate : public ClusterCommand { +public: + CameraAvStreamManagementAudioStreamDeallocate() + : ClusterCommand("audio-stream-deallocate") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("AudioStreamID", 0, UINT16_MAX, &mRequest.audioStreamID); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.audioStreamID = [NSNumber numberWithUnsignedShort:mRequest.audioStreamID]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster audioStreamDeallocateWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::AudioStreamDeallocate::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command VideoStreamAllocate + */ +class CameraAvStreamManagementVideoStreamAllocate : public ClusterCommand { +public: + CameraAvStreamManagementVideoStreamAllocate() + : ClusterCommand("video-stream-allocate") + , mComplex_MinResolution(&mRequest.minResolution) + , mComplex_MaxResolution(&mRequest.maxResolution) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("VideoCodec", 0, UINT8_MAX, &mRequest.videoCodec); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MinFrameRate", 0, UINT16_MAX, &mRequest.minFrameRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MaxFrameRate", 0, UINT16_MAX, &mRequest.maxFrameRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MinResolution", &mComplex_MinResolution); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MaxResolution", &mComplex_MaxResolution); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MinBitRate", 0, UINT32_MAX, &mRequest.minBitRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MaxBitRate", 0, UINT32_MAX, &mRequest.maxBitRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MinFragmentLen", 0, UINT16_MAX, &mRequest.minFragmentLen); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MaxFragmentLen", 0, UINT16_MAX, &mRequest.maxFragmentLen); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterVideoStreamAllocateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamType)]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.videoCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.videoCodec)]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.minFrameRate = [NSNumber numberWithUnsignedShort:mRequest.minFrameRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.maxFrameRate = [NSNumber numberWithUnsignedShort:mRequest.maxFrameRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.minBitRate = [NSNumber numberWithUnsignedInt:mRequest.minBitRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.maxBitRate = [NSNumber numberWithUnsignedInt:mRequest.maxBitRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.minFragmentLen = [NSNumber numberWithUnsignedShort:mRequest.minFragmentLen]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.maxFragmentLen = [NSNumber numberWithUnsignedShort:mRequest.maxFragmentLen]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster videoStreamAllocateWithParams:params completion: + ^(MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams * _Nullable values, NSError * _Nullable error) { + NSLog(@"Values: %@", values); + if (error == nil) { + constexpr chip::CommandId responseId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::Id; + RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); + } + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + constexpr chip::CommandId responseId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocateResponse::Id; + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamAllocate::Type mRequest; + TypedComplexArgument mComplex_MinResolution; + TypedComplexArgument mComplex_MaxResolution; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command VideoStreamModify + */ +class CameraAvStreamManagementVideoStreamModify : public ClusterCommand { +public: + CameraAvStreamManagementVideoStreamModify() + : ClusterCommand("video-stream-modify") + , mComplex_Resolution(&mRequest.resolution) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Resolution", &mComplex_Resolution); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterVideoStreamModifyParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.videoStreamID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.resolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster videoStreamModifyWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamModify::Type mRequest; + TypedComplexArgument mComplex_Resolution; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command VideoStreamDeallocate + */ +class CameraAvStreamManagementVideoStreamDeallocate : public ClusterCommand { +public: + CameraAvStreamManagementVideoStreamDeallocate() + : ClusterCommand("video-stream-deallocate") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.videoStreamID]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster videoStreamDeallocateWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::VideoStreamDeallocate::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SnapshotStreamAllocate + */ +class CameraAvStreamManagementSnapshotStreamAllocate : public ClusterCommand { +public: + CameraAvStreamManagementSnapshotStreamAllocate() + : ClusterCommand("snapshot-stream-allocate") + , mComplex_MinResolution(&mRequest.minResolution) + , mComplex_MaxResolution(&mRequest.maxResolution) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("ImageCodec", 0, UINT8_MAX, &mRequest.imageCodec); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("FrameRate", 0, UINT16_MAX, &mRequest.frameRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("BitRate", 0, UINT32_MAX, &mRequest.bitRate); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MinResolution", &mComplex_MinResolution); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MaxResolution", &mComplex_MaxResolution); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Quality", 0, UINT8_MAX, &mRequest.quality); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.imageCodec = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.imageCodec)]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.frameRate = [NSNumber numberWithUnsignedShort:mRequest.frameRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.bitRate = [NSNumber numberWithUnsignedInt:mRequest.bitRate]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.minResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.maxResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.quality = [NSNumber numberWithUnsignedChar:mRequest.quality]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster snapshotStreamAllocateWithParams:params completion: + ^(MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams * _Nullable values, NSError * _Nullable error) { + NSLog(@"Values: %@", values); + if (error == nil) { + constexpr chip::CommandId responseId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::Id; + RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); + } + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + constexpr chip::CommandId responseId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocateResponse::Id; + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamAllocate::Type mRequest; + TypedComplexArgument mComplex_MinResolution; + TypedComplexArgument mComplex_MaxResolution; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SnapshotStreamDeallocate + */ +class CameraAvStreamManagementSnapshotStreamDeallocate : public ClusterCommand { +public: + CameraAvStreamManagementSnapshotStreamDeallocate() + : ClusterCommand("snapshot-stream-deallocate") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("SnapshotStreamID", 0, UINT16_MAX, &mRequest.snapshotStreamID); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.snapshotStreamID = [NSNumber numberWithUnsignedShort:mRequest.snapshotStreamID]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster snapshotStreamDeallocateWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::SnapshotStreamDeallocate::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SetStreamPriority + */ +class CameraAvStreamManagementSetStreamPriority : public ClusterCommand { +public: + CameraAvStreamManagementSetStreamPriority() + : ClusterCommand("set-stream-priority") + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetStreamPriority::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterSetStreamPriorityParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster setStreamPriorityWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command CaptureSnapshot + */ +class CameraAvStreamManagementCaptureSnapshot : public ClusterCommand { +public: + CameraAvStreamManagementCaptureSnapshot() + : ClusterCommand("capture-snapshot") + , mComplex_RequestedResolution(&mRequest.requestedResolution) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("SnapshotStreamID", 0, UINT16_MAX, &mRequest.snapshotStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("RequestedResolution", &mComplex_RequestedResolution); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterCaptureSnapshotParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.snapshotStreamID = [NSNumber numberWithUnsignedShort:mRequest.snapshotStreamID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.requestedResolution = [MTRCameraAVStreamManagementClusterDimensionStruct new]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster captureSnapshotWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::CaptureSnapshot::Type mRequest; + TypedComplexArgument mComplex_RequestedResolution; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SetViewport + */ +class CameraAvStreamManagementSetViewport : public ClusterCommand { +public: + CameraAvStreamManagementSetViewport() + : ClusterCommand("set-viewport") + , mComplex_Viewport(&mRequest.viewport) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("Viewport", &mComplex_Viewport); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterSetViewportParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.viewport = [MTRCameraAVStreamManagementClusterViewportStruct new]; + params.viewport.x1 = [NSNumber numberWithUnsignedShort:mRequest.viewport.x1]; + params.viewport.y1 = [NSNumber numberWithUnsignedShort:mRequest.viewport.y1]; + params.viewport.x2 = [NSNumber numberWithUnsignedShort:mRequest.viewport.x2]; + params.viewport.y2 = [NSNumber numberWithUnsignedShort:mRequest.viewport.y2]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster setViewportWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::SetViewport::Type mRequest; + TypedComplexArgument mComplex_Viewport; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SetImageRotation + */ +class CameraAvStreamManagementSetImageRotation : public ClusterCommand { +public: + CameraAvStreamManagementSetImageRotation() + : ClusterCommand("set-image-rotation") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("Angle", 0, UINT16_MAX, &mRequest.angle); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterSetImageRotationParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.angle = [NSNumber numberWithUnsignedShort:mRequest.angle]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster setImageRotationWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageRotation::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SetImageFlipHorizontal + */ +class CameraAvStreamManagementSetImageFlipHorizontal : public ClusterCommand { +public: + CameraAvStreamManagementSetImageFlipHorizontal() + : ClusterCommand("set-image-flip-horizontal") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("OnOff", 0, 1, &mRequest.onOff); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.onOff = [NSNumber numberWithBool:mRequest.onOff]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster setImageFlipHorizontalWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipHorizontal::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SetImageFlipVertical + */ +class CameraAvStreamManagementSetImageFlipVertical : public ClusterCommand { +public: + CameraAvStreamManagementSetImageFlipVertical() + : ClusterCommand("set-image-flip-vertical") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("OnOff", 0, 1, &mRequest.onOff); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.onOff = [NSNumber numberWithBool:mRequest.onOff]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster setImageFlipVerticalWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvStreamManagement::Commands::SetImageFlipVertical::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL + +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MaxConcurrentVideoEncoders + */ +class ReadCameraAvStreamManagementMaxConcurrentVideoEncoders : public ReadAttribute { +public: + ReadCameraAvStreamManagementMaxConcurrentVideoEncoders() + : ReadAttribute("max-concurrent-video-encoders") + { + } + + ~ReadCameraAvStreamManagementMaxConcurrentVideoEncoders() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxConcurrentVideoEncoders::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMaxConcurrentVideoEncodersWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxConcurrentVideoEncoders response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MaxConcurrentVideoEncoders read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementMaxConcurrentVideoEncoders : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMaxConcurrentVideoEncoders() + : SubscribeAttribute("max-concurrent-video-encoders") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMaxConcurrentVideoEncoders() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxConcurrentVideoEncoders::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMaxConcurrentVideoEncodersWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxConcurrentVideoEncoders response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MaxEncodedPixelRate + */ +class ReadCameraAvStreamManagementMaxEncodedPixelRate : public ReadAttribute { +public: + ReadCameraAvStreamManagementMaxEncodedPixelRate() + : ReadAttribute("max-encoded-pixel-rate") + { + } + + ~ReadCameraAvStreamManagementMaxEncodedPixelRate() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxEncodedPixelRate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMaxEncodedPixelRateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxEncodedPixelRate response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MaxEncodedPixelRate read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementMaxEncodedPixelRate : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMaxEncodedPixelRate() + : SubscribeAttribute("max-encoded-pixel-rate") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMaxEncodedPixelRate() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxEncodedPixelRate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMaxEncodedPixelRateWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxEncodedPixelRate response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute VideoSensorParams + */ +class ReadCameraAvStreamManagementVideoSensorParams : public ReadAttribute { +public: + ReadCameraAvStreamManagementVideoSensorParams() + : ReadAttribute("video-sensor-params") + { + } + + ~ReadCameraAvStreamManagementVideoSensorParams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::VideoSensorParams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeVideoSensorParamsWithCompletion:^(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.VideoSensorParams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement VideoSensorParams read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementVideoSensorParams : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementVideoSensorParams() + : SubscribeAttribute("video-sensor-params") + { + } + + ~SubscribeAttributeCameraAvStreamManagementVideoSensorParams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::VideoSensorParams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeVideoSensorParamsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVStreamManagementClusterVideoSensorParamsStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.VideoSensorParams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute NightVisionCapable + */ +class ReadCameraAvStreamManagementNightVisionCapable : public ReadAttribute { +public: + ReadCameraAvStreamManagementNightVisionCapable() + : ReadAttribute("night-vision-capable") + { + } + + ~ReadCameraAvStreamManagementNightVisionCapable() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVisionCapable::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeNightVisionCapableWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.NightVisionCapable response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement NightVisionCapable read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementNightVisionCapable : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementNightVisionCapable() + : SubscribeAttribute("night-vision-capable") + { + } + + ~SubscribeAttributeCameraAvStreamManagementNightVisionCapable() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVisionCapable::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeNightVisionCapableWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.NightVisionCapable response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MinViewPortWidth + */ +class ReadCameraAvStreamManagementMinViewPortWidth : public ReadAttribute { +public: + ReadCameraAvStreamManagementMinViewPortWidth() + : ReadAttribute("min-view-port-width") + { + } + + ~ReadCameraAvStreamManagementMinViewPortWidth() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MinViewPortWidth::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMinViewPortWidthWithCompletion:^(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MinViewPortWidth response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MinViewPortWidth read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementMinViewPortWidth : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMinViewPortWidth() + : SubscribeAttribute("min-view-port-width") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMinViewPortWidth() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MinViewPortWidth::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMinViewPortWidthWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MinViewPortWidth response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MinViewPortHeight + */ +class ReadCameraAvStreamManagementMinViewPortHeight : public ReadAttribute { +public: + ReadCameraAvStreamManagementMinViewPortHeight() + : ReadAttribute("min-view-port-height") + { + } + + ~ReadCameraAvStreamManagementMinViewPortHeight() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MinViewPortHeight::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMinViewPortHeightWithCompletion:^(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MinViewPortHeight response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MinViewPortHeight read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementMinViewPortHeight : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMinViewPortHeight() + : SubscribeAttribute("min-view-port-height") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMinViewPortHeight() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MinViewPortHeight::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMinViewPortHeightWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVStreamManagementClusterDimensionStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MinViewPortHeight response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute RateDistortionTradeOffPoints + */ +class ReadCameraAvStreamManagementRateDistortionTradeOffPoints : public ReadAttribute { +public: + ReadCameraAvStreamManagementRateDistortionTradeOffPoints() + : ReadAttribute("rate-distortion-trade-off-points") + { + } + + ~ReadCameraAvStreamManagementRateDistortionTradeOffPoints() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::RateDistortionTradeOffPoints::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeRateDistortionTradeOffPointsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.RateDistortionTradeOffPoints response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement RateDistortionTradeOffPoints read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementRateDistortionTradeOffPoints : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementRateDistortionTradeOffPoints() + : SubscribeAttribute("rate-distortion-trade-off-points") + { + } + + ~SubscribeAttributeCameraAvStreamManagementRateDistortionTradeOffPoints() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::RateDistortionTradeOffPoints::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeRateDistortionTradeOffPointsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.RateDistortionTradeOffPoints response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MaxPreRollBufferSize + */ +class ReadCameraAvStreamManagementMaxPreRollBufferSize : public ReadAttribute { +public: + ReadCameraAvStreamManagementMaxPreRollBufferSize() + : ReadAttribute("max-pre-roll-buffer-size") + { + } + + ~ReadCameraAvStreamManagementMaxPreRollBufferSize() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxPreRollBufferSize::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMaxPreRollBufferSizeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxPreRollBufferSize response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MaxPreRollBufferSize read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementMaxPreRollBufferSize : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMaxPreRollBufferSize() + : SubscribeAttribute("max-pre-roll-buffer-size") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMaxPreRollBufferSize() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxPreRollBufferSize::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMaxPreRollBufferSizeWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxPreRollBufferSize response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MicrophoneCapabilities + */ +class ReadCameraAvStreamManagementMicrophoneCapabilities : public ReadAttribute { +public: + ReadCameraAvStreamManagementMicrophoneCapabilities() + : ReadAttribute("microphone-capabilities") + { + } + + ~ReadCameraAvStreamManagementMicrophoneCapabilities() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicrophoneCapabilities::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMicrophoneCapabilitiesWithCompletion:^(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicrophoneCapabilities response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MicrophoneCapabilities read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementMicrophoneCapabilities : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMicrophoneCapabilities() + : SubscribeAttribute("microphone-capabilities") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMicrophoneCapabilities() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicrophoneCapabilities::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMicrophoneCapabilitiesWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicrophoneCapabilities response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SpeakerCapabilities + */ +class ReadCameraAvStreamManagementSpeakerCapabilities : public ReadAttribute { +public: + ReadCameraAvStreamManagementSpeakerCapabilities() + : ReadAttribute("speaker-capabilities") + { + } + + ~ReadCameraAvStreamManagementSpeakerCapabilities() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpeakerCapabilities::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSpeakerCapabilitiesWithCompletion:^(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpeakerCapabilities response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SpeakerCapabilities read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementSpeakerCapabilities : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSpeakerCapabilities() + : SubscribeAttribute("speaker-capabilities") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSpeakerCapabilities() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpeakerCapabilities::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSpeakerCapabilitiesWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVStreamManagementClusterAudioCapabilitiesStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpeakerCapabilities response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute TwoWayTalkSupport + */ +class ReadCameraAvStreamManagementTwoWayTalkSupport : public ReadAttribute { +public: + ReadCameraAvStreamManagementTwoWayTalkSupport() + : ReadAttribute("two-way-talk-support") + { + } + + ~ReadCameraAvStreamManagementTwoWayTalkSupport() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::TwoWayTalkSupport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeTwoWayTalkSupportWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.TwoWayTalkSupport response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement TwoWayTalkSupport read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementTwoWayTalkSupport : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementTwoWayTalkSupport() + : SubscribeAttribute("two-way-talk-support") + { + } + + ~SubscribeAttributeCameraAvStreamManagementTwoWayTalkSupport() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::TwoWayTalkSupport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeTwoWayTalkSupportWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.TwoWayTalkSupport response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SupportedSnapshotParams + */ +class ReadCameraAvStreamManagementSupportedSnapshotParams : public ReadAttribute { +public: + ReadCameraAvStreamManagementSupportedSnapshotParams() + : ReadAttribute("supported-snapshot-params") + { + } + + ~ReadCameraAvStreamManagementSupportedSnapshotParams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SupportedSnapshotParams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSupportedSnapshotParamsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SupportedSnapshotParams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SupportedSnapshotParams read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementSupportedSnapshotParams : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSupportedSnapshotParams() + : SubscribeAttribute("supported-snapshot-params") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSupportedSnapshotParams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SupportedSnapshotParams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSupportedSnapshotParamsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SupportedSnapshotParams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute HDRCapable + */ +class ReadCameraAvStreamManagementHDRCapable : public ReadAttribute { +public: + ReadCameraAvStreamManagementHDRCapable() + : ReadAttribute("hdrcapable") + { + } + + ~ReadCameraAvStreamManagementHDRCapable() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::HDRCapable::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeHDRCapableWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.HDRCapable response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement HDRCapable read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementHDRCapable : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementHDRCapable() + : SubscribeAttribute("hdrcapable") + { + } + + ~SubscribeAttributeCameraAvStreamManagementHDRCapable() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::HDRCapable::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeHDRCapableWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.HDRCapable response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MaxNetworkBandwidth + */ +class ReadCameraAvStreamManagementMaxNetworkBandwidth : public ReadAttribute { +public: + ReadCameraAvStreamManagementMaxNetworkBandwidth() + : ReadAttribute("max-network-bandwidth") + { + } + + ~ReadCameraAvStreamManagementMaxNetworkBandwidth() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxNetworkBandwidth::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMaxNetworkBandwidthWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxNetworkBandwidth response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MaxNetworkBandwidth read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementMaxNetworkBandwidth : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMaxNetworkBandwidth() + : SubscribeAttribute("max-network-bandwidth") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMaxNetworkBandwidth() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MaxNetworkBandwidth::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMaxNetworkBandwidthWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MaxNetworkBandwidth response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute CurrentFrameRate + */ +class ReadCameraAvStreamManagementCurrentFrameRate : public ReadAttribute { +public: + ReadCameraAvStreamManagementCurrentFrameRate() + : ReadAttribute("current-frame-rate") + { + } + + ~ReadCameraAvStreamManagementCurrentFrameRate() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentFrameRate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeCurrentFrameRateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.CurrentFrameRate response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement CurrentFrameRate read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementCurrentFrameRate : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementCurrentFrameRate() + : SubscribeAttribute("current-frame-rate") + { + } + + ~SubscribeAttributeCameraAvStreamManagementCurrentFrameRate() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentFrameRate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeCurrentFrameRateWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.CurrentFrameRate response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute HDRMode + */ +class ReadCameraAvStreamManagementHDRMode : public ReadAttribute { +public: + ReadCameraAvStreamManagementHDRMode() + : ReadAttribute("hdrmode") + { + } + + ~ReadCameraAvStreamManagementHDRMode() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::HDRMode::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeHDRModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.HDRMode response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement HDRMode read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementHDRMode : public WriteAttribute { +public: + WriteCameraAvStreamManagementHDRMode() + : WriteAttribute("hdrmode") + { + AddArgument("attr-name", "hdrmode"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementHDRMode() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::HDRMode::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeHDRModeWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement HDRMode write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementHDRMode : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementHDRMode() + : SubscribeAttribute("hdrmode") + { + } + + ~SubscribeAttributeCameraAvStreamManagementHDRMode() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::HDRMode::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeHDRModeWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.HDRMode response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute CurrentVideoCodecs + */ +class ReadCameraAvStreamManagementCurrentVideoCodecs : public ReadAttribute { +public: + ReadCameraAvStreamManagementCurrentVideoCodecs() + : ReadAttribute("current-video-codecs") + { + } + + ~ReadCameraAvStreamManagementCurrentVideoCodecs() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentVideoCodecs::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeCurrentVideoCodecsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.CurrentVideoCodecs response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement CurrentVideoCodecs read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementCurrentVideoCodecs : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementCurrentVideoCodecs() + : SubscribeAttribute("current-video-codecs") + { + } + + ~SubscribeAttributeCameraAvStreamManagementCurrentVideoCodecs() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentVideoCodecs::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeCurrentVideoCodecsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.CurrentVideoCodecs response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute CurrentSnapshotConfig + */ +class ReadCameraAvStreamManagementCurrentSnapshotConfig : public ReadAttribute { +public: + ReadCameraAvStreamManagementCurrentSnapshotConfig() + : ReadAttribute("current-snapshot-config") + { + } + + ~ReadCameraAvStreamManagementCurrentSnapshotConfig() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentSnapshotConfig::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeCurrentSnapshotConfigWithCompletion:^(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.CurrentSnapshotConfig response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement CurrentSnapshotConfig read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementCurrentSnapshotConfig : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementCurrentSnapshotConfig() + : SubscribeAttribute("current-snapshot-config") + { + } + + ~SubscribeAttributeCameraAvStreamManagementCurrentSnapshotConfig() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::CurrentSnapshotConfig::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeCurrentSnapshotConfigWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVStreamManagementClusterSnapshotParamsStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.CurrentSnapshotConfig response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute FabricsUsingCamera + */ +class ReadCameraAvStreamManagementFabricsUsingCamera : public ReadAttribute { +public: + ReadCameraAvStreamManagementFabricsUsingCamera() + : ReadAttribute("fabrics-using-camera") + { + } + + ~ReadCameraAvStreamManagementFabricsUsingCamera() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::FabricsUsingCamera::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeFabricsUsingCameraWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.FabricsUsingCamera response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement FabricsUsingCamera read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementFabricsUsingCamera : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementFabricsUsingCamera() + : SubscribeAttribute("fabrics-using-camera") + { + } + + ~SubscribeAttributeCameraAvStreamManagementFabricsUsingCamera() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::FabricsUsingCamera::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeFabricsUsingCameraWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.FabricsUsingCamera response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AllocatedVideoStreams + */ +class ReadCameraAvStreamManagementAllocatedVideoStreams : public ReadAttribute { +public: + ReadCameraAvStreamManagementAllocatedVideoStreams() + : ReadAttribute("allocated-video-streams") + { + } + + ~ReadCameraAvStreamManagementAllocatedVideoStreams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedVideoStreams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAllocatedVideoStreamsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AllocatedVideoStreams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement AllocatedVideoStreams read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementAllocatedVideoStreams : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementAllocatedVideoStreams() + : SubscribeAttribute("allocated-video-streams") + { + } + + ~SubscribeAttributeCameraAvStreamManagementAllocatedVideoStreams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedVideoStreams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAllocatedVideoStreamsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AllocatedVideoStreams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AllocatedAudioStreams + */ +class ReadCameraAvStreamManagementAllocatedAudioStreams : public ReadAttribute { +public: + ReadCameraAvStreamManagementAllocatedAudioStreams() + : ReadAttribute("allocated-audio-streams") + { + } + + ~ReadCameraAvStreamManagementAllocatedAudioStreams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedAudioStreams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAllocatedAudioStreamsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AllocatedAudioStreams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement AllocatedAudioStreams read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementAllocatedAudioStreams : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementAllocatedAudioStreams() + : SubscribeAttribute("allocated-audio-streams") + { + } + + ~SubscribeAttributeCameraAvStreamManagementAllocatedAudioStreams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedAudioStreams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAllocatedAudioStreamsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AllocatedAudioStreams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AllocatedSnapshotStreams + */ +class ReadCameraAvStreamManagementAllocatedSnapshotStreams : public ReadAttribute { +public: + ReadCameraAvStreamManagementAllocatedSnapshotStreams() + : ReadAttribute("allocated-snapshot-streams") + { + } + + ~ReadCameraAvStreamManagementAllocatedSnapshotStreams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedSnapshotStreams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAllocatedSnapshotStreamsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AllocatedSnapshotStreams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement AllocatedSnapshotStreams read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementAllocatedSnapshotStreams : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementAllocatedSnapshotStreams() + : SubscribeAttribute("allocated-snapshot-streams") + { + } + + ~SubscribeAttributeCameraAvStreamManagementAllocatedSnapshotStreams() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AllocatedSnapshotStreams::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAllocatedSnapshotStreamsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AllocatedSnapshotStreams response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute RankedVideoStreamPrioritiesList + */ +class ReadCameraAvStreamManagementRankedVideoStreamPrioritiesList : public ReadAttribute { +public: + ReadCameraAvStreamManagementRankedVideoStreamPrioritiesList() + : ReadAttribute("ranked-video-stream-priorities-list") + { + } + + ~ReadCameraAvStreamManagementRankedVideoStreamPrioritiesList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeRankedVideoStreamPrioritiesListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.RankedVideoStreamPrioritiesList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement RankedVideoStreamPrioritiesList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementRankedVideoStreamPrioritiesList : public WriteAttribute { +public: + WriteCameraAvStreamManagementRankedVideoStreamPrioritiesList() + : WriteAttribute("ranked-video-stream-priorities-list") + , mComplex(&mValue) + { + AddArgument("attr-name", "ranked-video-stream-priorities-list"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementRankedVideoStreamPrioritiesList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + for (auto & entry_0 : mValue) { + NSNumber * newElement_0; + newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)]; + [array_0 addObject:newElement_0]; + } + value = array_0; + } + + [cluster writeAttributeRankedVideoStreamPrioritiesListWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement RankedVideoStreamPrioritiesList write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument> mComplex; +}; + +class SubscribeAttributeCameraAvStreamManagementRankedVideoStreamPrioritiesList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementRankedVideoStreamPrioritiesList() + : SubscribeAttribute("ranked-video-stream-priorities-list") + { + } + + ~SubscribeAttributeCameraAvStreamManagementRankedVideoStreamPrioritiesList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::RankedVideoStreamPrioritiesList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeRankedVideoStreamPrioritiesListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.RankedVideoStreamPrioritiesList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SoftRecordingPrivacyModeSetting + */ +class ReadCameraAvStreamManagementSoftRecordingPrivacyModeSetting : public ReadAttribute { +public: + ReadCameraAvStreamManagementSoftRecordingPrivacyModeSetting() + : ReadAttribute("soft-recording-privacy-mode-setting") + { + } + + ~ReadCameraAvStreamManagementSoftRecordingPrivacyModeSetting() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSoftRecordingPrivacyModeSettingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SoftRecordingPrivacyModeSetting response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SoftRecordingPrivacyModeSetting read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementSoftRecordingPrivacyModeSetting : public WriteAttribute { +public: + WriteCameraAvStreamManagementSoftRecordingPrivacyModeSetting() + : WriteAttribute("soft-recording-privacy-mode-setting") + { + AddArgument("attr-name", "soft-recording-privacy-mode-setting"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementSoftRecordingPrivacyModeSetting() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeSoftRecordingPrivacyModeSettingWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement SoftRecordingPrivacyModeSetting write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementSoftRecordingPrivacyModeSetting : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSoftRecordingPrivacyModeSetting() + : SubscribeAttribute("soft-recording-privacy-mode-setting") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSoftRecordingPrivacyModeSetting() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftRecordingPrivacyModeSetting::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSoftRecordingPrivacyModeSettingWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SoftRecordingPrivacyModeSetting response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SoftLivestreamPrivacyModeSetting + */ +class ReadCameraAvStreamManagementSoftLivestreamPrivacyModeSetting : public ReadAttribute { +public: + ReadCameraAvStreamManagementSoftLivestreamPrivacyModeSetting() + : ReadAttribute("soft-livestream-privacy-mode-setting") + { + } + + ~ReadCameraAvStreamManagementSoftLivestreamPrivacyModeSetting() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSoftLivestreamPrivacyModeSettingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SoftLivestreamPrivacyModeSetting response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SoftLivestreamPrivacyModeSetting read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementSoftLivestreamPrivacyModeSetting : public WriteAttribute { +public: + WriteCameraAvStreamManagementSoftLivestreamPrivacyModeSetting() + : WriteAttribute("soft-livestream-privacy-mode-setting") + { + AddArgument("attr-name", "soft-livestream-privacy-mode-setting"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementSoftLivestreamPrivacyModeSetting() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeSoftLivestreamPrivacyModeSettingWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement SoftLivestreamPrivacyModeSetting write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementSoftLivestreamPrivacyModeSetting : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSoftLivestreamPrivacyModeSetting() + : SubscribeAttribute("soft-livestream-privacy-mode-setting") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSoftLivestreamPrivacyModeSetting() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SoftLivestreamPrivacyModeSetting::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSoftLivestreamPrivacyModeSettingWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SoftLivestreamPrivacyModeSetting response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute HardPrivacyMode + */ +class ReadCameraAvStreamManagementHardPrivacyMode : public ReadAttribute { +public: + ReadCameraAvStreamManagementHardPrivacyMode() + : ReadAttribute("hard-privacy-mode") + { + } + + ~ReadCameraAvStreamManagementHardPrivacyMode() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::HardPrivacyMode::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeHardPrivacyModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.HardPrivacyMode response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement HardPrivacyMode read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementHardPrivacyMode : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementHardPrivacyMode() + : SubscribeAttribute("hard-privacy-mode") + { + } + + ~SubscribeAttributeCameraAvStreamManagementHardPrivacyMode() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::HardPrivacyMode::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeHardPrivacyModeWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.HardPrivacyMode response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute NightVision + */ +class ReadCameraAvStreamManagementNightVision : public ReadAttribute { +public: + ReadCameraAvStreamManagementNightVision() + : ReadAttribute("night-vision") + { + } + + ~ReadCameraAvStreamManagementNightVision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeNightVisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.NightVision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement NightVision read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementNightVision : public WriteAttribute { +public: + WriteCameraAvStreamManagementNightVision() + : WriteAttribute("night-vision") + { + AddArgument("attr-name", "night-vision"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementNightVision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeNightVisionWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement NightVision write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementNightVision : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementNightVision() + : SubscribeAttribute("night-vision") + { + } + + ~SubscribeAttributeCameraAvStreamManagementNightVision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeNightVisionWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.NightVision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute NightVisionIllum + */ +class ReadCameraAvStreamManagementNightVisionIllum : public ReadAttribute { +public: + ReadCameraAvStreamManagementNightVisionIllum() + : ReadAttribute("night-vision-illum") + { + } + + ~ReadCameraAvStreamManagementNightVisionIllum() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVisionIllum::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeNightVisionIllumWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.NightVisionIllum response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement NightVisionIllum read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementNightVisionIllum : public WriteAttribute { +public: + WriteCameraAvStreamManagementNightVisionIllum() + : WriteAttribute("night-vision-illum") + { + AddArgument("attr-name", "night-vision-illum"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementNightVisionIllum() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVisionIllum::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeNightVisionIllumWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement NightVisionIllum write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementNightVisionIllum : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementNightVisionIllum() + : SubscribeAttribute("night-vision-illum") + { + } + + ~SubscribeAttributeCameraAvStreamManagementNightVisionIllum() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::NightVisionIllum::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeNightVisionIllumWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.NightVisionIllum response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute Awb + */ +class ReadCameraAvStreamManagementAwb : public ReadAttribute { +public: + ReadCameraAvStreamManagementAwb() + : ReadAttribute("awb") + { + } + + ~ReadCameraAvStreamManagementAwb() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Awb::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAWBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AWB response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement AWB read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementAwb : public WriteAttribute { +public: + WriteCameraAvStreamManagementAwb() + : WriteAttribute("awb") + { + AddArgument("attr-name", "awb"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementAwb() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Awb::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeAWBWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement AWB write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementAwb : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementAwb() + : SubscribeAttribute("awb") + { + } + + ~SubscribeAttributeCameraAvStreamManagementAwb() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Awb::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAWBWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AWB response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ShutterSpeed + */ +class ReadCameraAvStreamManagementShutterSpeed : public ReadAttribute { +public: + ReadCameraAvStreamManagementShutterSpeed() + : ReadAttribute("shutter-speed") + { + } + + ~ReadCameraAvStreamManagementShutterSpeed() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ShutterSpeed::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeShutterSpeedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ShutterSpeed response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement ShutterSpeed read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementShutterSpeed : public WriteAttribute { +public: + WriteCameraAvStreamManagementShutterSpeed() + : WriteAttribute("shutter-speed") + { + AddArgument("attr-name", "shutter-speed"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementShutterSpeed() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ShutterSpeed::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeShutterSpeedWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement ShutterSpeed write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementShutterSpeed : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementShutterSpeed() + : SubscribeAttribute("shutter-speed") + { + } + + ~SubscribeAttributeCameraAvStreamManagementShutterSpeed() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ShutterSpeed::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeShutterSpeedWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ShutterSpeed response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute Iso + */ +class ReadCameraAvStreamManagementIso : public ReadAttribute { +public: + ReadCameraAvStreamManagementIso() + : ReadAttribute("iso") + { + } + + ~ReadCameraAvStreamManagementIso() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Iso::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeISOWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ISO response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement ISO read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementIso : public WriteAttribute { +public: + WriteCameraAvStreamManagementIso() + : WriteAttribute("iso") + { + AddArgument("attr-name", "iso"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementIso() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Iso::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeISOWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement ISO write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementIso : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementIso() + : SubscribeAttribute("iso") + { + } + + ~SubscribeAttributeCameraAvStreamManagementIso() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Iso::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeISOWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ISO response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute Viewport + */ +class ReadCameraAvStreamManagementViewport : public ReadAttribute { +public: + ReadCameraAvStreamManagementViewport() + : ReadAttribute("viewport") + { + } + + ~ReadCameraAvStreamManagementViewport() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Viewport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeViewportWithCompletion:^(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.Viewport response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement Viewport read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementViewport : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementViewport() + : SubscribeAttribute("viewport") + { + } + + ~SubscribeAttributeCameraAvStreamManagementViewport() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::Viewport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeViewportWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVStreamManagementClusterViewportStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.Viewport response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SpkrOnOff + */ +class ReadCameraAvStreamManagementSpkrOnOff : public ReadAttribute { +public: + ReadCameraAvStreamManagementSpkrOnOff() + : ReadAttribute("spkr-on-off") + { + } + + ~ReadCameraAvStreamManagementSpkrOnOff() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrOnOff::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSpkrOnOffWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrOnOff response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SpkrOnOff read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementSpkrOnOff : public WriteAttribute { +public: + WriteCameraAvStreamManagementSpkrOnOff() + : WriteAttribute("spkr-on-off") + { + AddArgument("attr-name", "spkr-on-off"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementSpkrOnOff() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrOnOff::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeSpkrOnOffWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement SpkrOnOff write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementSpkrOnOff : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSpkrOnOff() + : SubscribeAttribute("spkr-on-off") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSpkrOnOff() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrOnOff::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSpkrOnOffWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrOnOff response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SpkrVolumeLevel + */ +class ReadCameraAvStreamManagementSpkrVolumeLevel : public ReadAttribute { +public: + ReadCameraAvStreamManagementSpkrVolumeLevel() + : ReadAttribute("spkr-volume-level") + { + } + + ~ReadCameraAvStreamManagementSpkrVolumeLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrVolumeLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSpkrVolumeLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrVolumeLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SpkrVolumeLevel read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementSpkrVolumeLevel : public WriteAttribute { +public: + WriteCameraAvStreamManagementSpkrVolumeLevel() + : WriteAttribute("spkr-volume-level") + { + AddArgument("attr-name", "spkr-volume-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementSpkrVolumeLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrVolumeLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeSpkrVolumeLevelWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement SpkrVolumeLevel write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementSpkrVolumeLevel : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSpkrVolumeLevel() + : SubscribeAttribute("spkr-volume-level") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSpkrVolumeLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrVolumeLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSpkrVolumeLevelWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrVolumeLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SpkrMaxLevel + */ +class ReadCameraAvStreamManagementSpkrMaxLevel : public ReadAttribute { +public: + ReadCameraAvStreamManagementSpkrMaxLevel() + : ReadAttribute("spkr-max-level") + { + } + + ~ReadCameraAvStreamManagementSpkrMaxLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMaxLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSpkrMaxLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrMaxLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SpkrMaxLevel read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementSpkrMaxLevel : public WriteAttribute { +public: + WriteCameraAvStreamManagementSpkrMaxLevel() + : WriteAttribute("spkr-max-level") + { + AddArgument("attr-name", "spkr-max-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementSpkrMaxLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMaxLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeSpkrMaxLevelWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement SpkrMaxLevel write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementSpkrMaxLevel : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSpkrMaxLevel() + : SubscribeAttribute("spkr-max-level") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSpkrMaxLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMaxLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSpkrMaxLevelWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrMaxLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SpkrMinLevel + */ +class ReadCameraAvStreamManagementSpkrMinLevel : public ReadAttribute { +public: + ReadCameraAvStreamManagementSpkrMinLevel() + : ReadAttribute("spkr-min-level") + { + } + + ~ReadCameraAvStreamManagementSpkrMinLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMinLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSpkrMinLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrMinLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement SpkrMinLevel read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementSpkrMinLevel : public WriteAttribute { +public: + WriteCameraAvStreamManagementSpkrMinLevel() + : WriteAttribute("spkr-min-level") + { + AddArgument("attr-name", "spkr-min-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementSpkrMinLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMinLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeSpkrMinLevelWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement SpkrMinLevel write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementSpkrMinLevel : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementSpkrMinLevel() + : SubscribeAttribute("spkr-min-level") + { + } + + ~SubscribeAttributeCameraAvStreamManagementSpkrMinLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::SpkrMinLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSpkrMinLevelWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.SpkrMinLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MicOnOff + */ +class ReadCameraAvStreamManagementMicOnOff : public ReadAttribute { +public: + ReadCameraAvStreamManagementMicOnOff() + : ReadAttribute("mic-on-off") + { + } + + ~ReadCameraAvStreamManagementMicOnOff() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicOnOff::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMicOnOffWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicOnOff response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MicOnOff read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementMicOnOff : public WriteAttribute { +public: + WriteCameraAvStreamManagementMicOnOff() + : WriteAttribute("mic-on-off") + { + AddArgument("attr-name", "mic-on-off"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementMicOnOff() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicOnOff::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeMicOnOffWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement MicOnOff write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementMicOnOff : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMicOnOff() + : SubscribeAttribute("mic-on-off") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMicOnOff() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicOnOff::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMicOnOffWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicOnOff response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MicCurrentLevel + */ +class ReadCameraAvStreamManagementMicCurrentLevel : public ReadAttribute { +public: + ReadCameraAvStreamManagementMicCurrentLevel() + : ReadAttribute("mic-current-level") + { + } + + ~ReadCameraAvStreamManagementMicCurrentLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicCurrentLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMicCurrentLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicCurrentLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MicCurrentLevel read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementMicCurrentLevel : public WriteAttribute { +public: + WriteCameraAvStreamManagementMicCurrentLevel() + : WriteAttribute("mic-current-level") + { + AddArgument("attr-name", "mic-current-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementMicCurrentLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicCurrentLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeMicCurrentLevelWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement MicCurrentLevel write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementMicCurrentLevel : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMicCurrentLevel() + : SubscribeAttribute("mic-current-level") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMicCurrentLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicCurrentLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMicCurrentLevelWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicCurrentLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MicMaxLevel + */ +class ReadCameraAvStreamManagementMicMaxLevel : public ReadAttribute { +public: + ReadCameraAvStreamManagementMicMaxLevel() + : ReadAttribute("mic-max-level") + { + } + + ~ReadCameraAvStreamManagementMicMaxLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMaxLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMicMaxLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicMaxLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MicMaxLevel read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementMicMaxLevel : public WriteAttribute { +public: + WriteCameraAvStreamManagementMicMaxLevel() + : WriteAttribute("mic-max-level") + { + AddArgument("attr-name", "mic-max-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementMicMaxLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMaxLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeMicMaxLevelWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement MicMaxLevel write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementMicMaxLevel : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMicMaxLevel() + : SubscribeAttribute("mic-max-level") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMicMaxLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMaxLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMicMaxLevelWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicMaxLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MicMinLevel + */ +class ReadCameraAvStreamManagementMicMinLevel : public ReadAttribute { +public: + ReadCameraAvStreamManagementMicMinLevel() + : ReadAttribute("mic-min-level") + { + } + + ~ReadCameraAvStreamManagementMicMinLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMinLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMicMinLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicMinLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MicMinLevel read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementMicMinLevel : public WriteAttribute { +public: + WriteCameraAvStreamManagementMicMinLevel() + : WriteAttribute("mic-min-level") + { + AddArgument("attr-name", "mic-min-level"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementMicMinLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMinLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeMicMinLevelWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement MicMinLevel write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementMicMinLevel : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMicMinLevel() + : SubscribeAttribute("mic-min-level") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMicMinLevel() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicMinLevel::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMicMinLevelWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicMinLevel response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MicAGC + */ +class ReadCameraAvStreamManagementMicAGC : public ReadAttribute { +public: + ReadCameraAvStreamManagementMicAGC() + : ReadAttribute("mic-agc") + { + } + + ~ReadCameraAvStreamManagementMicAGC() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicAGC::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMicAGCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicAGC response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement MicAGC read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementMicAGC : public WriteAttribute { +public: + WriteCameraAvStreamManagementMicAGC() + : WriteAttribute("mic-agc") + { + AddArgument("attr-name", "mic-agc"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementMicAGC() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicAGC::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeMicAGCWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement MicAGC write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementMicAGC : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementMicAGC() + : SubscribeAttribute("mic-agc") + { + } + + ~SubscribeAttributeCameraAvStreamManagementMicAGC() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::MicAGC::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMicAGCWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.MicAGC response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ImageRotation + */ +class ReadCameraAvStreamManagementImageRotation : public ReadAttribute { +public: + ReadCameraAvStreamManagementImageRotation() + : ReadAttribute("image-rotation") + { + } + + ~ReadCameraAvStreamManagementImageRotation() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageRotation::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeImageRotationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ImageRotation response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement ImageRotation read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementImageRotation : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementImageRotation() + : SubscribeAttribute("image-rotation") + { + } + + ~SubscribeAttributeCameraAvStreamManagementImageRotation() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageRotation::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeImageRotationWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ImageRotation response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ImageFlipHorizontal + */ +class ReadCameraAvStreamManagementImageFlipHorizontal : public ReadAttribute { +public: + ReadCameraAvStreamManagementImageFlipHorizontal() + : ReadAttribute("image-flip-horizontal") + { + } + + ~ReadCameraAvStreamManagementImageFlipHorizontal() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageFlipHorizontal::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeImageFlipHorizontalWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ImageFlipHorizontal response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement ImageFlipHorizontal read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementImageFlipHorizontal : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementImageFlipHorizontal() + : SubscribeAttribute("image-flip-horizontal") + { + } + + ~SubscribeAttributeCameraAvStreamManagementImageFlipHorizontal() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageFlipHorizontal::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeImageFlipHorizontalWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ImageFlipHorizontal response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ImageFlipVertical + */ +class ReadCameraAvStreamManagementImageFlipVertical : public ReadAttribute { +public: + ReadCameraAvStreamManagementImageFlipVertical() + : ReadAttribute("image-flip-vertical") + { + } + + ~ReadCameraAvStreamManagementImageFlipVertical() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageFlipVertical::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeImageFlipVerticalWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ImageFlipVertical response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement ImageFlipVertical read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementImageFlipVertical : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementImageFlipVertical() + : SubscribeAttribute("image-flip-vertical") + { + } + + ~SubscribeAttributeCameraAvStreamManagementImageFlipVertical() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ImageFlipVertical::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeImageFlipVerticalWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ImageFlipVertical response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute LocalVideoRecordingEnabled + */ +class ReadCameraAvStreamManagementLocalVideoRecordingEnabled : public ReadAttribute { +public: + ReadCameraAvStreamManagementLocalVideoRecordingEnabled() + : ReadAttribute("local-video-recording-enabled") + { + } + + ~ReadCameraAvStreamManagementLocalVideoRecordingEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeLocalVideoRecordingEnabledWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.LocalVideoRecordingEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement LocalVideoRecordingEnabled read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementLocalVideoRecordingEnabled : public WriteAttribute { +public: + WriteCameraAvStreamManagementLocalVideoRecordingEnabled() + : WriteAttribute("local-video-recording-enabled") + { + AddArgument("attr-name", "local-video-recording-enabled"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementLocalVideoRecordingEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeLocalVideoRecordingEnabledWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement LocalVideoRecordingEnabled write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementLocalVideoRecordingEnabled : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementLocalVideoRecordingEnabled() + : SubscribeAttribute("local-video-recording-enabled") + { + } + + ~SubscribeAttributeCameraAvStreamManagementLocalVideoRecordingEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalVideoRecordingEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeLocalVideoRecordingEnabledWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.LocalVideoRecordingEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute LocalSnapshotRecordingEnabled + */ +class ReadCameraAvStreamManagementLocalSnapshotRecordingEnabled : public ReadAttribute { +public: + ReadCameraAvStreamManagementLocalSnapshotRecordingEnabled() + : ReadAttribute("local-snapshot-recording-enabled") + { + } + + ~ReadCameraAvStreamManagementLocalSnapshotRecordingEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeLocalSnapshotRecordingEnabledWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.LocalSnapshotRecordingEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement LocalSnapshotRecordingEnabled read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementLocalSnapshotRecordingEnabled : public WriteAttribute { +public: + WriteCameraAvStreamManagementLocalSnapshotRecordingEnabled() + : WriteAttribute("local-snapshot-recording-enabled") + { + AddArgument("attr-name", "local-snapshot-recording-enabled"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementLocalSnapshotRecordingEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeLocalSnapshotRecordingEnabledWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement LocalSnapshotRecordingEnabled write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementLocalSnapshotRecordingEnabled : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementLocalSnapshotRecordingEnabled() + : SubscribeAttribute("local-snapshot-recording-enabled") + { + } + + ~SubscribeAttributeCameraAvStreamManagementLocalSnapshotRecordingEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::LocalSnapshotRecordingEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeLocalSnapshotRecordingEnabledWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.LocalSnapshotRecordingEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute StatusLight + */ +class ReadCameraAvStreamManagementStatusLight : public ReadAttribute { +public: + ReadCameraAvStreamManagementStatusLight() + : ReadAttribute("status-light") + { + } + + ~ReadCameraAvStreamManagementStatusLight() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLight::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeStatusLightWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.StatusLight response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement StatusLight read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementStatusLight : public WriteAttribute { +public: + WriteCameraAvStreamManagementStatusLight() + : WriteAttribute("status-light") + { + AddArgument("attr-name", "status-light"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementStatusLight() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLight::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeStatusLightWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement StatusLight write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementStatusLight : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementStatusLight() + : SubscribeAttribute("status-light") + { + } + + ~SubscribeAttributeCameraAvStreamManagementStatusLight() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLight::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeStatusLightWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.StatusLight response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute StatusLightBrightness + */ +class ReadCameraAvStreamManagementStatusLightBrightness : public ReadAttribute { +public: + ReadCameraAvStreamManagementStatusLightBrightness() + : ReadAttribute("status-light-brightness") + { + } + + ~ReadCameraAvStreamManagementStatusLightBrightness() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLightBrightness::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeStatusLightBrightnessWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.StatusLightBrightness response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement StatusLightBrightness read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementStatusLightBrightness : public WriteAttribute { +public: + WriteCameraAvStreamManagementStatusLightBrightness() + : WriteAttribute("status-light-brightness") + { + AddArgument("attr-name", "status-light-brightness"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementStatusLightBrightness() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLightBrightness::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeStatusLightBrightnessWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement StatusLightBrightness write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementStatusLightBrightness : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementStatusLightBrightness() + : SubscribeAttribute("status-light-brightness") + { + } + + ~SubscribeAttributeCameraAvStreamManagementStatusLightBrightness() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::StatusLightBrightness::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeStatusLightBrightnessWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.StatusLightBrightness response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute DepthSensorStatus + */ +class ReadCameraAvStreamManagementDepthSensorStatus : public ReadAttribute { +public: + ReadCameraAvStreamManagementDepthSensorStatus() + : ReadAttribute("depth-sensor-status") + { + } + + ~ReadCameraAvStreamManagementDepthSensorStatus() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::DepthSensorStatus::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeDepthSensorStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.DepthSensorStatus response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement DepthSensorStatus read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementDepthSensorStatus : public WriteAttribute { +public: + WriteCameraAvStreamManagementDepthSensorStatus() + : WriteAttribute("depth-sensor-status") + { + AddArgument("attr-name", "depth-sensor-status"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementDepthSensorStatus() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::DepthSensorStatus::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeDepthSensorStatusWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement DepthSensorStatus write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeCameraAvStreamManagementDepthSensorStatus : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementDepthSensorStatus() + : SubscribeAttribute("depth-sensor-status") + { + } + + ~SubscribeAttributeCameraAvStreamManagementDepthSensorStatus() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::DepthSensorStatus::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeDepthSensorStatusWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.DepthSensorStatus response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute WatermarkEnabled + */ +class ReadCameraAvStreamManagementWatermarkEnabled : public ReadAttribute { +public: + ReadCameraAvStreamManagementWatermarkEnabled() + : ReadAttribute("watermark-enabled") + { + } + + ~ReadCameraAvStreamManagementWatermarkEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::WatermarkEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeWatermarkEnabledWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.WatermarkEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement WatermarkEnabled read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementWatermarkEnabled : public WriteAttribute { +public: + WriteCameraAvStreamManagementWatermarkEnabled() + : WriteAttribute("watermark-enabled") + , mComplex(&mValue) + { + AddArgument("attr-name", "watermark-enabled"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementWatermarkEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::WatermarkEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + for (auto & entry_0 : mValue) { + MTRCameraAVStreamManagementClusterPerStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterPerStreamStruct new]; + newElement_0.streamID = [NSNumber numberWithUnsignedShort:entry_0.streamID]; + newElement_0.onOff = [NSNumber numberWithBool:entry_0.onOff]; + [array_0 addObject:newElement_0]; + } + value = array_0; + } + + [cluster writeAttributeWatermarkEnabledWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement WatermarkEnabled write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument> mComplex; +}; + +class SubscribeAttributeCameraAvStreamManagementWatermarkEnabled : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementWatermarkEnabled() + : SubscribeAttribute("watermark-enabled") + { + } + + ~SubscribeAttributeCameraAvStreamManagementWatermarkEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::WatermarkEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeWatermarkEnabledWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.WatermarkEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute OSDEnabled + */ +class ReadCameraAvStreamManagementOSDEnabled : public ReadAttribute { +public: + ReadCameraAvStreamManagementOSDEnabled() + : ReadAttribute("osdenabled") + { + } + + ~ReadCameraAvStreamManagementOSDEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::OSDEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeOSDEnabledWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.OSDEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement OSDEnabled read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteCameraAvStreamManagementOSDEnabled : public WriteAttribute { +public: + WriteCameraAvStreamManagementOSDEnabled() + : WriteAttribute("osdenabled") + , mComplex(&mValue) + { + AddArgument("attr-name", "osdenabled"); + AddArgument("attr-value", &mComplex); + WriteAttribute::AddArguments(); + } + + ~WriteCameraAvStreamManagementOSDEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::OSDEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSArray * _Nonnull value; + { // Scope for our temporary variables + auto * array_0 = [NSMutableArray new]; + for (auto & entry_0 : mValue) { + MTRCameraAVStreamManagementClusterPerStreamStruct * newElement_0; + newElement_0 = [MTRCameraAVStreamManagementClusterPerStreamStruct new]; + newElement_0.streamID = [NSNumber numberWithUnsignedShort:entry_0.streamID]; + newElement_0.onOff = [NSNumber numberWithBool:entry_0.onOff]; + [array_0 addObject:newElement_0]; + } + value = array_0; + } + + [cluster writeAttributeOSDEnabledWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("CameraAVStreamManagement OSDEnabled write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + chip::app::DataModel::List mValue; + TypedComplexArgument> mComplex; +}; + +class SubscribeAttributeCameraAvStreamManagementOSDEnabled : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementOSDEnabled() + : SubscribeAttribute("osdenabled") + { + } + + ~SubscribeAttributeCameraAvStreamManagementOSDEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::OSDEnabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeOSDEnabledWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.OSDEnabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute GeneratedCommandList + */ +class ReadCameraAvStreamManagementGeneratedCommandList : public ReadAttribute { +public: + ReadCameraAvStreamManagementGeneratedCommandList() + : ReadAttribute("generated-command-list") + { + } + + ~ReadCameraAvStreamManagementGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement GeneratedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementGeneratedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementGeneratedCommandList() + : SubscribeAttribute("generated-command-list") + { + } + + ~SubscribeAttributeCameraAvStreamManagementGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeGeneratedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AcceptedCommandList + */ +class ReadCameraAvStreamManagementAcceptedCommandList : public ReadAttribute { +public: + ReadCameraAvStreamManagementAcceptedCommandList() + : ReadAttribute("accepted-command-list") + { + } + + ~ReadCameraAvStreamManagementAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement AcceptedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementAcceptedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementAcceptedCommandList() + : SubscribeAttribute("accepted-command-list") + { + } + + ~SubscribeAttributeCameraAvStreamManagementAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAcceptedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute EventList + */ +class ReadCameraAvStreamManagementEventList : public ReadAttribute { +public: + ReadCameraAvStreamManagementEventList() + : ReadAttribute("event-list") + { + } + + ~ReadCameraAvStreamManagementEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeEventListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement EventList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementEventList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementEventList() + : SubscribeAttribute("event-list") + { + } + + ~SubscribeAttributeCameraAvStreamManagementEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeEventListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AttributeList + */ +class ReadCameraAvStreamManagementAttributeList : public ReadAttribute { +public: + ReadCameraAvStreamManagementAttributeList() + : ReadAttribute("attribute-list") + { + } + + ~ReadCameraAvStreamManagementAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement AttributeList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementAttributeList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementAttributeList() + : SubscribeAttribute("attribute-list") + { + } + + ~SubscribeAttributeCameraAvStreamManagementAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAttributeListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute FeatureMap + */ +class ReadCameraAvStreamManagementFeatureMap : public ReadAttribute { +public: + ReadCameraAvStreamManagementFeatureMap() + : ReadAttribute("feature-map") + { + } + + ~ReadCameraAvStreamManagementFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement FeatureMap read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementFeatureMap : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementFeatureMap() + : SubscribeAttribute("feature-map") + { + } + + ~SubscribeAttributeCameraAvStreamManagementFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeFeatureMapWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ClusterRevision + */ +class ReadCameraAvStreamManagementClusterRevision : public ReadAttribute { +public: + ReadCameraAvStreamManagementClusterRevision() + : ReadAttribute("cluster-revision") + { + } + + ~ReadCameraAvStreamManagementClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVStreamManagement ClusterRevision read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvStreamManagementClusterRevision : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvStreamManagementClusterRevision() + : SubscribeAttribute("cluster-revision") + { + } + + ~SubscribeAttributeCameraAvStreamManagementClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvStreamManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvStreamManagement::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVStreamManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeClusterRevisionWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVStreamManagement.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/*----------------------------------------------------------------------------*\ +| Cluster CameraAvSettingsUserLevelManagement | 0x0552 | +|------------------------------------------------------------------------------| +| Commands: | | +| * MptzSet | 0x00 | +| * MptzRelativeMove | 0x01 | +| * SetAsPreset | 0x02 | +| * DptzSetViewport | 0x03 | +| * DptzRelativeMove | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * Mptz | 0x0000 | +| * MaxPresets | 0x0001 | +| * PresetMptzTable | 0x0002 | +| * MptzRelativeMove | 0x0003 | +| * DptzRelativeMove | 0x0004 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +#if MTR_ENABLE_PROVISIONAL +/* + * Command MptzSet + */ +class CameraAvSettingsUserLevelManagementMptzSet : public ClusterCommand { +public: + CameraAvSettingsUserLevelManagementMptzSet() + : ClusterCommand("mptz-set") + , mComplex_NewPTZ(&mRequest.newPTZ) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("NewPTZ", &mComplex_NewPTZ); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("PresetID", 0, UINT8_MAX, &mRequest.presetID); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVSettingsUserLevelManagementClusterMptzSetParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + if (mRequest.newPTZ.HasValue()) { + params.newPTZ = [MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct new]; + if (mRequest.newPTZ.Value().MPan.HasValue()) { + if (mRequest.newPTZ.Value().MPan.Value().IsNull()) { + params.newPTZ.mPan = nil; + } else { + params.newPTZ.mPan = [NSNumber numberWithShort:mRequest.newPTZ.Value().MPan.Value().Value()]; + } + } else { + params.newPTZ.mPan = nil; + } + if (mRequest.newPTZ.Value().MTilt.HasValue()) { + if (mRequest.newPTZ.Value().MTilt.Value().IsNull()) { + params.newPTZ.mTilt = nil; + } else { + params.newPTZ.mTilt = [NSNumber numberWithChar:mRequest.newPTZ.Value().MTilt.Value().Value()]; + } + } else { + params.newPTZ.mTilt = nil; + } + if (mRequest.newPTZ.Value().MZoom.HasValue()) { + if (mRequest.newPTZ.Value().MZoom.Value().IsNull()) { + params.newPTZ.mZoom = nil; + } else { + params.newPTZ.mZoom = [NSNumber numberWithUnsignedShort:mRequest.newPTZ.Value().MZoom.Value().Value()]; + } + } else { + params.newPTZ.mZoom = nil; + } + } else { + params.newPTZ = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.presetID.HasValue()) { + params.presetID = [NSNumber numberWithUnsignedChar:mRequest.presetID.Value()]; + } else { + params.presetID = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster mptzSetWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzSet::Type mRequest; + TypedComplexArgument> mComplex_NewPTZ; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command MptzRelativeMove + */ +class CameraAvSettingsUserLevelManagementMptzRelativeMove : public ClusterCommand { +public: + CameraAvSettingsUserLevelManagementMptzRelativeMove() + : ClusterCommand("mptz-relative-move") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("Pan", INT16_MIN, INT16_MAX, &mRequest.pan); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Tilt", INT16_MIN, INT16_MAX, &mRequest.tilt); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Zoom", INT16_MIN, INT16_MAX, &mRequest.zoom); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVSettingsUserLevelManagementClusterMptzRelativeMoveParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.pan = [NSNumber numberWithShort:mRequest.pan]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.tilt = [NSNumber numberWithShort:mRequest.tilt]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.zoom = [NSNumber numberWithShort:mRequest.zoom]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster mptzRelativeMoveWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MptzRelativeMove::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SetAsPreset + */ +class CameraAvSettingsUserLevelManagementSetAsPreset : public ClusterCommand { +public: + CameraAvSettingsUserLevelManagementSetAsPreset() + : ClusterCommand("set-as-preset") + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::SetAsPreset::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVSettingsUserLevelManagementClusterSetAsPresetParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster setAsPresetWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command DptzSetViewport + */ +class CameraAvSettingsUserLevelManagementDptzSetViewport : public ClusterCommand { +public: + CameraAvSettingsUserLevelManagementDptzSetViewport() + : ClusterCommand("dptz-set-viewport") + , mComplex_Viewport(&mRequest.viewport) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Viewport", &mComplex_Viewport); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVSettingsUserLevelManagementClusterDptzSetViewportParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.videoStreamID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.viewport = [MTRCameraAVSettingsUserLevelManagementClusterViewportStruct new]; + params.viewport.x1 = [NSNumber numberWithUnsignedShort:mRequest.viewport.x1]; + params.viewport.y1 = [NSNumber numberWithUnsignedShort:mRequest.viewport.y1]; + params.viewport.x2 = [NSNumber numberWithUnsignedShort:mRequest.viewport.x2]; + params.viewport.y2 = [NSNumber numberWithUnsignedShort:mRequest.viewport.y2]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster dptzSetViewportWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzSetViewport::Type mRequest; + TypedComplexArgument mComplex_Viewport; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command DptzRelativeMove + */ +class CameraAvSettingsUserLevelManagementDptzRelativeMove : public ClusterCommand { +public: + CameraAvSettingsUserLevelManagementDptzRelativeMove() + : ClusterCommand("dptz-relative-move") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Pan", INT16_MIN, INT16_MAX, &mRequest.pan); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Tilt", INT16_MIN, INT16_MAX, &mRequest.tilt); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Zoom", INT8_MIN, INT8_MAX, &mRequest.zoom); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRCameraAVSettingsUserLevelManagementClusterDptzRelativeMoveParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.videoStreamID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.pan = [NSNumber numberWithShort:mRequest.pan]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.tilt = [NSNumber numberWithShort:mRequest.tilt]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.zoom = [NSNumber numberWithChar:mRequest.zoom]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster dptzRelativeMoveWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DptzRelativeMove::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL + +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute Mptz + */ +class ReadCameraAvSettingsUserLevelManagementMptz : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementMptz() + : ReadAttribute("mptz") + { + } + + ~ReadCameraAvSettingsUserLevelManagementMptz() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::Mptz::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMptzWithCompletion:^(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.Mptz response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement Mptz read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementMptz : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementMptz() + : SubscribeAttribute("mptz") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementMptz() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::Mptz::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMptzWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(MTRCameraAVSettingsUserLevelManagementClusterMPTZStruct * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.Mptz response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MaxPresets + */ +class ReadCameraAvSettingsUserLevelManagementMaxPresets : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementMaxPresets() + : ReadAttribute("max-presets") + { + } + + ~ReadCameraAvSettingsUserLevelManagementMaxPresets() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::MaxPresets::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMaxPresetsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.MaxPresets response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement MaxPresets read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementMaxPresets : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementMaxPresets() + : SubscribeAttribute("max-presets") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementMaxPresets() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::MaxPresets::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMaxPresetsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.MaxPresets response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute PresetMptzTable + */ +class ReadCameraAvSettingsUserLevelManagementPresetMptzTable : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementPresetMptzTable() + : ReadAttribute("preset-mptz-table") + { + } + + ~ReadCameraAvSettingsUserLevelManagementPresetMptzTable() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::PresetMptzTable::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributePresetMptzTableWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.PresetMptzTable response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement PresetMptzTable read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementPresetMptzTable : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementPresetMptzTable() + : SubscribeAttribute("preset-mptz-table") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementPresetMptzTable() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::PresetMptzTable::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributePresetMptzTableWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.PresetMptzTable response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute MptzRelativeMove + */ +class ReadCameraAvSettingsUserLevelManagementMptzRelativeMove : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementMptzRelativeMove() + : ReadAttribute("mptz-relative-move") + { + } + + ~ReadCameraAvSettingsUserLevelManagementMptzRelativeMove() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::MptzRelativeMove::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeMptzRelativeMoveWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.MptzRelativeMove response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement MptzRelativeMove read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementMptzRelativeMove : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementMptzRelativeMove() + : SubscribeAttribute("mptz-relative-move") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementMptzRelativeMove() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::MptzRelativeMove::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeMptzRelativeMoveWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.MptzRelativeMove response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute DptzRelativeMove + */ +class ReadCameraAvSettingsUserLevelManagementDptzRelativeMove : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementDptzRelativeMove() + : ReadAttribute("dptz-relative-move") + { + } + + ~ReadCameraAvSettingsUserLevelManagementDptzRelativeMove() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::DptzRelativeMove::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeDptzRelativeMoveWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.DptzRelativeMove response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement DptzRelativeMove read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementDptzRelativeMove : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementDptzRelativeMove() + : SubscribeAttribute("dptz-relative-move") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementDptzRelativeMove() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::DptzRelativeMove::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeDptzRelativeMoveWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.DptzRelativeMove response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute GeneratedCommandList + */ +class ReadCameraAvSettingsUserLevelManagementGeneratedCommandList : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementGeneratedCommandList() + : ReadAttribute("generated-command-list") + { + } + + ~ReadCameraAvSettingsUserLevelManagementGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement GeneratedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementGeneratedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementGeneratedCommandList() + : SubscribeAttribute("generated-command-list") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeGeneratedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AcceptedCommandList + */ +class ReadCameraAvSettingsUserLevelManagementAcceptedCommandList : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementAcceptedCommandList() + : ReadAttribute("accepted-command-list") + { + } + + ~ReadCameraAvSettingsUserLevelManagementAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement AcceptedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementAcceptedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementAcceptedCommandList() + : SubscribeAttribute("accepted-command-list") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAcceptedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute EventList + */ +class ReadCameraAvSettingsUserLevelManagementEventList : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementEventList() + : ReadAttribute("event-list") + { + } + + ~ReadCameraAvSettingsUserLevelManagementEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeEventListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement EventList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementEventList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementEventList() + : SubscribeAttribute("event-list") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeEventListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AttributeList + */ +class ReadCameraAvSettingsUserLevelManagementAttributeList : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementAttributeList() + : ReadAttribute("attribute-list") + { + } + + ~ReadCameraAvSettingsUserLevelManagementAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement AttributeList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementAttributeList : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementAttributeList() + : SubscribeAttribute("attribute-list") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAttributeListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute FeatureMap + */ +class ReadCameraAvSettingsUserLevelManagementFeatureMap : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementFeatureMap() + : ReadAttribute("feature-map") + { + } + + ~ReadCameraAvSettingsUserLevelManagementFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement FeatureMap read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementFeatureMap : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementFeatureMap() + : SubscribeAttribute("feature-map") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeFeatureMapWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ClusterRevision + */ +class ReadCameraAvSettingsUserLevelManagementClusterRevision : public ReadAttribute { +public: + ReadCameraAvSettingsUserLevelManagementClusterRevision() + : ReadAttribute("cluster-revision") + { + } + + ~ReadCameraAvSettingsUserLevelManagementClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("CameraAVSettingsUserLevelManagement ClusterRevision read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeCameraAvSettingsUserLevelManagementClusterRevision : public SubscribeAttribute { +public: + SubscribeAttributeCameraAvSettingsUserLevelManagementClusterRevision() + : SubscribeAttribute("cluster-revision") + { + } + + ~SubscribeAttributeCameraAvSettingsUserLevelManagementClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::CameraAvSettingsUserLevelManagement::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterCameraAVSettingsUserLevelManagement alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeClusterRevisionWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"CameraAVSettingsUserLevelManagement.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/*----------------------------------------------------------------------------*\ +| Cluster WebRTCTransportProvider | 0x0553 | +|------------------------------------------------------------------------------| +| Commands: | | +| * WebRTCSolicitOffer | 0x01 | +| * WebRTCProvideOffer | 0x03 | +| * WebRTCProvideAnswer | 0x05 | +| * WebRTCProvideICECandidate | 0x06 | +| * WebRTCEndSession | 0x07 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentSessions | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCSolicitOffer + */ +class WebRTCTransportProviderWebRTCSolicitOffer : public ClusterCommand { +public: + WebRTCTransportProviderWebRTCSolicitOffer() + : ClusterCommand("web-rtcsolicit-offer") + , mComplex_ICEServers(&mRequest.ICEServers) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("AudioStreamID", 0, UINT16_MAX, &mRequest.audioStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICEServers", &mComplex_ICEServers); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICETransportPolicy", &mRequest.ICETransportPolicy); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MetadataOptions", 0, UINT8_MAX, &mRequest.metadataOptions); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportProviderClusterWebRTCSolicitOfferParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamType)]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.videoStreamID.HasValue()) { + if (mRequest.videoStreamID.Value().IsNull()) { + params.videoStreamID = nil; + } else { + params.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.videoStreamID.Value().Value()]; + } + } else { + params.videoStreamID = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.audioStreamID.HasValue()) { + if (mRequest.audioStreamID.Value().IsNull()) { + params.audioStreamID = nil; + } else { + params.audioStreamID = [NSNumber numberWithUnsignedShort:mRequest.audioStreamID.Value().Value()]; + } + } else { + params.audioStreamID = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.ICEServers.HasValue()) { + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + for (auto & entry_1 : mRequest.ICEServers.Value()) { + MTRWebRTCTransportProviderClusterICEServerStruct * newElement_1; + newElement_1 = [MTRWebRTCTransportProviderClusterICEServerStruct new]; + { // Scope for our temporary variables + auto * array_3 = [NSMutableArray new]; + for (auto & entry_3 : entry_1.urls) { + NSString * newElement_3; + newElement_3 = [[NSString alloc] initWithBytes:entry_3.data() length:entry_3.size() encoding:NSUTF8StringEncoding]; + [array_3 addObject:newElement_3]; + } + newElement_1.urls = array_3; + } + if (entry_1.username.HasValue()) { + newElement_1.username = [[NSString alloc] initWithBytes:entry_1.username.Value().data() length:entry_1.username.Value().size() encoding:NSUTF8StringEncoding]; + } else { + newElement_1.username = nil; + } + if (entry_1.credential.HasValue()) { + newElement_1.credential = [[NSString alloc] initWithBytes:entry_1.credential.Value().data() length:entry_1.credential.Value().size() encoding:NSUTF8StringEncoding]; + } else { + newElement_1.credential = nil; + } + if (entry_1.caid.HasValue()) { + newElement_1.caid = [NSNumber numberWithUnsignedShort:entry_1.caid.Value()]; + } else { + newElement_1.caid = nil; + } + [array_1 addObject:newElement_1]; + } + params.iceServers = array_1; + } + } else { + params.iceServers = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.ICETransportPolicy.HasValue()) { + params.iceTransportPolicy = [[NSString alloc] initWithBytes:mRequest.ICETransportPolicy.Value().data() length:mRequest.ICETransportPolicy.Value().size() encoding:NSUTF8StringEncoding]; + } else { + params.iceTransportPolicy = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.metadataOptions.HasValue()) { + params.metadataOptions = [NSNumber numberWithUnsignedChar:mRequest.metadataOptions.Value().Raw()]; + } else { + params.metadataOptions = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCSolicitOfferWithParams:params completion: + ^(MTRWebRTCTransportProviderClusterWebRTCSolicitOfferResponseParams * _Nullable values, NSError * _Nullable error) { + NSLog(@"Values: %@", values); + if (error == nil) { + constexpr chip::CommandId responseId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::Id; + RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); + } + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + constexpr chip::CommandId responseId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOfferResponse::Id; + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCSolicitOffer::Type mRequest; + TypedComplexArgument>> mComplex_ICEServers; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCProvideOffer + */ +class WebRTCTransportProviderWebRTCProvideOffer : public ClusterCommand { +public: + WebRTCTransportProviderWebRTCProvideOffer() + : ClusterCommand("web-rtcprovide-offer") + , mComplex_ICEServers(&mRequest.ICEServers) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Sdp", &mRequest.sdp); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("StreamType", 0, UINT8_MAX, &mRequest.streamType); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("VideoStreamID", 0, UINT16_MAX, &mRequest.videoStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("AudioStreamID", 0, UINT16_MAX, &mRequest.audioStreamID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICEServers", &mComplex_ICEServers); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICETransportPolicy", &mRequest.ICETransportPolicy); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("MetadataOptions", 0, UINT8_MAX, &mRequest.metadataOptions); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportProviderClusterWebRTCProvideOfferParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + if (mRequest.webRTCSessionID.IsNull()) { + params.webRTCSessionID = nil; + } else { + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID.Value()]; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.sdp = [[NSString alloc] initWithBytes:mRequest.sdp.data() length:mRequest.sdp.size() encoding:NSUTF8StringEncoding]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamType)]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.videoStreamID.HasValue()) { + if (mRequest.videoStreamID.Value().IsNull()) { + params.videoStreamID = nil; + } else { + params.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.videoStreamID.Value().Value()]; + } + } else { + params.videoStreamID = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.audioStreamID.HasValue()) { + if (mRequest.audioStreamID.Value().IsNull()) { + params.audioStreamID = nil; + } else { + params.audioStreamID = [NSNumber numberWithUnsignedShort:mRequest.audioStreamID.Value().Value()]; + } + } else { + params.audioStreamID = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.ICEServers.HasValue()) { + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + for (auto & entry_1 : mRequest.ICEServers.Value()) { + MTRWebRTCTransportProviderClusterICEServerStruct * newElement_1; + newElement_1 = [MTRWebRTCTransportProviderClusterICEServerStruct new]; + { // Scope for our temporary variables + auto * array_3 = [NSMutableArray new]; + for (auto & entry_3 : entry_1.urls) { + NSString * newElement_3; + newElement_3 = [[NSString alloc] initWithBytes:entry_3.data() length:entry_3.size() encoding:NSUTF8StringEncoding]; + [array_3 addObject:newElement_3]; + } + newElement_1.urls = array_3; + } + if (entry_1.username.HasValue()) { + newElement_1.username = [[NSString alloc] initWithBytes:entry_1.username.Value().data() length:entry_1.username.Value().size() encoding:NSUTF8StringEncoding]; + } else { + newElement_1.username = nil; + } + if (entry_1.credential.HasValue()) { + newElement_1.credential = [[NSString alloc] initWithBytes:entry_1.credential.Value().data() length:entry_1.credential.Value().size() encoding:NSUTF8StringEncoding]; + } else { + newElement_1.credential = nil; + } + if (entry_1.caid.HasValue()) { + newElement_1.caid = [NSNumber numberWithUnsignedShort:entry_1.caid.Value()]; + } else { + newElement_1.caid = nil; + } + [array_1 addObject:newElement_1]; + } + params.iceServers = array_1; + } + } else { + params.iceServers = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.ICETransportPolicy.HasValue()) { + params.iceTransportPolicy = [[NSString alloc] initWithBytes:mRequest.ICETransportPolicy.Value().data() length:mRequest.ICETransportPolicy.Value().size() encoding:NSUTF8StringEncoding]; + } else { + params.iceTransportPolicy = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.metadataOptions.HasValue()) { + params.metadataOptions = [NSNumber numberWithUnsignedChar:mRequest.metadataOptions.Value().Raw()]; + } else { + params.metadataOptions = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCProvideOfferWithParams:params completion: + ^(MTRWebRTCTransportProviderClusterWebRTCProvideOfferResponseParams * _Nullable values, NSError * _Nullable error) { + NSLog(@"Values: %@", values); + if (error == nil) { + constexpr chip::CommandId responseId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::Id; + RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); + } + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + constexpr chip::CommandId responseId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOfferResponse::Id; + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideOffer::Type mRequest; + TypedComplexArgument>> mComplex_ICEServers; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCProvideAnswer + */ +class WebRTCTransportProviderWebRTCProvideAnswer : public ClusterCommand { +public: + WebRTCTransportProviderWebRTCProvideAnswer() + : ClusterCommand("web-rtcprovide-answer") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Sdp", &mRequest.sdp); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportProviderClusterWebRTCProvideAnswerParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.sdp = [[NSString alloc] initWithBytes:mRequest.sdp.data() length:mRequest.sdp.size() encoding:NSUTF8StringEncoding]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCProvideAnswerWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideAnswer::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCProvideICECandidate + */ +class WebRTCTransportProviderWebRTCProvideICECandidate : public ClusterCommand { +public: + WebRTCTransportProviderWebRTCProvideICECandidate() + : ClusterCommand("web-rtcprovide-icecandidate") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICECandidate", &mRequest.ICECandidate); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportProviderClusterWebRTCProvideICECandidateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.iceCandidate = [[NSString alloc] initWithBytes:mRequest.ICECandidate.data() length:mRequest.ICECandidate.size() encoding:NSUTF8StringEncoding]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCProvideICECandidateWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCProvideICECandidate::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCEndSession + */ +class WebRTCTransportProviderWebRTCEndSession : public ClusterCommand { +public: + WebRTCTransportProviderWebRTCEndSession() + : ClusterCommand("web-rtcend-session") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Reason", 0, UINT8_MAX, &mRequest.reason); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportProviderClusterWebRTCEndSessionParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.reason = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.reason)]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCEndSessionWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportProvider::Commands::WebRTCEndSession::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL + +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute CurrentSessions + */ +class ReadWebRTCTransportProviderCurrentSessions : public ReadAttribute { +public: + ReadWebRTCTransportProviderCurrentSessions() + : ReadAttribute("current-sessions") + { + } + + ~ReadWebRTCTransportProviderCurrentSessions() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::CurrentSessions::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeCurrentSessionsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.CurrentSessions response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportProvider CurrentSessions read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportProviderCurrentSessions : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportProviderCurrentSessions() + : SubscribeAttribute("current-sessions") + { + } + + ~SubscribeAttributeWebRTCTransportProviderCurrentSessions() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::CurrentSessions::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeCurrentSessionsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.CurrentSessions response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute GeneratedCommandList + */ +class ReadWebRTCTransportProviderGeneratedCommandList : public ReadAttribute { +public: + ReadWebRTCTransportProviderGeneratedCommandList() + : ReadAttribute("generated-command-list") + { + } + + ~ReadWebRTCTransportProviderGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportProvider GeneratedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportProviderGeneratedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportProviderGeneratedCommandList() + : SubscribeAttribute("generated-command-list") + { + } + + ~SubscribeAttributeWebRTCTransportProviderGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeGeneratedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AcceptedCommandList + */ +class ReadWebRTCTransportProviderAcceptedCommandList : public ReadAttribute { +public: + ReadWebRTCTransportProviderAcceptedCommandList() + : ReadAttribute("accepted-command-list") + { + } + + ~ReadWebRTCTransportProviderAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportProvider AcceptedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportProviderAcceptedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportProviderAcceptedCommandList() + : SubscribeAttribute("accepted-command-list") + { + } + + ~SubscribeAttributeWebRTCTransportProviderAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAcceptedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute EventList + */ +class ReadWebRTCTransportProviderEventList : public ReadAttribute { +public: + ReadWebRTCTransportProviderEventList() + : ReadAttribute("event-list") + { + } + + ~ReadWebRTCTransportProviderEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeEventListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportProvider EventList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportProviderEventList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportProviderEventList() + : SubscribeAttribute("event-list") + { + } + + ~SubscribeAttributeWebRTCTransportProviderEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeEventListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AttributeList + */ +class ReadWebRTCTransportProviderAttributeList : public ReadAttribute { +public: + ReadWebRTCTransportProviderAttributeList() + : ReadAttribute("attribute-list") + { + } + + ~ReadWebRTCTransportProviderAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportProvider AttributeList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportProviderAttributeList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportProviderAttributeList() + : SubscribeAttribute("attribute-list") + { + } + + ~SubscribeAttributeWebRTCTransportProviderAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAttributeListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute FeatureMap + */ +class ReadWebRTCTransportProviderFeatureMap : public ReadAttribute { +public: + ReadWebRTCTransportProviderFeatureMap() + : ReadAttribute("feature-map") + { + } + + ~ReadWebRTCTransportProviderFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportProvider FeatureMap read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportProviderFeatureMap : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportProviderFeatureMap() + : SubscribeAttribute("feature-map") + { + } + + ~SubscribeAttributeWebRTCTransportProviderFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeFeatureMapWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ClusterRevision + */ +class ReadWebRTCTransportProviderClusterRevision : public ReadAttribute { +public: + ReadWebRTCTransportProviderClusterRevision() + : ReadAttribute("cluster-revision") + { + } + + ~ReadWebRTCTransportProviderClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportProvider ClusterRevision read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportProviderClusterRevision : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportProviderClusterRevision() + : SubscribeAttribute("cluster-revision") + { + } + + ~SubscribeAttributeWebRTCTransportProviderClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportProvider::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportProvider::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportProvider alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeClusterRevisionWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportProvider.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/*----------------------------------------------------------------------------*\ +| Cluster WebRTCTransportRequestor | 0x0554 | +|------------------------------------------------------------------------------| +| Commands: | | +| * WebRTCOffer | 0x01 | +| * WebRTCAnswer | 0x02 | +| * WebRTCICECandidate | 0x03 | +| * WebRTCEnd | 0x04 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * CurrentSessions | 0x0000 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCOffer + */ +class WebRTCTransportRequestorWebRTCOffer : public ClusterCommand { +public: + WebRTCTransportRequestorWebRTCOffer() + : ClusterCommand("web-rtcoffer") + , mComplex_ICEServers(&mRequest.ICEServers) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Sdp", &mRequest.sdp); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICEServers", &mComplex_ICEServers); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICETransportPolicy", &mRequest.ICETransportPolicy); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportRequestorClusterWebRTCOfferParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.sdp = [[NSString alloc] initWithBytes:mRequest.sdp.data() length:mRequest.sdp.size() encoding:NSUTF8StringEncoding]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.ICEServers.HasValue()) { + { // Scope for our temporary variables + auto * array_1 = [NSMutableArray new]; + for (auto & entry_1 : mRequest.ICEServers.Value()) { + MTRWebRTCTransportRequestorClusterICEServerStruct * newElement_1; + newElement_1 = [MTRWebRTCTransportRequestorClusterICEServerStruct new]; + { // Scope for our temporary variables + auto * array_3 = [NSMutableArray new]; + for (auto & entry_3 : entry_1.urls) { + NSString * newElement_3; + newElement_3 = [[NSString alloc] initWithBytes:entry_3.data() length:entry_3.size() encoding:NSUTF8StringEncoding]; + [array_3 addObject:newElement_3]; + } + newElement_1.urls = array_3; + } + if (entry_1.username.HasValue()) { + newElement_1.username = [[NSString alloc] initWithBytes:entry_1.username.Value().data() length:entry_1.username.Value().size() encoding:NSUTF8StringEncoding]; + } else { + newElement_1.username = nil; + } + if (entry_1.credential.HasValue()) { + newElement_1.credential = [[NSString alloc] initWithBytes:entry_1.credential.Value().data() length:entry_1.credential.Value().size() encoding:NSUTF8StringEncoding]; + } else { + newElement_1.credential = nil; + } + if (entry_1.caid.HasValue()) { + newElement_1.caid = [NSNumber numberWithUnsignedShort:entry_1.caid.Value()]; + } else { + newElement_1.caid = nil; + } + [array_1 addObject:newElement_1]; + } + params.iceServers = array_1; + } + } else { + params.iceServers = nil; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.ICETransportPolicy.HasValue()) { + params.iceTransportPolicy = [[NSString alloc] initWithBytes:mRequest.ICETransportPolicy.Value().data() length:mRequest.ICETransportPolicy.Value().size() encoding:NSUTF8StringEncoding]; + } else { + params.iceTransportPolicy = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCOfferWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCOffer::Type mRequest; + TypedComplexArgument>> mComplex_ICEServers; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCAnswer + */ +class WebRTCTransportRequestorWebRTCAnswer : public ClusterCommand { +public: + WebRTCTransportRequestorWebRTCAnswer() + : ClusterCommand("web-rtcanswer") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Sdp", &mRequest.sdp); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportRequestorClusterWebRTCAnswerParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.sdp = [[NSString alloc] initWithBytes:mRequest.sdp.data() length:mRequest.sdp.size() encoding:NSUTF8StringEncoding]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCAnswerWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCAnswer::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCICECandidate + */ +class WebRTCTransportRequestorWebRTCICECandidate : public ClusterCommand { +public: + WebRTCTransportRequestorWebRTCICECandidate() + : ClusterCommand("web-rtcicecandidate") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ICECandidate", &mRequest.ICECandidate); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportRequestorClusterWebRTCICECandidateParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.iceCandidate = [[NSString alloc] initWithBytes:mRequest.ICECandidate.data() length:mRequest.ICECandidate.size() encoding:NSUTF8StringEncoding]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCICECandidateWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCICECandidate::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command WebRTCEnd + */ +class WebRTCTransportRequestorWebRTCEnd : public ClusterCommand { +public: + WebRTCTransportRequestorWebRTCEnd() + : ClusterCommand("web-rtcend") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("WebRTCSessionID", 0, UINT16_MAX, &mRequest.webRTCSessionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("Reason", 0, UINT8_MAX, &mRequest.reason); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWebRTCTransportRequestorClusterWebRTCEndParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.webRTCSessionID = [NSNumber numberWithUnsignedShort:mRequest.webRTCSessionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.reason = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.reason)]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster webRTCEndWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::WebRTCTransportRequestor::Commands::WebRTCEnd::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL + +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute CurrentSessions + */ +class ReadWebRTCTransportRequestorCurrentSessions : public ReadAttribute { +public: + ReadWebRTCTransportRequestorCurrentSessions() + : ReadAttribute("current-sessions") + { + } + + ~ReadWebRTCTransportRequestorCurrentSessions() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::CurrentSessions::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeCurrentSessionsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.CurrentSessions response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportRequestor CurrentSessions read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportRequestorCurrentSessions : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportRequestorCurrentSessions() + : SubscribeAttribute("current-sessions") + { + } + + ~SubscribeAttributeWebRTCTransportRequestorCurrentSessions() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::CurrentSessions::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeCurrentSessionsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.CurrentSessions response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute GeneratedCommandList + */ +class ReadWebRTCTransportRequestorGeneratedCommandList : public ReadAttribute { +public: + ReadWebRTCTransportRequestorGeneratedCommandList() + : ReadAttribute("generated-command-list") + { + } + + ~ReadWebRTCTransportRequestorGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportRequestor GeneratedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportRequestorGeneratedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportRequestorGeneratedCommandList() + : SubscribeAttribute("generated-command-list") + { + } + + ~SubscribeAttributeWebRTCTransportRequestorGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeGeneratedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AcceptedCommandList + */ +class ReadWebRTCTransportRequestorAcceptedCommandList : public ReadAttribute { +public: + ReadWebRTCTransportRequestorAcceptedCommandList() + : ReadAttribute("accepted-command-list") + { + } + + ~ReadWebRTCTransportRequestorAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportRequestor AcceptedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportRequestorAcceptedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportRequestorAcceptedCommandList() + : SubscribeAttribute("accepted-command-list") + { + } + + ~SubscribeAttributeWebRTCTransportRequestorAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAcceptedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute EventList + */ +class ReadWebRTCTransportRequestorEventList : public ReadAttribute { +public: + ReadWebRTCTransportRequestorEventList() + : ReadAttribute("event-list") + { + } + + ~ReadWebRTCTransportRequestorEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeEventListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportRequestor EventList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportRequestorEventList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportRequestorEventList() + : SubscribeAttribute("event-list") + { + } + + ~SubscribeAttributeWebRTCTransportRequestorEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeEventListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AttributeList + */ +class ReadWebRTCTransportRequestorAttributeList : public ReadAttribute { +public: + ReadWebRTCTransportRequestorAttributeList() + : ReadAttribute("attribute-list") + { + } + + ~ReadWebRTCTransportRequestorAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportRequestor AttributeList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportRequestorAttributeList : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportRequestorAttributeList() + : SubscribeAttribute("attribute-list") + { + } + + ~SubscribeAttributeWebRTCTransportRequestorAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAttributeListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute FeatureMap + */ +class ReadWebRTCTransportRequestorFeatureMap : public ReadAttribute { +public: + ReadWebRTCTransportRequestorFeatureMap() + : ReadAttribute("feature-map") + { + } + + ~ReadWebRTCTransportRequestorFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportRequestor FeatureMap read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportRequestorFeatureMap : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportRequestorFeatureMap() + : SubscribeAttribute("feature-map") + { + } + + ~SubscribeAttributeWebRTCTransportRequestorFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeFeatureMapWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ClusterRevision + */ +class ReadWebRTCTransportRequestorClusterRevision : public ReadAttribute { +public: + ReadWebRTCTransportRequestorClusterRevision() + : ReadAttribute("cluster-revision") + { + } + + ~ReadWebRTCTransportRequestorClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("WebRTCTransportRequestor ClusterRevision read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeWebRTCTransportRequestorClusterRevision : public SubscribeAttribute { +public: + SubscribeAttributeWebRTCTransportRequestorClusterRevision() + : SubscribeAttribute("cluster-revision") + { + } + + ~SubscribeAttributeWebRTCTransportRequestorClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::WebRTCTransportRequestor::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::WebRTCTransportRequestor::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterWebRTCTransportRequestor alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeClusterRevisionWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"WebRTCTransportRequestor.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/*----------------------------------------------------------------------------*\ +| Cluster PushAvStreamTransport | 0x0555 | +|------------------------------------------------------------------------------| +| Commands: | | +| * AllocatePushTransport | 0x00 | +| * DeallocatePushTransport | 0x02 | +| * ModifyPushTransport | 0x03 | +| * SetTransportStatus | 0x04 | +| * ManuallyTriggerTransport | 0x05 | +| * FindStreamConfiguration | 0x06 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * SupportedContainerFormats | 0x0000 | +| * SupportedIngestMethods | 0x0001 | +| * CurrentConnections | 0x0002 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +| * PushTransportBegin | 0x0000 | +| * PushTransportEnd | 0x0001 | +\*----------------------------------------------------------------------------*/ + +#if MTR_ENABLE_PROVISIONAL +/* + * Command AllocatePushTransport + */ +class PushAvStreamTransportAllocatePushTransport : public ClusterCommand { +public: + PushAvStreamTransportAllocatePushTransport() + : ClusterCommand("allocate-push-transport") + , mComplex_StreamTransportOptions(&mRequest.streamTransportOptions) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("StreamTransportOptions", &mComplex_StreamTransportOptions); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRPushAVStreamTransportClusterAllocatePushTransportParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + params.streamTransportOptions.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.streamType)]; + if (mRequest.streamTransportOptions.videoStreamID.HasValue()) { + if (mRequest.streamTransportOptions.videoStreamID.Value().IsNull()) { + params.streamTransportOptions.videoStreamID = nil; + } else { + params.streamTransportOptions.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.videoStreamID.Value().Value()]; + } + } else { + params.streamTransportOptions.videoStreamID = nil; + } + if (mRequest.streamTransportOptions.audioStreamID.HasValue()) { + if (mRequest.streamTransportOptions.audioStreamID.Value().IsNull()) { + params.streamTransportOptions.audioStreamID = nil; + } else { + params.streamTransportOptions.audioStreamID = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.audioStreamID.Value().Value()]; + } + } else { + params.streamTransportOptions.audioStreamID = nil; + } + params.streamTransportOptions.tlsEndpointID = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.TLSEndpointID]; + params.streamTransportOptions.url = [[NSString alloc] initWithBytes:mRequest.streamTransportOptions.url.data() length:mRequest.streamTransportOptions.url.size() encoding:NSUTF8StringEncoding]; + params.streamTransportOptions.triggerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct new]; + params.streamTransportOptions.triggerOptions.triggerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.triggerOptions.triggerType)]; + if (mRequest.streamTransportOptions.triggerOptions.motionZones.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.motionZones.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.motionZones = nil; + } else { + { // Scope for our temporary variables + auto * array_4 = [NSMutableArray new]; + for (auto & entry_4 : mRequest.streamTransportOptions.triggerOptions.motionZones.Value().Value()) { + NSNumber * newElement_4; + newElement_4 = [NSNumber numberWithUnsignedShort:entry_4]; + [array_4 addObject:newElement_4]; + } + params.streamTransportOptions.triggerOptions.motionZones = array_4; + } + } + } else { + params.streamTransportOptions.triggerOptions.motionZones = nil; + } + if (mRequest.streamTransportOptions.triggerOptions.motionSensitivity.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.motionSensitivity.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } else { + params.streamTransportOptions.triggerOptions.motionSensitivity = [NSNumber numberWithUnsignedChar:mRequest.streamTransportOptions.triggerOptions.motionSensitivity.Value().Value()]; + } + } else { + params.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } + if (mRequest.streamTransportOptions.triggerOptions.motionTimeControl.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } else { + params.streamTransportOptions.triggerOptions.motionTimeControl = [MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct new]; + params.streamTransportOptions.triggerOptions.motionTimeControl.initialDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().initialDuration]; + params.streamTransportOptions.triggerOptions.motionTimeControl.augmentationDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().augmentationDuration]; + params.streamTransportOptions.triggerOptions.motionTimeControl.maxDuration = [NSNumber numberWithUnsignedInt:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().maxDuration]; + params.streamTransportOptions.triggerOptions.motionTimeControl.blindDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().blindDuration]; + } + } else { + params.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } + if (mRequest.streamTransportOptions.triggerOptions.activationReason.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.activationReason.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.activationReason = nil; + } else { + params.streamTransportOptions.triggerOptions.activationReason = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.triggerOptions.activationReason.Value().Value())]; + } + } else { + params.streamTransportOptions.triggerOptions.activationReason = nil; + } + params.streamTransportOptions.containerFormat = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.containerFormat)]; + params.streamTransportOptions.ingestMethod = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.ingestMethod)]; + params.streamTransportOptions.containerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct new]; + params.streamTransportOptions.containerOptions.containerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.containerOptions.containerType)]; + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.HasValue()) { + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().IsNull()) { + params.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct new]; + params.streamTransportOptions.containerOptions.cmafContainerOptions.chunkDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().chunkDuration]; + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.HasValue()) { + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().IsNull()) { + params.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = [NSData dataWithBytes:mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().Value().data() length:mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().Value().size()]; + } + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } + } + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } + if (mRequest.streamTransportOptions.metadataOptions.HasValue()) { + if (mRequest.streamTransportOptions.metadataOptions.Value().IsNull()) { + params.streamTransportOptions.metadataOptions = nil; + } else { + params.streamTransportOptions.metadataOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct new]; + params.streamTransportOptions.metadataOptions.multiplexing = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.metadataOptions.Value().Value().multiplexing)]; + params.streamTransportOptions.metadataOptions.includeMotionZones = [NSNumber numberWithBool:mRequest.streamTransportOptions.metadataOptions.Value().Value().includeMotionZones]; + params.streamTransportOptions.metadataOptions.enableMetadataPrivacySensitive = [NSNumber numberWithBool:mRequest.streamTransportOptions.metadataOptions.Value().Value().enableMetadataPrivacySensitive]; + } + } else { + params.streamTransportOptions.metadataOptions = nil; + } + if (mRequest.streamTransportOptions.expiryTime.HasValue()) { + if (mRequest.streamTransportOptions.expiryTime.Value().IsNull()) { + params.streamTransportOptions.expiryTime = nil; + } else { + params.streamTransportOptions.expiryTime = [NSNumber numberWithUnsignedInt:mRequest.streamTransportOptions.expiryTime.Value().Value()]; + } + } else { + params.streamTransportOptions.expiryTime = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster allocatePushTransportWithParams:params completion: + ^(MTRPushAVStreamTransportClusterAllocatePushTransportResponseParams * _Nullable values, NSError * _Nullable error) { + NSLog(@"Values: %@", values); + if (error == nil) { + constexpr chip::CommandId responseId = chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::Id; + RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); + } + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + constexpr chip::CommandId responseId = chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransportResponse::Id; + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::PushAvStreamTransport::Commands::AllocatePushTransport::Type mRequest; + TypedComplexArgument mComplex_StreamTransportOptions; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command DeallocatePushTransport + */ +class PushAvStreamTransportDeallocatePushTransport : public ClusterCommand { +public: + PushAvStreamTransportDeallocatePushTransport() + : ClusterCommand("deallocate-push-transport") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRPushAVStreamTransportClusterDeallocatePushTransportParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.connectionID = [NSNumber numberWithUnsignedShort:mRequest.connectionID]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster deallocatePushTransportWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::PushAvStreamTransport::Commands::DeallocatePushTransport::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command ModifyPushTransport + */ +class PushAvStreamTransportModifyPushTransport : public ClusterCommand { +public: + PushAvStreamTransportModifyPushTransport() + : ClusterCommand("modify-push-transport") + , mComplex_StreamTransportOptions(&mRequest.streamTransportOptions) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("StreamTransportOptions", &mComplex_StreamTransportOptions); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRPushAVStreamTransportClusterModifyPushTransportParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.connectionID = [NSNumber numberWithUnsignedShort:mRequest.connectionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.streamTransportOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportOptionsStruct new]; + params.streamTransportOptions.streamType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.streamType)]; + if (mRequest.streamTransportOptions.videoStreamID.HasValue()) { + if (mRequest.streamTransportOptions.videoStreamID.Value().IsNull()) { + params.streamTransportOptions.videoStreamID = nil; + } else { + params.streamTransportOptions.videoStreamID = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.videoStreamID.Value().Value()]; + } + } else { + params.streamTransportOptions.videoStreamID = nil; + } + if (mRequest.streamTransportOptions.audioStreamID.HasValue()) { + if (mRequest.streamTransportOptions.audioStreamID.Value().IsNull()) { + params.streamTransportOptions.audioStreamID = nil; + } else { + params.streamTransportOptions.audioStreamID = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.audioStreamID.Value().Value()]; + } + } else { + params.streamTransportOptions.audioStreamID = nil; + } + params.streamTransportOptions.tlsEndpointID = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.TLSEndpointID]; + params.streamTransportOptions.url = [[NSString alloc] initWithBytes:mRequest.streamTransportOptions.url.data() length:mRequest.streamTransportOptions.url.size() encoding:NSUTF8StringEncoding]; + params.streamTransportOptions.triggerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportTriggerOptionsStruct new]; + params.streamTransportOptions.triggerOptions.triggerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.triggerOptions.triggerType)]; + if (mRequest.streamTransportOptions.triggerOptions.motionZones.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.motionZones.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.motionZones = nil; + } else { + { // Scope for our temporary variables + auto * array_4 = [NSMutableArray new]; + for (auto & entry_4 : mRequest.streamTransportOptions.triggerOptions.motionZones.Value().Value()) { + NSNumber * newElement_4; + newElement_4 = [NSNumber numberWithUnsignedShort:entry_4]; + [array_4 addObject:newElement_4]; + } + params.streamTransportOptions.triggerOptions.motionZones = array_4; + } + } + } else { + params.streamTransportOptions.triggerOptions.motionZones = nil; + } + if (mRequest.streamTransportOptions.triggerOptions.motionSensitivity.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.motionSensitivity.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } else { + params.streamTransportOptions.triggerOptions.motionSensitivity = [NSNumber numberWithUnsignedChar:mRequest.streamTransportOptions.triggerOptions.motionSensitivity.Value().Value()]; + } + } else { + params.streamTransportOptions.triggerOptions.motionSensitivity = nil; + } + if (mRequest.streamTransportOptions.triggerOptions.motionTimeControl.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } else { + params.streamTransportOptions.triggerOptions.motionTimeControl = [MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct new]; + params.streamTransportOptions.triggerOptions.motionTimeControl.initialDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().initialDuration]; + params.streamTransportOptions.triggerOptions.motionTimeControl.augmentationDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().augmentationDuration]; + params.streamTransportOptions.triggerOptions.motionTimeControl.maxDuration = [NSNumber numberWithUnsignedInt:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().maxDuration]; + params.streamTransportOptions.triggerOptions.motionTimeControl.blindDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.triggerOptions.motionTimeControl.Value().Value().blindDuration]; + } + } else { + params.streamTransportOptions.triggerOptions.motionTimeControl = nil; + } + if (mRequest.streamTransportOptions.triggerOptions.activationReason.HasValue()) { + if (mRequest.streamTransportOptions.triggerOptions.activationReason.Value().IsNull()) { + params.streamTransportOptions.triggerOptions.activationReason = nil; + } else { + params.streamTransportOptions.triggerOptions.activationReason = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.triggerOptions.activationReason.Value().Value())]; + } + } else { + params.streamTransportOptions.triggerOptions.activationReason = nil; + } + params.streamTransportOptions.containerFormat = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.containerFormat)]; + params.streamTransportOptions.ingestMethod = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.ingestMethod)]; + params.streamTransportOptions.containerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportContainerOptionsStruct new]; + params.streamTransportOptions.containerOptions.containerType = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.containerOptions.containerType)]; + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.HasValue()) { + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().IsNull()) { + params.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportCMAFContainerOptionsStruct new]; + params.streamTransportOptions.containerOptions.cmafContainerOptions.chunkDuration = [NSNumber numberWithUnsignedShort:mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().chunkDuration]; + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.HasValue()) { + if (mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().IsNull()) { + params.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = [NSData dataWithBytes:mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().Value().data() length:mRequest.streamTransportOptions.containerOptions.CMAFContainerOptions.Value().Value().CENCKey.Value().Value().size()]; + } + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions.cencKey = nil; + } + } + } else { + params.streamTransportOptions.containerOptions.cmafContainerOptions = nil; + } + if (mRequest.streamTransportOptions.metadataOptions.HasValue()) { + if (mRequest.streamTransportOptions.metadataOptions.Value().IsNull()) { + params.streamTransportOptions.metadataOptions = nil; + } else { + params.streamTransportOptions.metadataOptions = [MTRPushAVStreamTransportClusterPushAVStreamTransportMetadataOptionsStruct new]; + params.streamTransportOptions.metadataOptions.multiplexing = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportOptions.metadataOptions.Value().Value().multiplexing)]; + params.streamTransportOptions.metadataOptions.includeMotionZones = [NSNumber numberWithBool:mRequest.streamTransportOptions.metadataOptions.Value().Value().includeMotionZones]; + params.streamTransportOptions.metadataOptions.enableMetadataPrivacySensitive = [NSNumber numberWithBool:mRequest.streamTransportOptions.metadataOptions.Value().Value().enableMetadataPrivacySensitive]; + } + } else { + params.streamTransportOptions.metadataOptions = nil; + } + if (mRequest.streamTransportOptions.expiryTime.HasValue()) { + if (mRequest.streamTransportOptions.expiryTime.Value().IsNull()) { + params.streamTransportOptions.expiryTime = nil; + } else { + params.streamTransportOptions.expiryTime = [NSNumber numberWithUnsignedInt:mRequest.streamTransportOptions.expiryTime.Value().Value()]; + } + } else { + params.streamTransportOptions.expiryTime = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster modifyPushTransportWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::PushAvStreamTransport::Commands::ModifyPushTransport::Type mRequest; + TypedComplexArgument mComplex_StreamTransportOptions; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command SetTransportStatus + */ +class PushAvStreamTransportSetTransportStatus : public ClusterCommand { +public: + PushAvStreamTransportSetTransportStatus() + : ClusterCommand("set-transport-status") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("StreamTransportStatus", 0, UINT8_MAX, &mRequest.streamTransportStatus); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRPushAVStreamTransportClusterSetTransportStatusParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + if (mRequest.connectionID.IsNull()) { + params.connectionID = nil; + } else { + params.connectionID = [NSNumber numberWithUnsignedShort:mRequest.connectionID.Value()]; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + params.streamTransportStatus = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.streamTransportStatus)]; +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster setTransportStatusWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::PushAvStreamTransport::Commands::SetTransportStatus::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command ManuallyTriggerTransport + */ +class PushAvStreamTransportManuallyTriggerTransport : public ClusterCommand { +public: + PushAvStreamTransportManuallyTriggerTransport() + : ClusterCommand("manually-trigger-transport") + , mComplex_TimeControl(&mRequest.timeControl) + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("ActivationReason", 0, UINT8_MAX, &mRequest.activationReason); +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + AddArgument("TimeControl", &mComplex_TimeControl); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRPushAVStreamTransportClusterManuallyTriggerTransportParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + params.connectionID = [NSNumber numberWithUnsignedShort:mRequest.connectionID]; +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.activationReason.IsNull()) { + params.activationReason = nil; + } else { + params.activationReason = [NSNumber numberWithUnsignedChar:chip::to_underlying(mRequest.activationReason.Value())]; + } +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + if (mRequest.timeControl.HasValue()) { + if (mRequest.timeControl.Value().IsNull()) { + params.timeControl = nil; + } else { + params.timeControl = [MTRPushAVStreamTransportClusterPushAVStreamTransportMotionTriggerTimeControlStruct new]; + params.timeControl.initialDuration = [NSNumber numberWithUnsignedShort:mRequest.timeControl.Value().Value().initialDuration]; + params.timeControl.augmentationDuration = [NSNumber numberWithUnsignedShort:mRequest.timeControl.Value().Value().augmentationDuration]; + params.timeControl.maxDuration = [NSNumber numberWithUnsignedInt:mRequest.timeControl.Value().Value().maxDuration]; + params.timeControl.blindDuration = [NSNumber numberWithUnsignedShort:mRequest.timeControl.Value().Value().blindDuration]; + } + } else { + params.timeControl = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster manuallyTriggerTransportWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::PushAvStreamTransport::Commands::ManuallyTriggerTransport::Type mRequest; + TypedComplexArgument>> mComplex_TimeControl; +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/* + * Command FindStreamConfiguration + */ +class PushAvStreamTransportFindStreamConfiguration : public ClusterCommand { +public: + PushAvStreamTransportFindStreamConfiguration() + : ClusterCommand("find-stream-configuration") + { +#if MTR_ENABLE_PROVISIONAL + AddArgument("ConnectionID", 0, UINT16_MAX, &mRequest.connectionID); +#endif // MTR_ENABLE_PROVISIONAL + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRPushAVStreamTransportClusterFindStreamConfigurationParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; +#if MTR_ENABLE_PROVISIONAL + if (mRequest.connectionID.HasValue()) { + if (mRequest.connectionID.Value().IsNull()) { + params.connectionID = nil; + } else { + params.connectionID = [NSNumber numberWithUnsignedShort:mRequest.connectionID.Value().Value()]; + } + } else { + params.connectionID = nil; + } +#endif // MTR_ENABLE_PROVISIONAL + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster findStreamConfigurationWithParams:params completion: + ^(MTRPushAVStreamTransportClusterFindStreamConfigurationResponseParams * _Nullable values, NSError * _Nullable error) { + NSLog(@"Values: %@", values); + if (error == nil) { + constexpr chip::CommandId responseId = chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::Id; + RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); + } + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + constexpr chip::CommandId responseId = chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfigurationResponse::Id; + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: + chip::app::Clusters::PushAvStreamTransport::Commands::FindStreamConfiguration::Type mRequest; +}; + +#endif // MTR_ENABLE_PROVISIONAL + +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SupportedContainerFormats + */ +class ReadPushAvStreamTransportSupportedContainerFormats : public ReadAttribute { +public: + ReadPushAvStreamTransportSupportedContainerFormats() + : ReadAttribute("supported-container-formats") + { + } + + ~ReadPushAvStreamTransportSupportedContainerFormats() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::SupportedContainerFormats::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSupportedContainerFormatsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.SupportedContainerFormats response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport SupportedContainerFormats read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportSupportedContainerFormats : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportSupportedContainerFormats() + : SubscribeAttribute("supported-container-formats") + { + } + + ~SubscribeAttributePushAvStreamTransportSupportedContainerFormats() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::SupportedContainerFormats::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSupportedContainerFormatsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.SupportedContainerFormats response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute SupportedIngestMethods + */ +class ReadPushAvStreamTransportSupportedIngestMethods : public ReadAttribute { +public: + ReadPushAvStreamTransportSupportedIngestMethods() + : ReadAttribute("supported-ingest-methods") + { + } + + ~ReadPushAvStreamTransportSupportedIngestMethods() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::SupportedIngestMethods::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeSupportedIngestMethodsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.SupportedIngestMethods response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport SupportedIngestMethods read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportSupportedIngestMethods : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportSupportedIngestMethods() + : SubscribeAttribute("supported-ingest-methods") + { + } + + ~SubscribeAttributePushAvStreamTransportSupportedIngestMethods() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::SupportedIngestMethods::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeSupportedIngestMethodsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.SupportedIngestMethods response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute CurrentConnections + */ +class ReadPushAvStreamTransportCurrentConnections : public ReadAttribute { +public: + ReadPushAvStreamTransportCurrentConnections() + : ReadAttribute("current-connections") + { + } + + ~ReadPushAvStreamTransportCurrentConnections() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::CurrentConnections::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeCurrentConnectionsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.CurrentConnections response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport CurrentConnections read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportCurrentConnections : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportCurrentConnections() + : SubscribeAttribute("current-connections") + { + } + + ~SubscribeAttributePushAvStreamTransportCurrentConnections() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::CurrentConnections::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeCurrentConnectionsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.CurrentConnections response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute GeneratedCommandList + */ +class ReadPushAvStreamTransportGeneratedCommandList : public ReadAttribute { +public: + ReadPushAvStreamTransportGeneratedCommandList() + : ReadAttribute("generated-command-list") + { + } + + ~ReadPushAvStreamTransportGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport GeneratedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportGeneratedCommandList : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportGeneratedCommandList() + : SubscribeAttribute("generated-command-list") + { + } + + ~SubscribeAttributePushAvStreamTransportGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeGeneratedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AcceptedCommandList + */ +class ReadPushAvStreamTransportAcceptedCommandList : public ReadAttribute { +public: + ReadPushAvStreamTransportAcceptedCommandList() + : ReadAttribute("accepted-command-list") + { + } + + ~ReadPushAvStreamTransportAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport AcceptedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportAcceptedCommandList : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportAcceptedCommandList() + : SubscribeAttribute("accepted-command-list") + { + } + + ~SubscribeAttributePushAvStreamTransportAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAcceptedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute EventList + */ +class ReadPushAvStreamTransportEventList : public ReadAttribute { +public: + ReadPushAvStreamTransportEventList() + : ReadAttribute("event-list") + { + } + + ~ReadPushAvStreamTransportEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeEventListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport EventList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportEventList : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportEventList() + : SubscribeAttribute("event-list") + { + } + + ~SubscribeAttributePushAvStreamTransportEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeEventListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AttributeList + */ +class ReadPushAvStreamTransportAttributeList : public ReadAttribute { +public: + ReadPushAvStreamTransportAttributeList() + : ReadAttribute("attribute-list") + { + } + + ~ReadPushAvStreamTransportAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport AttributeList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportAttributeList : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportAttributeList() + : SubscribeAttribute("attribute-list") + { + } + + ~SubscribeAttributePushAvStreamTransportAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAttributeListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute FeatureMap + */ +class ReadPushAvStreamTransportFeatureMap : public ReadAttribute { +public: + ReadPushAvStreamTransportFeatureMap() + : ReadAttribute("feature-map") + { + } + + ~ReadPushAvStreamTransportFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport FeatureMap read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportFeatureMap : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportFeatureMap() + : SubscribeAttribute("feature-map") + { + } + + ~SubscribeAttributePushAvStreamTransportFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeFeatureMapWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ClusterRevision + */ +class ReadPushAvStreamTransportClusterRevision : public ReadAttribute { +public: + ReadPushAvStreamTransportClusterRevision() + : ReadAttribute("cluster-revision") + { + } + + ~ReadPushAvStreamTransportClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("PushAVStreamTransport ClusterRevision read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributePushAvStreamTransportClusterRevision : public SubscribeAttribute { +public: + SubscribeAttributePushAvStreamTransportClusterRevision() + : SubscribeAttribute("cluster-revision") + { + } + + ~SubscribeAttributePushAvStreamTransportClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::PushAvStreamTransport::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::PushAvStreamTransport::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterPushAVStreamTransport alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeClusterRevisionWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"PushAVStreamTransport.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL +/*----------------------------------------------------------------------------*\ +| Cluster Chime | 0x0556 | +|------------------------------------------------------------------------------| +| Commands: | | +| * PlayChimeSound | 0x00 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * InstalledChimeSounds | 0x0000 | +| * ActiveChimeSoundId | 0x0001 | +| * Enabled | 0x0002 | +| * GeneratedCommandList | 0xFFF8 | +| * AcceptedCommandList | 0xFFF9 | +| * EventList | 0xFFFA | +| * AttributeList | 0xFFFB | +| * FeatureMap | 0xFFFC | +| * ClusterRevision | 0xFFFD | +|------------------------------------------------------------------------------| +| Events: | | +\*----------------------------------------------------------------------------*/ + +#if MTR_ENABLE_PROVISIONAL +/* + * Command PlayChimeSound + */ +class ChimePlayChimeSound : public ClusterCommand { +public: + ChimePlayChimeSound() + : ClusterCommand("play-chime-sound") + { + ClusterCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::Chime::Commands::PlayChimeSound::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRChimeClusterPlayChimeSoundParams alloc] init]; + params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + uint16_t repeatCount = mRepeatCount.ValueOr(1); + uint16_t __block responsesNeeded = repeatCount; + while (repeatCount--) { + [cluster playChimeSoundWithParams:params completion: + ^(NSError * _Nullable error) { + responsesNeeded--; + if (error != nil) { + mError = error; + LogNSError("Error", error); + RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(commandId), error); + } + if (responsesNeeded == 0) { + SetCommandExitStatus(mError); + } + }]; + } + return CHIP_NO_ERROR; + } + +private: +}; + +#endif // MTR_ENABLE_PROVISIONAL + +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute InstalledChimeSounds + */ +class ReadChimeInstalledChimeSounds : public ReadAttribute { +public: + ReadChimeInstalledChimeSounds() + : ReadAttribute("installed-chime-sounds") + { + } + + ~ReadChimeInstalledChimeSounds() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::InstalledChimeSounds::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeInstalledChimeSoundsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.InstalledChimeSounds response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime InstalledChimeSounds read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeChimeInstalledChimeSounds : public SubscribeAttribute { +public: + SubscribeAttributeChimeInstalledChimeSounds() + : SubscribeAttribute("installed-chime-sounds") + { + } + + ~SubscribeAttributeChimeInstalledChimeSounds() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::InstalledChimeSounds::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeInstalledChimeSoundsWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.InstalledChimeSounds response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ActiveChimeSoundId + */ +class ReadChimeActiveChimeSoundId : public ReadAttribute { +public: + ReadChimeActiveChimeSoundId() + : ReadAttribute("active-chime-sound-id") + { + } + + ~ReadChimeActiveChimeSoundId() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::ActiveChimeSoundId::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeActiveChimeSoundIdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.ActiveChimeSoundId response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime ActiveChimeSoundId read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteChimeActiveChimeSoundId : public WriteAttribute { +public: + WriteChimeActiveChimeSoundId() + : WriteAttribute("active-chime-sound-id") + { + AddArgument("attr-name", "active-chime-sound-id"); + AddArgument("attr-value", 0, UINT8_MAX, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteChimeActiveChimeSoundId() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::ActiveChimeSoundId::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue]; + + [cluster writeAttributeActiveChimeSoundIdWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("Chime ActiveChimeSoundId write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + uint8_t mValue; +}; + +class SubscribeAttributeChimeActiveChimeSoundId : public SubscribeAttribute { +public: + SubscribeAttributeChimeActiveChimeSoundId() + : SubscribeAttribute("active-chime-sound-id") + { + } + + ~SubscribeAttributeChimeActiveChimeSoundId() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::ActiveChimeSoundId::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeActiveChimeSoundIdWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.ActiveChimeSoundId response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute Enabled + */ +class ReadChimeEnabled : public ReadAttribute { +public: + ReadChimeEnabled() + : ReadAttribute("enabled") + { + } + + ~ReadChimeEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::Enabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeEnabledWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.Enabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime Enabled read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class WriteChimeEnabled : public WriteAttribute { +public: + WriteChimeEnabled() + : WriteAttribute("enabled") + { + AddArgument("attr-name", "enabled"); + AddArgument("attr-value", 0, 1, &mValue); + WriteAttribute::AddArguments(); + } + + ~WriteChimeEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::Enabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRWriteParams alloc] init]; + params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; + params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil; + NSNumber * _Nonnull value = [NSNumber numberWithBool:mValue]; + + [cluster writeAttributeEnabledWithValue:value params:params completion:^(NSError * _Nullable error) { + if (error != nil) { + LogNSError("Chime Enabled write Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } + +private: + bool mValue; +}; + +class SubscribeAttributeChimeEnabled : public SubscribeAttribute { +public: + SubscribeAttributeChimeEnabled() + : SubscribeAttribute("enabled") + { + } + + ~SubscribeAttributeChimeEnabled() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::Enabled::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeEnabledWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.Enabled response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute GeneratedCommandList + */ +class ReadChimeGeneratedCommandList : public ReadAttribute { +public: + ReadChimeGeneratedCommandList() + : ReadAttribute("generated-command-list") + { + } + + ~ReadChimeGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime GeneratedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeChimeGeneratedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeChimeGeneratedCommandList() + : SubscribeAttribute("generated-command-list") + { + } + + ~SubscribeAttributeChimeGeneratedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::GeneratedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeGeneratedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.GeneratedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AcceptedCommandList + */ +class ReadChimeAcceptedCommandList : public ReadAttribute { +public: + ReadChimeAcceptedCommandList() + : ReadAttribute("accepted-command-list") + { + } + + ~ReadChimeAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime AcceptedCommandList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeChimeAcceptedCommandList : public SubscribeAttribute { +public: + SubscribeAttributeChimeAcceptedCommandList() + : SubscribeAttribute("accepted-command-list") + { + } + + ~SubscribeAttributeChimeAcceptedCommandList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::AcceptedCommandList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAcceptedCommandListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.AcceptedCommandList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute EventList + */ +class ReadChimeEventList : public ReadAttribute { +public: + ReadChimeEventList() + : ReadAttribute("event-list") + { + } + + ~ReadChimeEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeEventListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime EventList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeChimeEventList : public SubscribeAttribute { +public: + SubscribeAttributeChimeEventList() + : SubscribeAttribute("event-list") + { + } + + ~SubscribeAttributeChimeEventList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::EventList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeEventListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.EventList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute AttributeList + */ +class ReadChimeAttributeList : public ReadAttribute { +public: + ReadChimeAttributeList() + : ReadAttribute("attribute-list") + { + } + + ~ReadChimeAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime AttributeList read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeChimeAttributeList : public SubscribeAttribute { +public: + SubscribeAttributeChimeAttributeList() + : SubscribeAttribute("attribute-list") + { + } + + ~SubscribeAttributeChimeAttributeList() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::AttributeList::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeAttributeListWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.AttributeList response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute FeatureMap + */ +class ReadChimeFeatureMap : public ReadAttribute { +public: + ReadChimeFeatureMap() + : ReadAttribute("feature-map") + { + } + + ~ReadChimeFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime FeatureMap read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeChimeFeatureMap : public SubscribeAttribute { +public: + SubscribeAttributeChimeFeatureMap() + : SubscribeAttribute("feature-map") + { + } + + ~SubscribeAttributeChimeFeatureMap() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::FeatureMap::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeFeatureMapWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.FeatureMap response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + +/* + * Attribute ClusterRevision + */ +class ReadChimeClusterRevision : public ReadAttribute { +public: + ReadChimeClusterRevision() + : ReadAttribute("cluster-revision") + { + } + + ~ReadChimeClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::AttributeId attributeId = chip::app::Clusters::Chime::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId); + + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + LogNSError("Chime ClusterRevision read Error", error); + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + return CHIP_NO_ERROR; + } +}; + +class SubscribeAttributeChimeClusterRevision : public SubscribeAttribute { +public: + SubscribeAttributeChimeClusterRevision() + : SubscribeAttribute("cluster-revision") + { + } + + ~SubscribeAttributeChimeClusterRevision() + { + } + + CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override + { + constexpr chip::ClusterId clusterId = chip::app::Clusters::Chime::Id; + constexpr chip::CommandId attributeId = chip::app::Clusters::Chime::Attributes::ClusterRevision::Id; + + ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId); + dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL); + __auto_type * cluster = [[MTRBaseClusterChime alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; + __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)]; + if (mKeepSubscriptions.HasValue()) { + params.replaceExistingSubscriptions = !mKeepSubscriptions.Value(); + } + if (mFabricFiltered.HasValue()) { + params.filterByFabric = mFabricFiltered.Value(); + } + if (mAutoResubscribe.HasValue()) { + params.resubscribeAutomatically = mAutoResubscribe.Value(); + } + [cluster subscribeAttributeClusterRevisionWithParams:params + subscriptionEstablished:^() { mSubscriptionEstablished = YES; } + reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) { + NSLog(@"Chime.ClusterRevision response %@", [value description]); + if (error == nil) { + RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value); + } else { + RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error); + } + SetCommandExitStatus(error); + }]; + + return CHIP_NO_ERROR; + } +}; + #endif // MTR_ENABLE_PROVISIONAL #endif // MTR_ENABLE_PROVISIONAL #if MTR_ENABLE_PROVISIONAL @@ -198632,6 +211135,641 @@ void registerClusterContentAppObserver(Commands & commands) commands.RegisterCluster(clusterName, clusterCommands); #endif // MTR_ENABLE_PROVISIONAL } +void registerClusterCameraAvStreamManagement(Commands & commands) +{ +#if MTR_ENABLE_PROVISIONAL + using namespace chip::app::Clusters::CameraAvStreamManagement; + + const char * clusterName = "CameraAvStreamManagement"; + + commands_list clusterCommands = { + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + }; + + commands.RegisterCluster(clusterName, clusterCommands); +#endif // MTR_ENABLE_PROVISIONAL +} +void registerClusterCameraAvSettingsUserLevelManagement(Commands & commands) +{ +#if MTR_ENABLE_PROVISIONAL + using namespace chip::app::Clusters::CameraAvSettingsUserLevelManagement; + + const char * clusterName = "CameraAvSettingsUserLevelManagement"; + + commands_list clusterCommands = { + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + }; + + commands.RegisterCluster(clusterName, clusterCommands); +#endif // MTR_ENABLE_PROVISIONAL +} +void registerClusterWebRTCTransportProvider(Commands & commands) +{ +#if MTR_ENABLE_PROVISIONAL + using namespace chip::app::Clusters::WebRTCTransportProvider; + + const char * clusterName = "WebRTCTransportProvider"; + + commands_list clusterCommands = { + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + }; + + commands.RegisterCluster(clusterName, clusterCommands); +#endif // MTR_ENABLE_PROVISIONAL +} +void registerClusterWebRTCTransportRequestor(Commands & commands) +{ +#if MTR_ENABLE_PROVISIONAL + using namespace chip::app::Clusters::WebRTCTransportRequestor; + + const char * clusterName = "WebRTCTransportRequestor"; + + commands_list clusterCommands = { + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + }; + + commands.RegisterCluster(clusterName, clusterCommands); +#endif // MTR_ENABLE_PROVISIONAL +} +void registerClusterPushAvStreamTransport(Commands & commands) +{ +#if MTR_ENABLE_PROVISIONAL + using namespace chip::app::Clusters::PushAvStreamTransport; + + const char * clusterName = "PushAvStreamTransport"; + + commands_list clusterCommands = { + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + }; + + commands.RegisterCluster(clusterName, clusterCommands); +#endif // MTR_ENABLE_PROVISIONAL +} +void registerClusterChime(Commands & commands) +{ +#if MTR_ENABLE_PROVISIONAL + using namespace chip::app::Clusters::Chime; + + const char * clusterName = "Chime"; + + commands_list clusterCommands = { + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + make_unique(Id), // + make_unique(Id), // + make_unique(Id), // +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL +#if MTR_ENABLE_PROVISIONAL + make_unique(), // + make_unique(), // +#endif // MTR_ENABLE_PROVISIONAL + }; + + commands.RegisterCluster(clusterName, clusterCommands); +#endif // MTR_ENABLE_PROVISIONAL +} void registerClusterEcosystemInformation(Commands & commands) { #if MTR_ENABLE_PROVISIONAL @@ -199570,6 +212708,12 @@ void registerClusters(Commands & commands) registerClusterAccountLogin(commands); registerClusterContentControl(commands); registerClusterContentAppObserver(commands); + registerClusterCameraAvStreamManagement(commands); + registerClusterCameraAvSettingsUserLevelManagement(commands); + registerClusterWebRTCTransportProvider(commands); + registerClusterWebRTCTransportRequestor(commands); + registerClusterPushAvStreamTransport(commands); + registerClusterChime(commands); registerClusterEcosystemInformation(commands); registerClusterCommissionerControl(commands); registerClusterElectricalMeasurement(commands);