diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 4c13fc3dde1749..0a1029cb91ca25 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -1748,12 +1748,34 @@ server cluster PowerSource = 47 { readonly attribute enum8 status = 0; readonly attribute int8u order = 1; readonly attribute char_string<60> description = 2; + readonly attribute int32u wiredAssessedInputVoltage = 3; + readonly attribute int16u wiredAssessedInputFrequency = 4; + readonly attribute enum8 wiredCurrentType = 5; + readonly attribute int32u wiredAssessedCurrent = 6; + readonly attribute int32u wiredNominalVoltage = 7; + readonly attribute int32u wiredMaximumCurrent = 8; + readonly attribute boolean wiredPresent = 9; + readonly attribute ENUM8 activeWiredFaults[] = 10; readonly attribute int32u batteryVoltage = 11; readonly attribute int8u batteryPercentRemaining = 12; readonly attribute int32u batteryTimeRemaining = 13; readonly attribute enum8 batteryChargeLevel = 14; + readonly attribute boolean batteryReplacementNeeded = 15; + readonly attribute enum8 batteryReplaceability = 16; + readonly attribute boolean batteryPresent = 17; readonly attribute ENUM8 activeBatteryFaults[] = 18; + readonly attribute char_string<60> batteryReplacementDescription = 19; + readonly attribute int32u batteryCommonDesignation = 20; + readonly attribute char_string<20> batteryANSIDesignation = 21; + readonly attribute char_string<20> batteryIECDesignation = 22; + readonly attribute int32u batteryApprovedChemistry = 23; + readonly attribute int32u batteryCapacity = 24; + readonly attribute int8u batteryQuantity = 25; readonly attribute enum8 batteryChargeState = 26; + readonly attribute int32u batteryTimeToFullCharge = 27; + readonly attribute boolean batteryFunctionalWhileCharging = 28; + readonly attribute int32u batteryChargingCurrent = 29; + readonly attribute ENUM8 activeBatteryChargeFaults[] = 30; readonly global attribute bitmap32 featureMap = 65532; readonly global attribute int16u clusterRevision = 65533; } @@ -1771,6 +1793,12 @@ server cluster PressureMeasurement = 1027 { readonly attribute nullable int16s measuredValue = 0; readonly attribute nullable int16s minMeasuredValue = 1; readonly attribute nullable int16s maxMeasuredValue = 2; + readonly attribute int16u tolerance = 3; + readonly attribute nullable int16s scaledValue = 16; + readonly attribute nullable int16s minScaledValue = 17; + readonly attribute nullable int16s maxScaledValue = 18; + readonly attribute int16u scaledTolerance = 19; + readonly attribute int8s scale = 20; readonly global attribute int16u clusterRevision = 65533; } diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 2ecae3f5360a79..0a1029cb91ca25 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -1,6 +1,41 @@ // This IDL was generated automatically by ZAP. // It is for view/code review purposes only. +server cluster AdministratorCommissioning = 60 { + enum CommissioningWindowStatus : ENUM8 { + kWindowNotOpen = 0; + kEnhancedWindowOpen = 1; + kBasicWindowOpen = 2; + } + + enum StatusCode : ENUM8 { + kBusy = 1; + kPAKEParameterError = 2; + kWindowNotOpen = 3; + } + + readonly attribute int8u windowStatus = 0; + readonly attribute fabric_idx adminFabricIndex = 1; + readonly attribute int16u adminVendorId = 2; + readonly global attribute int16u clusterRevision = 65533; + + request struct OpenCommissioningWindowRequest { + INT16U commissioningTimeout = 0; + OCTET_STRING PAKEVerifier = 1; + INT16U discriminator = 2; + INT32U iterations = 3; + OCTET_STRING salt = 4; + } + + request struct OpenBasicCommissioningWindowRequest { + INT16U commissioningTimeout = 0; + } + + timed command OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; + timed command OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1; + timed command RevokeCommissioning(): DefaultSuccess = 2; +} + client cluster ApplicationBasic = 1293 { enum ApplicationStatusEnum : ENUM8 { kStopped = 0; @@ -92,6 +127,94 @@ server cluster Basic = 40 { readonly global attribute int16u clusterRevision = 65533; } +server cluster BooleanState = 69 { + info event StateChange = 0 { + boolean stateValue = 0; + } + + readonly attribute boolean stateValue = 0; + readonly global attribute int16u clusterRevision = 65533; +} + +server cluster BridgedActions = 37 { + enum ActionErrorEnum : ENUM8 { + kUnknown = 0; + kInterrupted = 1; + } + + enum ActionStateEnum : ENUM8 { + kInactive = 0; + kActive = 1; + kPaused = 2; + kDisabled = 3; + } + + enum ActionTypeEnum : ENUM8 { + kOther = 0; + kScene = 1; + kSequence = 2; + kAutomation = 3; + kException = 4; + kNotification = 5; + kAlarm = 6; + } + + enum EndpointListTypeEnum : ENUM8 { + kOther = 0; + kRoom = 1; + kZone = 2; + } + + bitmap CommandBits : BITMAP16 { + kInstantAction = 0x1; + kInstantActionWithTransition = 0x2; + kStartAction = 0x4; + kStartActionWithDuration = 0x8; + kStopAction = 0x10; + kPauseAction = 0x20; + kPauseActionWithDuration = 0x40; + kResumeAction = 0x80; + kEnableAction = 0x100; + kEnableActionWithDuration = 0x200; + kDisableAction = 0x400; + kDisableActionWithDuration = 0x800; + } + + struct ActionStruct { + INT16U actionID = 0; + CHAR_STRING<32> name = 1; + ActionTypeEnum type = 2; + INT16U endpointListID = 3; + INT16U supportedCommands = 4; + ActionStateEnum status = 5; + } + + struct EndpointListStruct { + INT16U endpointListID = 0; + CHAR_STRING<32> name = 1; + EndpointListTypeEnum type = 2; + ENDPOINT_NO endpoints[] = 3; + } + + info event StateChanged = 0 { + INT16U actionID = 0; + INT32U invokeID = 1; + ActionStateEnum newState = 2; + } + + info event ActionFailed = 1 { + INT16U actionID = 0; + INT32U invokeID = 1; + ActionStateEnum newState = 2; + ActionErrorEnum error = 3; + } + + readonly attribute ActionStruct actionList[] = 0; + readonly attribute EndpointListStruct endpointList[] = 1; + readonly attribute long_char_string<512> setupUrl = 2; + readonly global attribute int16u clusterRevision = 65533; +} + server cluster ColorControl = 768 { enum ColorLoopAction : ENUM8 { kDeactivate = 0; @@ -414,6 +537,43 @@ server cluster Descriptor = 29 { readonly global attribute int16u clusterRevision = 65533; } +server cluster EthernetNetworkDiagnostics = 55 { + enum PHYRateType : ENUM8 { + k10m = 0; + k100m = 1; + k1000m = 2; + k25g = 3; + k5g = 4; + k10g = 5; + k40g = 6; + k100g = 7; + k200g = 8; + k400g = 9; + } + + readonly attribute nullable PHYRateType PHYRate = 0; + readonly attribute nullable boolean fullDuplex = 1; + readonly attribute int64u packetRxCount = 2; + readonly attribute int64u packetTxCount = 3; + readonly attribute int64u txErrCount = 4; + readonly attribute int64u collisionCount = 5; + readonly attribute int64u overrunCount = 6; + readonly attribute nullable boolean carrierDetect = 7; + readonly attribute int64u timeSinceReset = 8; + readonly global attribute bitmap32 featureMap = 65532; + readonly global attribute int16u clusterRevision = 65533; + + command ResetCounts(): DefaultSuccess = 0; +} + +server cluster FlowMeasurement = 1028 { + readonly attribute nullable int16u measuredValue = 0; + readonly attribute nullable int16u minMeasuredValue = 1; + readonly attribute nullable int16u maxMeasuredValue = 2; + readonly attribute int16u tolerance = 3; + readonly global attribute int16u clusterRevision = 65533; +} + client cluster GeneralCommissioning = 48 { enum CommissioningError : ENUM8 { kOk = 0; @@ -706,6 +866,20 @@ server cluster Identify = 3 { command IdentifyQuery(): IdentifyQueryResponse = 1; } +server cluster IlluminanceMeasurement = 1024 { + enum LightSensorType : ENUM8 { + kPhotodiode = 0; + kCmos = 1; + } + + readonly attribute nullable int16u measuredValue = 0; + readonly attribute nullable int16u minMeasuredValue = 1; + readonly attribute nullable int16u maxMeasuredValue = 2; + readonly attribute int16u tolerance = 3; + readonly attribute nullable enum8 lightSensorType = 4; + readonly global attribute int16u clusterRevision = 65533; +} + client cluster KeypadInput = 1289 { enum CecKeyCode : ENUM8 { kSelect = 0; @@ -1505,6 +1679,129 @@ server cluster OperationalCredentials = 62 { command RemoveTrustedRootCertificate(RemoveTrustedRootCertificateRequest): DefaultSuccess = 12; } +server cluster PowerSource = 47 { + enum BatChargeFaultType : ENUM8 { + kUnspecfied = 0; + kAmbientTooHot = 1; + kAmbientTooCold = 2; + kBatteryTooHot = 3; + kBatteryTooCold = 4; + kBatteryAbsent = 5; + kBatteryOverVoltage = 6; + kBatteryUnderVoltage = 7; + kChargerOverVoltage = 8; + kChargerUnderVoltage = 9; + kSafetyTimeout = 10; + } + + enum BatChargeLevel : ENUM8 { + kOk = 0; + kWarning = 1; + kCritical = 2; + } + + enum BatChargeState : ENUM8 { + kUnknown = 0; + kIsCharging = 1; + kIsAtFullCharge = 2; + kIsNotCharging = 3; + } + + enum BatFaultType : ENUM8 { + kUnspecfied = 0; + kOverTemp = 1; + kUnderTemp = 2; + } + + enum BatReplaceability : ENUM8 { + kUnspecified = 0; + kNotReplaceable = 1; + kUserReplaceable = 2; + kFactoryReplaceable = 3; + } + + enum PowerSourceStatus : ENUM8 { + kUnspecfied = 0; + kActive = 1; + kStandby = 2; + kUnavailable = 3; + } + + enum WiredCurrentType : ENUM8 { + kAc = 0; + kDc = 1; + } + + enum WiredFaultType : ENUM8 { + kUnspecfied = 0; + kOverVoltage = 1; + kUnderVoltage = 2; + } + + bitmap PowerSourceFeature : BITMAP32 { + kWired = 0x1; + kBattery = 0x2; + kRechargeable = 0x4; + kReplaceable = 0x8; + } + + readonly attribute enum8 status = 0; + readonly attribute int8u order = 1; + readonly attribute char_string<60> description = 2; + readonly attribute int32u wiredAssessedInputVoltage = 3; + readonly attribute int16u wiredAssessedInputFrequency = 4; + readonly attribute enum8 wiredCurrentType = 5; + readonly attribute int32u wiredAssessedCurrent = 6; + readonly attribute int32u wiredNominalVoltage = 7; + readonly attribute int32u wiredMaximumCurrent = 8; + readonly attribute boolean wiredPresent = 9; + readonly attribute ENUM8 activeWiredFaults[] = 10; + readonly attribute int32u batteryVoltage = 11; + readonly attribute int8u batteryPercentRemaining = 12; + readonly attribute int32u batteryTimeRemaining = 13; + readonly attribute enum8 batteryChargeLevel = 14; + readonly attribute boolean batteryReplacementNeeded = 15; + readonly attribute enum8 batteryReplaceability = 16; + readonly attribute boolean batteryPresent = 17; + readonly attribute ENUM8 activeBatteryFaults[] = 18; + readonly attribute char_string<60> batteryReplacementDescription = 19; + readonly attribute int32u batteryCommonDesignation = 20; + readonly attribute char_string<20> batteryANSIDesignation = 21; + readonly attribute char_string<20> batteryIECDesignation = 22; + readonly attribute int32u batteryApprovedChemistry = 23; + readonly attribute int32u batteryCapacity = 24; + readonly attribute int8u batteryQuantity = 25; + readonly attribute enum8 batteryChargeState = 26; + readonly attribute int32u batteryTimeToFullCharge = 27; + readonly attribute boolean batteryFunctionalWhileCharging = 28; + readonly attribute int32u batteryChargingCurrent = 29; + readonly attribute ENUM8 activeBatteryChargeFaults[] = 30; + readonly global attribute bitmap32 featureMap = 65532; + readonly global attribute int16u clusterRevision = 65533; +} + +server cluster PowerSourceConfiguration = 46 { + readonly attribute INT8U sources[] = 0; + readonly global attribute int16u clusterRevision = 65533; +} + +server cluster PressureMeasurement = 1027 { + bitmap PressureFeature : BITMAP32 { + kExt = 0x1; + } + + readonly attribute nullable int16s measuredValue = 0; + readonly attribute nullable int16s minMeasuredValue = 1; + readonly attribute nullable int16s maxMeasuredValue = 2; + readonly attribute int16u tolerance = 3; + readonly attribute nullable int16s scaledValue = 16; + readonly attribute nullable int16s minScaledValue = 17; + readonly attribute nullable int16s maxScaledValue = 18; + readonly attribute int16u scaledTolerance = 19; + readonly attribute int8s scale = 20; + readonly global attribute int16u clusterRevision = 65533; +} + server cluster PumpConfigurationAndControl = 512 { enum PumpControlMode : ENUM8 { kConstantSpeed = 0; @@ -1739,6 +2036,29 @@ server cluster Scenes = 5 { command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6; } +server cluster SoftwareDiagnostics = 52 { + struct ThreadMetrics { + INT64U id = 0; + CHAR_STRING<8> name = 1; + INT32U stackFreeCurrent = 2; + INT32U stackFreeMinimum = 3; + INT32U stackSize = 4; + } + + info event SoftwareFault = 0 { + SoftwareFaultStruct softwareFault = 0; + } + + readonly attribute ThreadMetrics threadMetrics[] = 0; + readonly attribute int64u currentHeapFree = 1; + readonly attribute int64u currentHeapUsed = 2; + readonly attribute int64u currentHeapHighWatermark = 3; + readonly global attribute bitmap32 featureMap = 65532; + readonly global attribute int16u clusterRevision = 65533; + + command ResetWatermarks(): DefaultSuccess = 0; +} + client cluster Switch = 59 { info event SwitchLatched = 0 { INT8U newPosition = 0; @@ -1998,6 +2318,69 @@ server cluster ThermostatUserInterfaceConfiguration = 516 { readonly global attribute int16u clusterRevision = 65533; } +server cluster WiFiNetworkDiagnostics = 54 { + enum AssociationFailureCause : ENUM8 { + kUnknown = 0; + kAssociationFailed = 1; + kAuthenticationFailed = 2; + kSsidNotFound = 3; + } + + enum SecurityType : ENUM8 { + kUnspecified = 0; + kNone = 1; + kWep = 2; + kWpa = 3; + kWpa2 = 4; + kWpa3 = 5; + } + + enum WiFiConnectionStatus : ENUM8 { + kConnected = 0; + kNotConnected = 1; + } + + enum WiFiVersionType : ENUM8 { + k80211a = 0; + k80211b = 1; + k80211g = 2; + k80211n = 3; + k80211ac = 4; + k80211ax = 5; + } + + info event Disconnection = 0 { + INT16U reasonCode = 0; + } + + info event AssociationFailure = 1 { + AssociationFailureCause associationFailure = 0; + INT16U status = 1; + } + + info event ConnectionStatus = 2 { + WiFiConnectionStatus connectionStatus = 0; + } + + readonly attribute nullable octet_string<6> bssid = 0; + readonly attribute nullable SecurityType securityType = 1; + readonly attribute nullable WiFiVersionType wiFiVersion = 2; + readonly attribute nullable int16u channelNumber = 3; + readonly attribute nullable int8s rssi = 4; + readonly attribute int32u beaconLostCount = 5; + readonly attribute int32u beaconRxCount = 6; + readonly attribute int32u packetMulticastRxCount = 7; + readonly attribute int32u packetMulticastTxCount = 8; + readonly attribute int32u packetUnicastRxCount = 9; + readonly attribute int32u packetUnicastTxCount = 10; + readonly attribute int64u currentMaxRate = 11; + readonly attribute int64u overrunCount = 12; + readonly global attribute bitmap32 featureMap = 65532; + readonly global attribute int16u clusterRevision = 65533; + + command ResetCounts(): DefaultSuccess = 0; +} + server cluster WindowCovering = 258 { enum EndProductType : ENUM8 { kRollerShade = 0; @@ -2137,15 +2520,21 @@ server cluster WindowCovering = 258 { endpoint 0 { + server cluster AdministratorCommissioning; binding cluster ApplicationBasic; server cluster ApplicationBasic; server cluster Basic; + server cluster BooleanState; + server cluster BridgedActions; binding cluster ContentLauncher; server cluster ContentLauncher; server cluster Descriptor; + server cluster EthernetNetworkDiagnostics; + server cluster FlowMeasurement; binding cluster GeneralCommissioning; server cluster GeneralCommissioning; server cluster GeneralDiagnostics; + server cluster IlluminanceMeasurement; binding cluster KeypadInput; server cluster KeypadInput; binding cluster ModeSelect; @@ -2155,9 +2544,13 @@ endpoint 0 { server cluster OnOff; binding cluster OperationalCredentials; server cluster OperationalCredentials; + server cluster PowerSource; + server cluster PowerSourceConfiguration; + server cluster PressureMeasurement; server cluster PumpConfigurationAndControl; binding cluster RelativeHumidityMeasurement; server cluster RelativeHumidityMeasurement; + server cluster SoftwareDiagnostics; binding cluster Switch; server cluster Switch; binding cluster TargetNavigator; @@ -2167,6 +2560,7 @@ endpoint 0 { server cluster Thermostat; binding cluster ThermostatUserInterfaceConfiguration; server cluster ThermostatUserInterfaceConfiguration; + server cluster WiFiNetworkDiagnostics; server cluster WindowCovering; } diff --git a/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h b/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h index 68e1ece11479a4..4ca4d4d4ffa47b 100644 --- a/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h +++ b/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h @@ -36,152 +36,179 @@ \ /* Endpoint: 0, Cluster: Power Source (server), big-endian */ \ \ - /* 4 - BatteryVoltage, */ \ + /* 4 - WiredAssessedInputVoltage, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8 - BatteryTimeRemaining, */ \ + /* 8 - WiredAssessedCurrent, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 12 - FeatureMap, */ \ + /* 12 - WiredNominalVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 16 - WiredMaximumCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 20 - BatteryVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 24 - BatteryTimeRemaining, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 28 - BatteryCommonDesignation, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 32 - BatteryApprovedChemistry, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 36 - BatteryCapacity, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 40 - BatteryTimeToFullCharge, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 44 - BatteryChargingCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 48 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 16 - Breadcrumb, */ \ + /* 52 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 24 - FeatureMap, */ \ + /* 60 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Network Commissioning (server), big-endian */ \ \ - /* 28 - LastConnectErrorValue, */ \ + /* 64 - LastConnectErrorValue, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 32 - FeatureMap, */ \ + /* 68 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x02, \ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 36 - UpTime, */ \ + /* 72 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 44 - TotalOperationalHours, */ \ + /* 80 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 48 - CurrentHeapFree, */ \ + /* 84 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 56 - CurrentHeapUsed, */ \ + /* 92 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 64 - CurrentHeapHighWatermark, */ \ + /* 100 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 72 - FeatureMap, */ \ + /* 108 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x01, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 76 - BeaconLostCount, */ \ + /* 112 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 80 - BeaconRxCount, */ \ + /* 116 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 84 - PacketMulticastRxCount, */ \ + /* 120 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 88 - PacketMulticastTxCount, */ \ + /* 124 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 92 - PacketUnicastRxCount, */ \ + /* 128 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 96 - PacketUnicastTxCount, */ \ + /* 132 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 100 - CurrentMaxRate, */ \ + /* 136 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 108 - OverrunCount, */ \ + /* 144 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 116 - FeatureMap, */ \ + /* 152 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x03, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 120 - PacketRxCount, */ \ + /* 156 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 128 - PacketTxCount, */ \ + /* 164 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 136 - TxErrCount, */ \ + /* 172 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 144 - CollisionCount, */ \ + /* 180 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 152 - OverrunCount, */ \ + /* 188 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 160 - TimeSinceReset, */ \ + /* 196 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 168 - FeatureMap, */ \ + /* 204 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x03, \ \ /* Endpoint: 0, Cluster: Switch (server), big-endian */ \ \ - /* 172 - FeatureMap, */ \ + /* 208 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Mode Select (server), big-endian */ \ \ - /* 176 - FeatureMap, */ \ + /* 212 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Window Covering (server), big-endian */ \ \ - /* 180 - FeatureMap, */ \ + /* 216 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x17, \ \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server), big-endian */ \ \ - /* 184 - LifetimeRunningHours, */ \ + /* 220 - LifetimeRunningHours, */ \ 0x00, 0x00, 0x00, \ \ - /* 187 - Power, */ \ + /* 223 - Power, */ \ 0x00, 0x00, 0x00, \ \ - /* 190 - LifetimeEnergyConsumed, */ \ + /* 226 - LifetimeEnergyConsumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 194 - FeatureMap, */ \ + /* 230 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thermostat (server), big-endian */ \ \ - /* 198 - FeatureMap, */ \ + /* 234 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server), big-endian */ \ \ - /* 202 - FeatureMap, */ \ + /* 238 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server), big-endian */ \ \ - /* 206 - FeatureMap, */ \ + /* 242 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Content Launcher (server), big-endian */ \ \ - /* 210 - SupportedStreamingProtocols, */ \ + /* 246 - SupportedStreamingProtocols, */ \ 0x00, 0x00, 0x00, 0x00, \ } @@ -196,158 +223,185 @@ \ /* Endpoint: 0, Cluster: Power Source (server), little-endian */ \ \ - /* 4 - BatteryVoltage, */ \ + /* 4 - WiredAssessedInputVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 8 - WiredAssessedCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 12 - WiredNominalVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 16 - WiredMaximumCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 20 - BatteryVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 24 - BatteryTimeRemaining, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 28 - BatteryCommonDesignation, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 32 - BatteryApprovedChemistry, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8 - BatteryTimeRemaining, */ \ + /* 36 - BatteryCapacity, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 12 - FeatureMap, */ \ + /* 40 - BatteryTimeToFullCharge, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 44 - BatteryChargingCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 48 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 16 - Breadcrumb, */ \ + /* 52 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 24 - FeatureMap, */ \ + /* 60 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Network Commissioning (server), little-endian */ \ \ - /* 28 - LastConnectErrorValue, */ \ + /* 64 - LastConnectErrorValue, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 32 - FeatureMap, */ \ + /* 68 - FeatureMap, */ \ 0x02, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 36 - UpTime, */ \ + /* 72 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 44 - TotalOperationalHours, */ \ + /* 80 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 48 - CurrentHeapFree, */ \ + /* 84 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 56 - CurrentHeapUsed, */ \ + /* 92 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 64 - CurrentHeapHighWatermark, */ \ + /* 100 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 72 - FeatureMap, */ \ + /* 108 - FeatureMap, */ \ 0x01, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 76 - BeaconLostCount, */ \ + /* 112 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 80 - BeaconRxCount, */ \ + /* 116 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 84 - PacketMulticastRxCount, */ \ + /* 120 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 88 - PacketMulticastTxCount, */ \ + /* 124 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 92 - PacketUnicastRxCount, */ \ + /* 128 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 96 - PacketUnicastTxCount, */ \ + /* 132 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 100 - CurrentMaxRate, */ \ + /* 136 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 108 - OverrunCount, */ \ + /* 144 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 116 - FeatureMap, */ \ + /* 152 - FeatureMap, */ \ 0x03, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 120 - PacketRxCount, */ \ + /* 156 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 128 - PacketTxCount, */ \ + /* 164 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 136 - TxErrCount, */ \ + /* 172 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 144 - CollisionCount, */ \ + /* 180 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 152 - OverrunCount, */ \ + /* 188 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 160 - TimeSinceReset, */ \ + /* 196 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 168 - FeatureMap, */ \ + /* 204 - FeatureMap, */ \ 0x03, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Switch (server), little-endian */ \ \ - /* 172 - FeatureMap, */ \ + /* 208 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Mode Select (server), little-endian */ \ \ - /* 176 - FeatureMap, */ \ + /* 212 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Window Covering (server), little-endian */ \ \ - /* 180 - FeatureMap, */ \ + /* 216 - FeatureMap, */ \ 0x17, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server), little-endian */ \ \ - /* 184 - LifetimeRunningHours, */ \ + /* 220 - LifetimeRunningHours, */ \ 0x00, 0x00, 0x00, \ \ - /* 187 - Power, */ \ + /* 223 - Power, */ \ 0x00, 0x00, 0x00, \ \ - /* 190 - LifetimeEnergyConsumed, */ \ + /* 226 - LifetimeEnergyConsumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 194 - FeatureMap, */ \ + /* 230 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thermostat (server), little-endian */ \ \ - /* 198 - FeatureMap, */ \ + /* 234 - FeatureMap, */ \ 0x0B, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server), little-endian */ \ \ - /* 202 - FeatureMap, */ \ + /* 238 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server), little-endian */ \ \ - /* 206 - FeatureMap, */ \ + /* 242 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Content Launcher (server), little-endian */ \ \ - /* 210 - SupportedStreamingProtocols, */ \ + /* 246 - SupportedStreamingProtocols, */ \ 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (41) +#define GENERATED_DEFAULTS_COUNT (50) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -404,7 +458,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 281 +#define GENERATED_ATTRIBUTE_COUNT 309 #define GENERATED_ATTRIBUTES \ { \ \ @@ -480,28 +534,51 @@ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Power Source (server) */ \ - { 0x00000000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Status */ \ - { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Order */ \ - { 0x00000002, ZAP_TYPE(CHAR_STRING), 61, 0, ZAP_EMPTY_DEFAULT() }, /* Description */ \ - { 0x0000000B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4) }, /* BatteryVoltage */ \ - { 0x0000000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryPercentRemaining */ \ - { 0x0000000D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(8) }, /* BatteryTimeRemaining */ \ - { 0x0000000E, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeLevel */ \ + { 0x00000000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Status */ \ + { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Order */ \ + { 0x00000002, ZAP_TYPE(CHAR_STRING), 61, 0, ZAP_EMPTY_DEFAULT() }, /* Description */ \ + { 0x00000003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4) }, /* WiredAssessedInputVoltage */ \ + { 0x00000004, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* WiredAssessedInputFrequency */ \ + { 0x00000005, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiredCurrentType */ \ + { 0x00000006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(8) }, /* WiredAssessedCurrent */ \ + { 0x00000007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(12) }, /* WiredNominalVoltage */ \ + { 0x00000008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(16) }, /* WiredMaximumCurrent */ \ + { 0x00000009, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiredPresent */ \ + { 0x0000000A, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ActiveWiredFaults */ \ + { 0x0000000B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(20) }, /* BatteryVoltage */ \ + { 0x0000000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryPercentRemaining */ \ + { 0x0000000D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(24) }, /* BatteryTimeRemaining */ \ + { 0x0000000E, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeLevel */ \ + { 0x0000000F, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryReplacementNeeded */ \ + { 0x00000010, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryReplaceability */ \ + { 0x00000011, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryPresent */ \ { 0x00000012, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ActiveBatteryFaults */ \ - { 0x0000001A, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeState */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(12) }, /* FeatureMap */ \ + ZAP_EMPTY_DEFAULT() }, /* ActiveBatteryFaults */ \ + { 0x00000013, ZAP_TYPE(CHAR_STRING), 61, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryReplacementDescription */ \ + { 0x00000014, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(28) }, /* BatteryCommonDesignation */ \ + { 0x00000015, ZAP_TYPE(CHAR_STRING), 21, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryANSIDesignation */ \ + { 0x00000016, ZAP_TYPE(CHAR_STRING), 21, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryIECDesignation */ \ + { 0x00000017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(32) }, /* BatteryApprovedChemistry */ \ + { 0x00000018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(36) }, /* BatteryCapacity */ \ + { 0x00000019, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryQuantity */ \ + { 0x0000001A, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeState */ \ + { 0x0000001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(40) }, /* BatteryTimeToFullCharge */ \ + { 0x0000001C, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryFunctionalWhileCharging */ \ + { 0x0000001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(44) }, /* BatteryChargingCurrent */ \ + { 0x0000001E, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* ActiveBatteryChargeFaults */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(48) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(16) }, /* Breadcrumb */ \ + { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(52) }, /* Breadcrumb */ \ { 0x00000001, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* BasicCommissioningInfo */ \ { 0x00000002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RegulatoryConfig */ \ { 0x00000003, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LocationCapability */ \ { 0x00000004, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* SupportsConcurrentConnection */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(24) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(60) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ @@ -513,15 +590,15 @@ { 0x00000005, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkingStatus */ \ { 0x00000006, ZAP_TYPE(OCTET_STRING), 33, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkID */ \ { 0x00000007, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(28) }, /* LastConnectErrorValue */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(32) }, /* FeatureMap */ \ + ZAP_LONG_DEFAULTS_INDEX(64) }, /* LastConnectErrorValue */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(68) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NetworkInterfaces */ \ { 0x00000001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(36) }, /* UpTime */ \ - { 0x00000003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(44) }, /* TotalOperationalHours */ \ + { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(72) }, /* UpTime */ \ + { 0x00000003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(80) }, /* TotalOperationalHours */ \ { 0x00000004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ { 0x00000005, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* ActiveHardwareFaults */ \ @@ -532,11 +609,11 @@ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ThreadMetrics */ \ - { 0x00000001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(48) }, /* CurrentHeapFree */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(56) }, /* CurrentHeapUsed */ \ - { 0x00000003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(64) }, /* CurrentHeapHighWatermark */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(72) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x00000001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(84) }, /* CurrentHeapFree */ \ + { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(92) }, /* CurrentHeapUsed */ \ + { 0x00000003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(100) }, /* CurrentHeapHighWatermark */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(108) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ { 0x00000000, ZAP_TYPE(OCTET_STRING), 7, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* bssid */ \ @@ -544,35 +621,35 @@ { 0x00000002, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x00000003, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x00000004, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x00000005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(76) }, /* BeaconLostCount */ \ - { 0x00000006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(80) }, /* BeaconRxCount */ \ - { 0x00000007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(84) }, /* PacketMulticastRxCount */ \ - { 0x00000008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(88) }, /* PacketMulticastTxCount */ \ - { 0x00000009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(92) }, /* PacketUnicastRxCount */ \ - { 0x0000000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(96) }, /* PacketUnicastTxCount */ \ - { 0x0000000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(100) }, /* CurrentMaxRate */ \ - { 0x0000000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(108) }, /* OverrunCount */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(116) }, /* FeatureMap */ \ + { 0x00000005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(112) }, /* BeaconLostCount */ \ + { 0x00000006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(116) }, /* BeaconRxCount */ \ + { 0x00000007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(120) }, /* PacketMulticastRxCount */ \ + { 0x00000008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(124) }, /* PacketMulticastTxCount */ \ + { 0x00000009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(128) }, /* PacketUnicastRxCount */ \ + { 0x0000000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(132) }, /* PacketUnicastTxCount */ \ + { 0x0000000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(136) }, /* CurrentMaxRate */ \ + { 0x0000000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(144) }, /* OverrunCount */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(152) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x00000000, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x00000001, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(120) }, /* PacketRxCount */ \ - { 0x00000003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(128) }, /* PacketTxCount */ \ - { 0x00000004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(136) }, /* TxErrCount */ \ - { 0x00000005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(144) }, /* CollisionCount */ \ - { 0x00000006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(152) }, /* OverrunCount */ \ + { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(156) }, /* PacketRxCount */ \ + { 0x00000003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(164) }, /* PacketTxCount */ \ + { 0x00000004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(172) }, /* TxErrCount */ \ + { 0x00000005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(180) }, /* CollisionCount */ \ + { 0x00000006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(188) }, /* OverrunCount */ \ { 0x00000007, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x00000008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(160) }, /* TimeSinceReset */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(168) }, /* FeatureMap */ \ + { 0x00000008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(196) }, /* TimeSinceReset */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(204) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Switch (server) */ \ { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* number of positions */ \ { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* current position */ \ { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* multi press max */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(172) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(208) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ @@ -604,7 +681,7 @@ { 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CurrentMode */ \ { 0x00000004, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_EMPTY_DEFAULT() }, /* StartUpMode */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(176) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(212) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Window Covering (server) */ \ @@ -640,7 +717,7 @@ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(1) }, /* Mode */ \ { 0x0000001A, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* SafetyStatus */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(180) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(216) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server) */ \ @@ -663,16 +740,16 @@ { 0x00000013, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Capacity */ \ { 0x00000014, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Speed */ \ { 0x00000015, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(184) }, /* LifetimeRunningHours */ \ - { 0x00000016, ZAP_TYPE(INT24U), 3, 0, ZAP_LONG_DEFAULTS_INDEX(187) }, /* Power */ \ + ZAP_LONG_DEFAULTS_INDEX(220) }, /* LifetimeRunningHours */ \ + { 0x00000016, ZAP_TYPE(INT24U), 3, 0, ZAP_LONG_DEFAULTS_INDEX(223) }, /* Power */ \ { 0x00000017, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(190) }, /* LifetimeEnergyConsumed */ \ + ZAP_LONG_DEFAULTS_INDEX(226) }, /* LifetimeEnergyConsumed */ \ { 0x00000020, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(2) }, /* OperationMode */ \ { 0x00000021, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(3) }, /* ControlMode */ \ { 0x00000022, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* AlarmMask */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(194) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(230) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thermostat (server) */ \ @@ -701,7 +778,7 @@ { 0x00000020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* start of week */ \ { 0x00000021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* number of weekly transitions */ \ { 0x00000022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* number of daily transitions */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(198) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(234) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server) */ \ @@ -711,7 +788,7 @@ ZAP_MIN_MAX_DEFAULTS_INDEX(12) }, /* keypad lockout */ \ { 0x00000002, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(13) }, /* schedule programming visibility */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(202) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(238) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Illuminance Measurement (server) */ \ @@ -732,6 +809,12 @@ { 0x00000000, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* MeasuredValue */ \ { 0x00000001, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MinMeasuredValue */ \ { 0x00000002, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MaxMeasuredValue */ \ + { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Tolerance */ \ + { 0x00000010, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* ScaledValue */ \ + { 0x00000011, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* MinScaledValue */ \ + { 0x00000012, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* MaxScaledValue */ \ + { 0x00000013, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* ScaledTolerance */ \ + { 0x00000014, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* Scale */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Flow Measurement (server) */ \ @@ -746,7 +829,7 @@ { 0x00000001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* min measured value */ \ { 0x00000002, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* max measured value */ \ { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* tolerance */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(206) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(242) }, /* FeatureMap */ \ \ /* Endpoint: 0, Cluster: Target Navigator (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TargetList */ \ @@ -759,7 +842,7 @@ /* Endpoint: 0, Cluster: Content Launcher (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AcceptHeader */ \ { 0x00000001, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(210) }, /* SupportedStreamingProtocols */ \ + ZAP_LONG_DEFAULTS_INDEX(246) }, /* SupportedStreamingProtocols */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Application Basic (server) */ \ @@ -1154,8 +1237,8 @@ /* Endpoint: 0, Cluster: Power Source (server) */ \ .clusterId = 0x0000002F, \ .attributes = ZAP_ATTRIBUTE_INDEX(38), \ - .attributeCount = 11, \ - .clusterSize = 80, \ + .attributeCount = 33, \ + .clusterSize = 228, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ .acceptedCommandList = nullptr ,\ @@ -1164,7 +1247,7 @@ { \ /* Endpoint: 0, Cluster: General Commissioning (client) */ \ .clusterId = 0x00000030, \ - .attributes = ZAP_ATTRIBUTE_INDEX(49), \ + .attributes = ZAP_ATTRIBUTE_INDEX(71), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1175,7 +1258,7 @@ { \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ .clusterId = 0x00000030, \ - .attributes = ZAP_ATTRIBUTE_INDEX(49), \ + .attributes = ZAP_ATTRIBUTE_INDEX(71), \ .attributeCount = 7, \ .clusterSize = 16, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1186,7 +1269,7 @@ { \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ .clusterId = 0x00000031, \ - .attributes = ZAP_ATTRIBUTE_INDEX(56), \ + .attributes = ZAP_ATTRIBUTE_INDEX(78), \ .attributeCount = 10, \ .clusterSize = 48, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1197,7 +1280,7 @@ { \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ .clusterId = 0x00000033, \ - .attributes = ZAP_ATTRIBUTE_INDEX(66), \ + .attributes = ZAP_ATTRIBUTE_INDEX(88), \ .attributeCount = 9, \ .clusterSize = 17, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1208,7 +1291,7 @@ { \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ .clusterId = 0x00000034, \ - .attributes = ZAP_ATTRIBUTE_INDEX(75), \ + .attributes = ZAP_ATTRIBUTE_INDEX(97), \ .attributeCount = 6, \ .clusterSize = 30, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1219,7 +1302,7 @@ { \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ .clusterId = 0x00000036, \ - .attributes = ZAP_ATTRIBUTE_INDEX(81), \ + .attributes = ZAP_ATTRIBUTE_INDEX(103), \ .attributeCount = 15, \ .clusterSize = 58, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1230,7 +1313,7 @@ { \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ .clusterId = 0x00000037, \ - .attributes = ZAP_ATTRIBUTE_INDEX(96), \ + .attributes = ZAP_ATTRIBUTE_INDEX(118), \ .attributeCount = 11, \ .clusterSize = 57, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1241,7 +1324,7 @@ { \ /* Endpoint: 0, Cluster: Switch (client) */ \ .clusterId = 0x0000003B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(107), \ + .attributes = ZAP_ATTRIBUTE_INDEX(129), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1252,7 +1335,7 @@ { \ /* Endpoint: 0, Cluster: Switch (server) */ \ .clusterId = 0x0000003B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(107), \ + .attributes = ZAP_ATTRIBUTE_INDEX(129), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1263,7 +1346,7 @@ { \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ .clusterId = 0x0000003C, \ - .attributes = ZAP_ATTRIBUTE_INDEX(112), \ + .attributes = ZAP_ATTRIBUTE_INDEX(134), \ .attributeCount = 4, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1274,7 +1357,7 @@ { \ /* Endpoint: 0, Cluster: Operational Credentials (client) */ \ .clusterId = 0x0000003E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(116), \ + .attributes = ZAP_ATTRIBUTE_INDEX(138), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1285,7 +1368,7 @@ { \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ .clusterId = 0x0000003E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(116), \ + .attributes = ZAP_ATTRIBUTE_INDEX(138), \ .attributeCount = 6, \ .clusterSize = 4, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1296,7 +1379,7 @@ { \ /* Endpoint: 0, Cluster: Boolean State (server) */ \ .clusterId = 0x00000045, \ - .attributes = ZAP_ATTRIBUTE_INDEX(122), \ + .attributes = ZAP_ATTRIBUTE_INDEX(144), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1307,7 +1390,7 @@ { \ /* Endpoint: 0, Cluster: Mode Select (client) */ \ .clusterId = 0x00000050, \ - .attributes = ZAP_ATTRIBUTE_INDEX(124), \ + .attributes = ZAP_ATTRIBUTE_INDEX(146), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1318,7 +1401,7 @@ { \ /* Endpoint: 0, Cluster: Mode Select (server) */ \ .clusterId = 0x00000050, \ - .attributes = ZAP_ATTRIBUTE_INDEX(124), \ + .attributes = ZAP_ATTRIBUTE_INDEX(146), \ .attributeCount = 7, \ .clusterSize = 41, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1329,7 +1412,7 @@ { \ /* Endpoint: 0, Cluster: Window Covering (server) */ \ .clusterId = 0x00000102, \ - .attributes = ZAP_ATTRIBUTE_INDEX(131), \ + .attributes = ZAP_ATTRIBUTE_INDEX(153), \ .attributeCount = 20, \ .clusterSize = 35, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1340,7 +1423,7 @@ { \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server) */ \ .clusterId = 0x00000200, \ - .attributes = ZAP_ATTRIBUTE_INDEX(151), \ + .attributes = ZAP_ATTRIBUTE_INDEX(173), \ .attributeCount = 26, \ .clusterSize = 54, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1351,7 +1434,7 @@ { \ /* Endpoint: 0, Cluster: Thermostat (server) */ \ .clusterId = 0x00000201, \ - .attributes = ZAP_ATTRIBUTE_INDEX(177), \ + .attributes = ZAP_ATTRIBUTE_INDEX(199), \ .attributeCount = 18, \ .clusterSize = 32, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1362,7 +1445,7 @@ { \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (client) */ \ .clusterId = 0x00000204, \ - .attributes = ZAP_ATTRIBUTE_INDEX(195), \ + .attributes = ZAP_ATTRIBUTE_INDEX(217), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1373,7 +1456,7 @@ { \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server) */ \ .clusterId = 0x00000204, \ - .attributes = ZAP_ATTRIBUTE_INDEX(195), \ + .attributes = ZAP_ATTRIBUTE_INDEX(217), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1384,7 +1467,7 @@ { \ /* Endpoint: 0, Cluster: Illuminance Measurement (server) */ \ .clusterId = 0x00000400, \ - .attributes = ZAP_ATTRIBUTE_INDEX(200), \ + .attributes = ZAP_ATTRIBUTE_INDEX(222), \ .attributeCount = 6, \ .clusterSize = 11, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1395,7 +1478,7 @@ { \ /* Endpoint: 0, Cluster: Temperature Measurement (client) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(206), \ + .attributes = ZAP_ATTRIBUTE_INDEX(228), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1406,7 +1489,7 @@ { \ /* Endpoint: 0, Cluster: Temperature Measurement (server) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(206), \ + .attributes = ZAP_ATTRIBUTE_INDEX(228), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1417,9 +1500,9 @@ { \ /* Endpoint: 0, Cluster: Pressure Measurement (server) */ \ .clusterId = 0x00000403, \ - .attributes = ZAP_ATTRIBUTE_INDEX(210), \ - .attributeCount = 4, \ - .clusterSize = 8, \ + .attributes = ZAP_ATTRIBUTE_INDEX(232), \ + .attributeCount = 10, \ + .clusterSize = 19, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ .acceptedCommandList = nullptr ,\ @@ -1428,7 +1511,7 @@ { \ /* Endpoint: 0, Cluster: Flow Measurement (server) */ \ .clusterId = 0x00000404, \ - .attributes = ZAP_ATTRIBUTE_INDEX(214), \ + .attributes = ZAP_ATTRIBUTE_INDEX(242), \ .attributeCount = 5, \ .clusterSize = 10, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1439,7 +1522,7 @@ { \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (client) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(219), \ + .attributes = ZAP_ATTRIBUTE_INDEX(247), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1450,7 +1533,7 @@ { \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(219), \ + .attributes = ZAP_ATTRIBUTE_INDEX(247), \ .attributeCount = 5, \ .clusterSize = 12, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1461,7 +1544,7 @@ { \ /* Endpoint: 0, Cluster: Target Navigator (client) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(224), \ + .attributes = ZAP_ATTRIBUTE_INDEX(252), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1472,7 +1555,7 @@ { \ /* Endpoint: 0, Cluster: Target Navigator (server) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(224), \ + .attributes = ZAP_ATTRIBUTE_INDEX(252), \ .attributeCount = 3, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1483,7 +1566,7 @@ { \ /* Endpoint: 0, Cluster: Keypad Input (client) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(227), \ + .attributes = ZAP_ATTRIBUTE_INDEX(255), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1494,7 +1577,7 @@ { \ /* Endpoint: 0, Cluster: Keypad Input (server) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(227), \ + .attributes = ZAP_ATTRIBUTE_INDEX(255), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1505,7 +1588,7 @@ { \ /* Endpoint: 0, Cluster: Content Launcher (client) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(228), \ + .attributes = ZAP_ATTRIBUTE_INDEX(256), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1516,7 +1599,7 @@ { \ /* Endpoint: 0, Cluster: Content Launcher (server) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(228), \ + .attributes = ZAP_ATTRIBUTE_INDEX(256), \ .attributeCount = 3, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1527,7 +1610,7 @@ { \ /* Endpoint: 0, Cluster: Application Basic (client) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(231), \ + .attributes = ZAP_ATTRIBUTE_INDEX(259), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1538,7 +1621,7 @@ { \ /* Endpoint: 0, Cluster: Application Basic (server) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(231), \ + .attributes = ZAP_ATTRIBUTE_INDEX(259), \ .attributeCount = 9, \ .clusterSize = 106, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1549,7 +1632,7 @@ { \ /* Endpoint: 1, Cluster: Identify (server) */ \ .clusterId = 0x00000003, \ - .attributes = ZAP_ATTRIBUTE_INDEX(240), \ + .attributes = ZAP_ATTRIBUTE_INDEX(268), \ .attributeCount = 3, \ .clusterSize = 5, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1560,7 +1643,7 @@ { \ /* Endpoint: 1, Cluster: Groups (server) */ \ .clusterId = 0x00000004, \ - .attributes = ZAP_ATTRIBUTE_INDEX(243), \ + .attributes = ZAP_ATTRIBUTE_INDEX(271), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1571,7 +1654,7 @@ { \ /* Endpoint: 1, Cluster: Scenes (server) */ \ .clusterId = 0x00000005, \ - .attributes = ZAP_ATTRIBUTE_INDEX(245), \ + .attributes = ZAP_ATTRIBUTE_INDEX(273), \ .attributeCount = 6, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1582,7 +1665,7 @@ { \ /* Endpoint: 1, Cluster: On/Off (client) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(251), \ + .attributes = ZAP_ATTRIBUTE_INDEX(279), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1593,7 +1676,7 @@ { \ /* Endpoint: 1, Cluster: On/Off (server) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(251), \ + .attributes = ZAP_ATTRIBUTE_INDEX(279), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1604,7 +1687,7 @@ { \ /* Endpoint: 1, Cluster: Level Control (server) */ \ .clusterId = 0x00000008, \ - .attributes = ZAP_ATTRIBUTE_INDEX(253), \ + .attributes = ZAP_ATTRIBUTE_INDEX(281), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1615,7 +1698,7 @@ { \ /* Endpoint: 1, Cluster: Basic (server) */ \ .clusterId = 0x00000028, \ - .attributes = ZAP_ATTRIBUTE_INDEX(255), \ + .attributes = ZAP_ATTRIBUTE_INDEX(283), \ .attributeCount = 20, \ .clusterSize = 39, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1626,7 +1709,7 @@ { \ /* Endpoint: 1, Cluster: Color Control (server) */ \ .clusterId = 0x00000300, \ - .attributes = ZAP_ATTRIBUTE_INDEX(275), \ + .attributes = ZAP_ATTRIBUTE_INDEX(303), \ .attributeCount = 6, \ .clusterSize = 11, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1645,7 +1728,7 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 42, 715 }, { ZAP_CLUSTER_INDEX(42), 8, 72 }, \ + { ZAP_CLUSTER_INDEX(0), 42, 874 }, { ZAP_CLUSTER_INDEX(42), 8, 72 }, \ } // Largest attribute size is needed for various buffers @@ -1657,7 +1740,7 @@ static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, #define ATTRIBUTE_SINGLETONS_SIZE (78) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (787) +#define ATTRIBUTE_MAX_SIZE (946) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h index 88f428d15118de..114a10794ffa42 100644 --- a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h +++ b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h @@ -860,6 +860,2764 @@ class Test_TC_DM_2_3_SimulatedSuite : public TestCommand } }; +class Test_TC_BOOL_3_1_SimulatedSuite : public TestCommand +{ +public: + Test_TC_BOOL_3_1_SimulatedSuite() : TestCommand("Test_TC_BOOL_3_1_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_BOOL_3_1_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_BOOL_3_1_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_BOOL_3_1_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: StateValue\n"); + err = TestReadAttributeStateValue_1(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 2; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeStateValue_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Boolean State Attribute: StateValue] Read attribute: StateValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::BooleanState::Id, + chip::app::Clusters::BooleanState::Attributes::StateValue::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_PRS_3_1_SimulatedSuite : public TestCommand +{ +public: + Test_TC_PRS_3_1_SimulatedSuite() : TestCommand("Test_TC_PRS_3_1_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_PRS_3_1_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_PRS_3_1_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_PRS_3_1_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: MeasuredValue\n"); + err = TestReadAttributeMeasuredValue_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: MinMeasuredValue\n"); + err = TestReadAttributeMinMeasuredValue_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: MaxMeasuredValue\n"); + err = TestReadAttributeMaxMeasuredValue_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Read attribute: Tolerance\n"); + err = TestReadAttributeTolerance_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Read attribute: ScaledValue\n"); + err = TestReadAttributeScaledValue_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Read attribute: MinScaledValue\n"); + err = TestReadAttributeMinScaledValue_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Read attribute: MaxScaledValue\n"); + err = TestReadAttributeMaxScaledValue_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read attribute: ScaledTolerance\n"); + err = TestReadAttributeScaledTolerance_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Read attribute: Scale\n"); + err = TestReadAttributeScale_9(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 10; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeMeasuredValue_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: MeasuredValue] Read attribute: MeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::MeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMinMeasuredValue_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: MinMeasuredValue] Read attribute: MinMeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::MinMeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMaxMeasuredValue_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: MaxMeasuredValue] Read attribute: MaxMeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::MaxMeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeTolerance_4() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: Tolerance] Read attribute: Tolerance", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::Tolerance::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeScaledValue_5() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: ScaledValue] Read attribute: ScaledValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::ScaledValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMinScaledValue_6() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: MinScaledValue] Read attribute: MinScaledValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::MinScaledValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMaxScaledValue_7() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: MaxScaledValue] Read attribute: MaxScaledValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::MaxScaledValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeScaledTolerance_8() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: ScaledTolerance] Read attribute: ScaledTolerance", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::ScaledTolerance::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeScale_9() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Pressure Measurement Attribute: Scale] Read attribute: Scale", endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PressureMeasurement::Id, + chip::app::Clusters::PressureMeasurement::Attributes::Scale::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_BRAC_3_1_SimulatedSuite : public TestCommand +{ +public: + Test_TC_BRAC_3_1_SimulatedSuite() : TestCommand("Test_TC_BRAC_3_1_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_BRAC_3_1_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_BRAC_3_1_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_BRAC_3_1_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: ActionList\n"); + err = TestReadAttributeActionList_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: EndpointLists\n"); + err = TestReadAttributeEndpointLists_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: SetupURL\n"); + err = TestReadAttributeSetupURL_3(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 4; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeActionList_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Bridged Actions Attribute: action list] Read attribute: ActionList", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::BridgedActions::Id, + chip::app::Clusters::BridgedActions::Attributes::ActionList::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeEndpointLists_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Bridged Actions Attribute: endpoint list] Read attribute: EndpointLists", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::BridgedActions::Id, + chip::app::Clusters::BridgedActions::Attributes::EndpointList::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeSetupURL_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Bridged Actions Attribute: setup url] Read attribute: SetupURL", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::BridgedActions::Id, + chip::app::Clusters::BridgedActions::Attributes::SetupUrl::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_PSCFG_3_1_SimulatedSuite : public TestCommand +{ +public: + Test_TC_PSCFG_3_1_SimulatedSuite() : TestCommand("Test_TC_PSCFG_3_1_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_PSCFG_3_1_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_PSCFG_3_1_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_PSCFG_3_1_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: Sources\n"); + err = TestReadAttributeSources_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Write attribute: Sources\n"); + err = TestWriteAttributeSources_2(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 3; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeSources_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Power Source Configuration Attribute: Sources] Read attribute: Sources", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSourceConfiguration::Id, + chip::app::Clusters::PowerSourceConfiguration::Attributes::Sources::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestWriteAttributeSources_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Power Source Configuration Attribute: Sources] Write attribute: Sources", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSourceConfiguration::Id, + chip::app::Clusters::PowerSourceConfiguration::Attributes::Sources::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_ETHDIAG_1_2_SimulatedSuite : public TestCommand +{ +public: + Test_TC_ETHDIAG_1_2_SimulatedSuite() : TestCommand("Test_TC_ETHDIAG_1_2_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_ETHDIAG_1_2_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_ETHDIAG_1_2_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_ETHDIAG_1_2_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: PHYRate\n"); + err = TestReadAttributePHYRate_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: FullDuplex\n"); + err = TestReadAttributeFullDuplex_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: PacketRxCount\n"); + err = TestReadAttributePacketRxCount_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Read attribute: PacketTxCount\n"); + err = TestReadAttributePacketTxCount_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Read attribute: TxErrCount\n"); + err = TestReadAttributeTxErrCount_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Read attribute: CollisionCount\n"); + err = TestReadAttributeCollisionCount_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Read attribute: OverrunCount\n"); + err = TestReadAttributeOverrunCount_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read attribute: CarrierDetect\n"); + err = TestReadAttributeCarrierDetect_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Read attribute: TimeSinceReset\n"); + err = TestReadAttributeTimeSinceReset_9(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 10; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributePHYRate_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: PHYRate] Read attribute: PHYRate", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::PHYRate::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeFullDuplex_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: FullDuplex] Read attribute: FullDuplex", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::FullDuplex::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributePacketRxCount_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: PacketRxCount] Read attribute: PacketRxCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::PacketRxCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributePacketTxCount_4() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: PacketTxCount] Read attribute: PacketTxCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::PacketTxCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeTxErrCount_5() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: TxErrCount] Read attribute: TxErrCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::TxErrCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeCollisionCount_6() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: CollisionCount] Read attribute: CollisionCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::CollisionCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeOverrunCount_7() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: OverrunCount] Read attribute: OverrunCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::OverrunCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeCarrierDetect_8() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: CarrierDetect] Read attribute: CarrierDetect", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::CarrierDetect::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeTimeSinceReset_9() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Ethernet Network Diagnostics Attribute: TimeSinceReset] Read attribute: TimeSinceReset", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::EthernetNetworkDiagnostics::Id, + chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::TimeSinceReset::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_PS_3_1_SimulatedSuite : public TestCommand +{ +public: + Test_TC_PS_3_1_SimulatedSuite() : TestCommand("Test_TC_PS_3_1_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_PS_3_1_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_PS_3_1_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_PS_3_1_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: Status\n"); + err = TestReadAttributeStatus_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: Order\n"); + err = TestReadAttributeOrder_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: Description\n"); + err = TestReadAttributeDescription_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Read attribute: WiredAssessedInputVoltage\n"); + err = TestReadAttributeWiredAssessedInputVoltage_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Read attribute: WiredAssessedInputFrequency\n"); + err = TestReadAttributeWiredAssessedInputFrequency_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Read attribute: WiredCurrentType\n"); + err = TestReadAttributeWiredCurrentType_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Read attribute: WiredAssessedCurrent\n"); + err = TestReadAttributeWiredAssessedCurrent_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read attribute: WiredNominalVoltage\n"); + err = TestReadAttributeWiredNominalVoltage_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Read attribute: WiredPresent\n"); + err = TestReadAttributeWiredPresent_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Read attribute: WiredMaximumCurrent\n"); + err = TestReadAttributeWiredMaximumCurrent_10(); + break; + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Read attribute: ActiveWiredFaults\n"); + err = TestReadAttributeActiveWiredFaults_11(); + break; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Read attribute: BatteryVoltage\n"); + err = TestReadAttributeBatteryVoltage_12(); + break; + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : DUT Client reads BatPercentRemaining from Server TH\n"); + err = TestDutClientReadsBatPercentRemainingFromServerTh_13(); + break; + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : DUT Client reads BatTimeRemaining from Server TH\n"); + err = TestDutClientReadsBatTimeRemainingFromServerTh_14(); + break; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : DUT Client reads BatChargeLevel from Server TH\n"); + err = TestDutClientReadsBatChargeLevelFromServerTh_15(); + break; + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : DUT Client reads BatReplacementNeeded from Server TH\n"); + err = TestDutClientReadsBatReplacementNeededFromServerTh_16(); + break; + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : DUT Client reads BatReplaceability from Server TH\n"); + err = TestDutClientReadsBatReplaceabilityFromServerTh_17(); + break; + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : DUT Client reads BatPresent from Server TH\n"); + err = TestDutClientReadsBatPresentFromServerTh_18(); + break; + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : DUT Client reads ActiveBatFaults from Server TH\n"); + err = TestDutClientReadsActiveBatFaultsFromServerTh_19(); + break; + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : DUT Client reads BatReplacementDescription from Server TH\n"); + err = TestDutClientReadsBatReplacementDescriptionFromServerTh_20(); + break; + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : DUT Client reads BatCommonDesignation from Server TH\n"); + err = TestDutClientReadsBatCommonDesignationFromServerTh_21(); + break; + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : DUT Client reads BatANSIDesignation from Server TH\n"); + err = TestDutClientReadsBatANSIDesignationFromServerTh_22(); + break; + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : DUT Client reads BatIECDesignation from Server TH\n"); + err = TestDutClientReadsBatIECDesignationFromServerTh_23(); + break; + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : DUT Client reads BatApprovedChemistry from Server TH\n"); + err = TestDutClientReadsBatApprovedChemistryFromServerTh_24(); + break; + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : DUT Client reads BatCapacity from Server TH\n"); + err = TestDutClientReadsBatCapacityFromServerTh_25(); + break; + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : DUT Client reads BatQuantity from Server TH\n"); + err = TestDutClientReadsBatQuantityFromServerTh_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : DUT Client reads BatChargeState from Server TH\n"); + err = TestDutClientReadsBatChargeStateFromServerTh_27(); + break; + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : DUT Client reads BatTimeToFullCharge from Server TH\n"); + err = TestDutClientReadsBatTimeToFullChargeFromServerTh_28(); + break; + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : DUT Client reads BatFunctionalWhileCharging from Server TH\n"); + err = TestDutClientReadsBatFunctionalWhileChargingFromServerTh_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : DUT Client reads BatChargingCurrent from Server TH\n"); + err = TestDutClientReadsBatChargingCurrentFromServerTh_30(); + break; + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : DUT Client reads ActiveBatChargeFaults from Server TH\n"); + err = TestDutClientReadsActiveBatChargeFaultsFromServerTh_31(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 32; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeStatus_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Power Source Attribute: Status] Read attribute: Status", endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::Status::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeOrder_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Power Source Attribute: Order] Read attribute: Order", endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::Order::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeDescription_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Power Source Attribute: Description] Read attribute: Description", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::Description::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiredAssessedInputVoltage_4() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: WiredAssessedInputVoltage] Read attribute: " + "WiredAssessedInputVoltage", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::WiredAssessedInputVoltage::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiredAssessedInputFrequency_5() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: WiredAssessedInputFrequency] Read attribute: " + "WiredAssessedInputFrequency", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::WiredAssessedInputFrequency::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiredCurrentType_6() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: WiredCurrentType] Read attribute: WiredCurrentType", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::WiredCurrentType::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiredAssessedCurrent_7() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: WiredAssessedCurrent] Read attribute: WiredAssessedCurrent", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::WiredAssessedCurrent::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiredNominalVoltage_8() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: WiredNominalVoltage] Read attribute: WiredNominalVoltage", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::WiredNominalVoltage::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiredPresent_9() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Power Source Attribute: WiredPresent] Read attribute: WiredPresent", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::WiredPresent::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiredMaximumCurrent_10() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: WiredMaximumCurrent] Read attribute: WiredMaximumCurrent", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::WiredMaximumCurrent::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeActiveWiredFaults_11() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: ActiveWiredFaults] Read attribute: ActiveWiredFaults", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::ActiveWiredFaults::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeBatteryVoltage_12() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryVoltage] Read attribute: BatteryVoltage", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryVoltage::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatPercentRemainingFromServerTh_13() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryPercentRemaining] DUT Client reads " + "BatPercentRemaining from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryPercentRemaining::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatTimeRemainingFromServerTh_14() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryTimeRemaining] DUT Client reads BatTimeRemaining " + "from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryTimeRemaining::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatChargeLevelFromServerTh_15() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryChargeLevel] DUT Client reads BatChargeLevel from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryChargeLevel::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatReplacementNeededFromServerTh_16() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryReplacementNeeded] DUT Client reads " + "BatReplacementNeeded from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryReplacementNeeded::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatReplaceabilityFromServerTh_17() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryReplaceability] DUT Client reads BatReplaceability " + "from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryReplaceability::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatPresentFromServerTh_18() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryPresent] DUT Client reads BatPresent from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryPresent::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsActiveBatFaultsFromServerTh_19() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: ActiveBatteryFaults] DUT Client reads ActiveBatFaults " + "from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::ActiveBatteryFaults::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatReplacementDescriptionFromServerTh_20() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryReplacementDescription] DUT Client reads " + "BatReplacementDescription from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryReplacementDescription::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatCommonDesignationFromServerTh_21() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryCommonDesignation] DUT Client reads " + "BatCommonDesignation from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryCommonDesignation::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatANSIDesignationFromServerTh_22() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryANSIDesignation] DUT Client reads " + "BatANSIDesignation from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryANSIDesignation::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatIECDesignationFromServerTh_23() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryIECDesignation] DUT Client reads BatIECDesignation " + "from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryIECDesignation::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatApprovedChemistryFromServerTh_24() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryApprovedChemistry] DUT Client reads " + "BatApprovedChemistry from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryApprovedChemistry::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatCapacityFromServerTh_25() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryCapacity] DUT Client reads BatCapacity from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryCapacity::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatQuantityFromServerTh_26() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryQuantity] DUT Client reads BatQuantity from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryQuantity::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatChargeStateFromServerTh_27() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryChargeState] DUT Client reads BatChargeState from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryChargeState::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatTimeToFullChargeFromServerTh_28() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryTimeToFullCharge] DUT Client reads " + "BatTimeToFullCharge from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryTimeToFullCharge::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatFunctionalWhileChargingFromServerTh_29() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryFunctionalWhileCharging] DUT Client reads " + "BatFunctionalWhileCharging from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryFunctionalWhileCharging::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsBatChargingCurrentFromServerTh_30() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: BatteryChargingCurrent] DUT Client reads " + "BatChargingCurrent from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::BatteryChargingCurrent::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestDutClientReadsActiveBatChargeFaultsFromServerTh_31() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Power Source Attribute: ActiveBatteryChargeFaults] DUT Client reads " + "ActiveBatChargeFaults from Server TH", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::PowerSource::Id, + chip::app::Clusters::PowerSource::Attributes::ActiveBatteryChargeFaults::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_FLW_3_1_SimulatedSuite : public TestCommand +{ +public: + Test_TC_FLW_3_1_SimulatedSuite() : TestCommand("Test_TC_FLW_3_1_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_FLW_3_1_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_FLW_3_1_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_FLW_3_1_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: MeasuredValue\n"); + if (ShouldSkip("A_FLOW")) + { + NextTest(); + return; + } + err = TestReadAttributeMeasuredValue_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: MinMeasuredValue\n"); + if (ShouldSkip("A_FLOW_MIN")) + { + NextTest(); + return; + } + err = TestReadAttributeMinMeasuredValue_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: MaxMeasuredValue\n"); + if (ShouldSkip("A_FLOW_MAX")) + { + NextTest(); + return; + } + err = TestReadAttributeMaxMeasuredValue_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Read attribute: Tolerance\n"); + if (ShouldSkip("A_FLOW_TOLERANCE")) + { + NextTest(); + return; + } + err = TestReadAttributeTolerance_4(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 5; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeMeasuredValue_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Flow Measurement Attribute: MeasuredValue] Read attribute: MeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::FlowMeasurement::Id, + chip::app::Clusters::FlowMeasurement::Attributes::MeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMinMeasuredValue_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Flow Measurement Attribute: MinMeasuredValue] Read attribute: MinMeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::FlowMeasurement::Id, + chip::app::Clusters::FlowMeasurement::Attributes::MinMeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMaxMeasuredValue_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Flow Measurement Attribute: MaxMeasuredValue] Read attribute: MaxMeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::FlowMeasurement::Id, + chip::app::Clusters::FlowMeasurement::Attributes::MaxMeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeTolerance_4() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Flow Measurement Attribute: Tolerance] Read attribute: Tolerance", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::FlowMeasurement::Id, + chip::app::Clusters::FlowMeasurement::Attributes::Tolerance::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_SWDIAG_1_2_SimulatedSuite : public TestCommand +{ +public: + Test_TC_SWDIAG_1_2_SimulatedSuite() : TestCommand("Test_TC_SWDIAG_1_2_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_SWDIAG_1_2_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_SWDIAG_1_2_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_SWDIAG_1_2_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: ThreadMetrics\n"); + err = TestReadAttributeThreadMetrics_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: CurrentHeapFree\n"); + err = TestReadAttributeCurrentHeapFree_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: CurrentHeapUsed\n"); + err = TestReadAttributeCurrentHeapUsed_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Read attribute: CurrentHeapHighWatermark\n"); + err = TestReadAttributeCurrentHeapHighWatermark_4(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 5; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeThreadMetrics_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Software Diagnostics Attribute: ThreadMetrics] Read attribute: ThreadMetrics", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::SoftwareDiagnostics::Id, + chip::app::Clusters::SoftwareDiagnostics::Attributes::ThreadMetrics::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeCurrentHeapFree_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Software Diagnostics Attribute: CurrentHeapFree] Read attribute: CurrentHeapFree", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::SoftwareDiagnostics::Id, + chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapFree::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeCurrentHeapUsed_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Software Diagnostics Attribute: CurrentHeapUsed] Read attribute: CurrentHeapUsed", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::SoftwareDiagnostics::Id, + chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapUsed::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeCurrentHeapHighWatermark_4() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Software Diagnostics Attribute: CurrentHeapHighWatermark] Read attribute: " + "CurrentHeapHighWatermark", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::SoftwareDiagnostics::Id, + chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_ILL_3_1_SimulatedSuite : public TestCommand +{ +public: + Test_TC_ILL_3_1_SimulatedSuite() : TestCommand("Test_TC_ILL_3_1_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_ILL_3_1_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_ILL_3_1_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_ILL_3_1_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: MeasuredValue\n"); + err = TestReadAttributeMeasuredValue_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: MinMeasuredValue\n"); + err = TestReadAttributeMinMeasuredValue_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: MaxMeasuredValue\n"); + err = TestReadAttributeMaxMeasuredValue_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Read attribute: Tolerance\n"); + err = TestReadAttributeTolerance_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Read attribute: LightSensorType\n"); + err = TestReadAttributeLightSensorType_5(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 6; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeMeasuredValue_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: Illuminance Measurement Attribute: MeasuredValue] Read attribute: MeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::IlluminanceMeasurement::Id, + chip::app::Clusters::IlluminanceMeasurement::Attributes::MeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMinMeasuredValue_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Illuminance Measurement Attribute: MinMeasuredValue] Read attribute: MinMeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::IlluminanceMeasurement::Id, + chip::app::Clusters::IlluminanceMeasurement::Attributes::MinMeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeMaxMeasuredValue_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Illuminance Measurement Attribute: MaxMeasuredValue] Read attribute: MaxMeasuredValue", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::IlluminanceMeasurement::Id, + chip::app::Clusters::IlluminanceMeasurement::Attributes::MaxMeasuredValue::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeTolerance_4() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Illuminance Measurement Attribute: Tolerance] Read attribute: Tolerance", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::IlluminanceMeasurement::Id, + chip::app::Clusters::IlluminanceMeasurement::Attributes::Tolerance::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeLightSensorType_5() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 1; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: Illuminance Measurement Attribute: LightSensorType] Read attribute: LightSensorType", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::IlluminanceMeasurement::Id, + chip::app::Clusters::IlluminanceMeasurement::Attributes::LightSensorType::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_WIFIDIAG_1_2_SimulatedSuite : public TestCommand +{ +public: + Test_TC_WIFIDIAG_1_2_SimulatedSuite() : TestCommand("Test_TC_WIFIDIAG_1_2_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_WIFIDIAG_1_2_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_WIFIDIAG_1_2_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_WIFIDIAG_1_2_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the device to be commissioned\n"); + err = TestWaitForTheDeviceToBeCommissioned_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute: NetworkInterfaces\n"); + err = TestReadAttributeNetworkInterfaces_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute: SecurityType\n"); + err = TestReadAttributeSecurityType_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute: WiFiVersion\n"); + err = TestReadAttributeWiFiVersion_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Read attribute: ChannelNumber\n"); + err = TestReadAttributeChannelNumber_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Read attribute: RSSI\n"); + err = TestReadAttributeRssi_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Read attribute: BeaconLostCount\n"); + err = TestReadAttributeBeaconLostCount_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Read attribute: BeaconRxCount\n"); + err = TestReadAttributeBeaconRxCount_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read attribute: PacketMulticastRxCount\n"); + err = TestReadAttributePacketMulticastRxCount_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Read attribute: PacketMulticastTxCount\n"); + err = TestReadAttributePacketMulticastTxCount_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Read attribute: PacketUnicastRxCount\n"); + err = TestReadAttributePacketUnicastRxCount_10(); + break; + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Read attribute: PacketUnicastTxCount\n"); + err = TestReadAttributePacketUnicastTxCount_11(); + break; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Read attribute: CurrentMaxRate\n"); + err = TestReadAttributeCurrentMaxRate_12(); + break; + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Read attribute: OverrunCount\n"); + err = TestReadAttributeOverrunCount_13(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 14; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + // + // Tests methods + // + + CHIP_ERROR TestWaitForTheDeviceToBeCommissioned_0() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissioning(); + } + + CHIP_ERROR TestReadAttributeNetworkInterfaces_1() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: General Diagnostics Attribute: NetworkInterfaces] Read attribute: NetworkInterfaces", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::GeneralDiagnostics::Id, + chip::app::Clusters::GeneralDiagnostics::Attributes::NetworkInterfaces::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeSecurityType_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: SecurityType] Read attribute: SecurityType", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::SecurityType::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeWiFiVersion_3() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: WiFiVersion] Read attribute: WiFiVersion", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::WiFiVersion::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeChannelNumber_4() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: ChannelNumber] Read attribute: ChannelNumber", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::ChannelNumber::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeRssi_5() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: RSSI] Read attribute: RSSI", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::Rssi::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeBeaconLostCount_6() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: BeaconLostCount] Read attribute: BeaconLostCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::BeaconLostCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeBeaconRxCount_7() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: BeaconRxCount] Read attribute: BeaconRxCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::BeaconRxCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributePacketMulticastRxCount_8() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: PacketMulticastRxCount] Read attribute: " + "PacketMulticastRxCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributePacketMulticastTxCount_9() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: PacketMulticastTxCount] Read attribute: " + "PacketMulticastTxCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributePacketUnicastRxCount_10() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: PacketUnicastRxCount] Read attribute: " + "PacketUnicastRxCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributePacketUnicastTxCount_11() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: PacketUnicastTxCount] Read attribute: " + "PacketUnicastTxCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeCurrentMaxRate_12() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError( + chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: CurrentMaxRate] Read attribute: CurrentMaxRate", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::Id); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadAttributeOverrunCount_13() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + ChipLogError(chipTool, + "[Endpoint: 0x%08x Cluster: WiFi Network Diagnostics Attribute: OverrunCount] Read attribute: OverrunCount", + endpoint); + + ClearAttributeAndCommandPaths(); + mAttributePath = + chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::WiFiNetworkDiagnostics::Id, + chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::OverrunCount::Id); + return CHIP_NO_ERROR; + } +}; + +class Test_TC_MF_1_6_SimulatedSuite : public TestCommand +{ +public: + Test_TC_MF_1_6_SimulatedSuite() : TestCommand("Test_TC_MF_1_6_Simulated"), mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("nodeIdForDuplicateCommissioning", 0, UINT64_MAX, &mNodeIdForDuplicateCommissioning); + AddArgument("nodeId2", 0, UINT64_MAX, &mNodeId2); + AddArgument("nodeId3", 0, UINT64_MAX, &mNodeId3); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("discriminator", 0, UINT16_MAX, &mDiscriminator); + AddArgument("payload", &mPayload); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_MF_1_6_SimulatedSuite() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_MF_1_6_Simulated\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_MF_1_6_Simulated\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Reboot target device\n"); + err = TestRebootTargetDevice_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : TH_CR1 starts a commissioning process with DUT_CE\n"); + err = TestThCr1StartsACommissioningProcessWithDutCe_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : TH_CR1 opens a commissioning window on DUT_CE\n"); + err = TestThCr1OpensACommissioningWindowOnDutCe_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Commission from beta\n"); + err = TestCommissionFromBeta_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : TH_CR2 starts a commissioning process on DUT_CE\n"); + err = TestThCr2StartsACommissioningProcessOnDutCe_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Open Commissioning Window from alpha\n"); + err = TestOpenCommissioningWindowFromAlpha_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : TH_CR1 revokes the commissioning window on DUT_CE\n"); + err = TestThCr1RevokesTheCommissioningWindowOnDutCe_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : TH_CR2 starts a commissioning process on DUT_CE\n"); + err = TestThCr2StartsACommissioningProcessOnDutCe_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : TH_CR1 writes the mandatory attribute NodeLabel of DUT_CE\n"); + err = TestThCr1WritesTheMandatoryAttributeNodeLabelOfDutCe_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : TH_CR1 read the mandatory attribute NodeLabel of DUT_CE\n"); + err = TestThCr1ReadTheMandatoryAttributeNodeLabelOfDutCe_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : TH_CR1 opens a commissioning window on DUT_CE\n"); + err = TestThCr1OpensACommissioningWindowOnDutCe_10(); + break; + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : TH_CR2 starts a commissioning process on DUT_CE\n"); + err = TestThCr2StartsACommissioningProcessOnDutCe_11(); + break; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Commission from gamma\n"); + err = TestCommissionFromGamma_12(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 13; + + chip::Optional mNodeId; + chip::Optional mNodeIdForDuplicateCommissioning; + chip::Optional mNodeId2; + chip::Optional mNodeId3; + chip::Optional mEndpoint; + chip::Optional mDiscriminator; + chip::Optional mPayload; + chip::Optional mTimeout; + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + static void OnFailureCallback_8(void * context, CHIP_ERROR error) + { + (static_cast(context))->OnFailureResponse_8(error); + } + + static void OnSuccessCallback_8(void * context) + { + (static_cast(context))->OnSuccessResponse_8(); + } + + static void OnFailureCallback_9(void * context, CHIP_ERROR error) + { + (static_cast(context))->OnFailureResponse_9(error); + } + + static void OnSuccessCallback_9(void * context, chip::CharSpan nodeLabel) + { + (static_cast(context))->OnSuccessResponse_9(nodeLabel); + } + + // + // Tests methods + // + + CHIP_ERROR TestRebootTargetDevice_0() + { + SetIdentity(kIdentityAlpha); + return Reboot(mDiscriminator.HasValue() ? mDiscriminator.Value() : 3840U); + } + + CHIP_ERROR TestThCr1StartsACommissioningProcessWithDutCe_1() + { + SetIdentity(kIdentityAlpha); + return WaitForCommissionee(mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL); + } + + CHIP_ERROR TestThCr1OpensACommissioningWindowOnDutCe_2() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + using RequestType = chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type; + + RequestType request; + request.commissioningTimeout = 180U; + + auto success = [](void * context, const typename RequestType::ResponseType & data) { + (static_cast(context))->OnSuccessResponse_2(); + }; + + auto failure = [](void * context, CHIP_ERROR error) { + (static_cast(context))->OnFailureResponse_2(error); + }; + + ReturnErrorOnFailure( + chip::Controller::InvokeCommand(mDevices[kIdentityAlpha], this, success, failure, endpoint, request, 10000)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_2(CHIP_ERROR error) + { + chip::app::StatusIB status(error); + ThrowFailureResponse(); + } + + void OnSuccessResponse_2() { NextTest(); } + + CHIP_ERROR TestCommissionFromBeta_3() + { + SetIdentity(kIdentityBeta); + return PairWithQRCode(mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL, + mPayload.HasValue() ? mPayload.Value() : chip::CharSpan::fromCharString("MT:-24J0AFN00KA0648G00")); + } + + CHIP_ERROR TestThCr2StartsACommissioningProcessOnDutCe_4() + { + SetIdentity(kIdentityBeta); + return WaitForCommissionee(mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL); + } + + CHIP_ERROR TestOpenCommissioningWindowFromAlpha_5() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + using RequestType = chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type; + + RequestType request; + request.commissioningTimeout = 180U; + + auto success = [](void * context, const typename RequestType::ResponseType & data) { + (static_cast(context))->OnSuccessResponse_5(); + }; + + auto failure = [](void * context, CHIP_ERROR error) { + (static_cast(context))->OnFailureResponse_5(error); + }; + + ReturnErrorOnFailure( + chip::Controller::InvokeCommand(mDevices[kIdentityAlpha], this, success, failure, endpoint, request, 10000)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_5(CHIP_ERROR error) + { + chip::app::StatusIB status(error); + ThrowFailureResponse(); + } + + void OnSuccessResponse_5() { NextTest(); } + + CHIP_ERROR TestThCr1RevokesTheCommissioningWindowOnDutCe_6() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + using RequestType = chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type; + + RequestType request; + + auto success = [](void * context, const typename RequestType::ResponseType & data) { + (static_cast(context))->OnSuccessResponse_6(); + }; + + auto failure = [](void * context, CHIP_ERROR error) { + (static_cast(context))->OnFailureResponse_6(error); + }; + + ReturnErrorOnFailure( + chip::Controller::InvokeCommand(mDevices[kIdentityAlpha], this, success, failure, endpoint, request, 10000)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_6(CHIP_ERROR error) + { + chip::app::StatusIB status(error); + ThrowFailureResponse(); + } + + void OnSuccessResponse_6() { NextTest(); } + + CHIP_ERROR TestThCr2StartsACommissioningProcessOnDutCe_7() + { + SetIdentity(kIdentityBeta); + return WaitForCommissionee(mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL); + } + + CHIP_ERROR TestThCr1WritesTheMandatoryAttributeNodeLabelOfDutCe_8() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + chip::Controller::BasicClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + chip::CharSpan nodeLabelArgument; + nodeLabelArgument = chip::Span("chiptestgarbage: not in length on purpose", 8); + + ReturnErrorOnFailure(cluster.WriteAttribute( + nodeLabelArgument, this, OnSuccessCallback_8, OnFailureCallback_8)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_8(CHIP_ERROR error) + { + chip::app::StatusIB status(error); + ThrowFailureResponse(); + } + + void OnSuccessResponse_8() { NextTest(); } + + CHIP_ERROR TestThCr1ReadTheMandatoryAttributeNodeLabelOfDutCe_9() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + chip::Controller::BasicClusterTest cluster; + cluster.Associate(mDevices[kIdentityAlpha], endpoint); + + ReturnErrorOnFailure(cluster.ReadAttribute( + this, OnSuccessCallback_9, OnFailureCallback_9, true)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_9(CHIP_ERROR error) + { + chip::app::StatusIB status(error); + ThrowFailureResponse(); + } + + void OnSuccessResponse_9(chip::CharSpan nodeLabel) + { + VerifyOrReturn(CheckValueAsString("nodeLabel", nodeLabel, chip::CharSpan("chiptest", 8))); + + NextTest(); + } + + CHIP_ERROR TestThCr1OpensACommissioningWindowOnDutCe_10() + { + const chip::EndpointId endpoint = mEndpoint.HasValue() ? mEndpoint.Value() : 0; + using RequestType = chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type; + + RequestType request; + request.commissioningTimeout = 180U; + + auto success = [](void * context, const typename RequestType::ResponseType & data) { + (static_cast(context))->OnSuccessResponse_10(); + }; + + auto failure = [](void * context, CHIP_ERROR error) { + (static_cast(context))->OnFailureResponse_10(error); + }; + + ReturnErrorOnFailure( + chip::Controller::InvokeCommand(mDevices[kIdentityAlpha], this, success, failure, endpoint, request, 10000)); + return CHIP_NO_ERROR; + } + + void OnFailureResponse_10(CHIP_ERROR error) + { + chip::app::StatusIB status(error); + ThrowFailureResponse(); + } + + void OnSuccessResponse_10() { NextTest(); } + + CHIP_ERROR TestThCr2StartsACommissioningProcessOnDutCe_11() + { + SetIdentity(kIdentityBeta); + return WaitForCommissionee(mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL); + } + + CHIP_ERROR TestCommissionFromGamma_12() + { + SetIdentity(kIdentityGamma); + return PairWithQRCode(mNodeId3.HasValue() ? mNodeId3.Value() : 12586990ULL, + mPayload.HasValue() ? mPayload.Value() : chip::CharSpan::fromCharString("MT:-24J0AFN00KA0648G00")); + } +}; + std::unique_ptr GetTestCommand(std::string testName) { if (testName == "Test_TC_DM_1_3_Simulated") @@ -874,6 +3632,50 @@ std::unique_ptr GetTestCommand(std::string testName) { return std::unique_ptr(new Test_TC_DM_2_3_SimulatedSuite()); } + if (testName == "Test_TC_BOOL_3_1_Simulated") + { + return std::unique_ptr(new Test_TC_BOOL_3_1_SimulatedSuite()); + } + if (testName == "Test_TC_PRS_3_1_Simulated") + { + return std::unique_ptr(new Test_TC_PRS_3_1_SimulatedSuite()); + } + if (testName == "Test_TC_BRAC_3_1_Simulated") + { + return std::unique_ptr(new Test_TC_BRAC_3_1_SimulatedSuite()); + } + if (testName == "Test_TC_PSCFG_3_1_Simulated") + { + return std::unique_ptr(new Test_TC_PSCFG_3_1_SimulatedSuite()); + } + if (testName == "Test_TC_ETHDIAG_1_2_Simulated") + { + return std::unique_ptr(new Test_TC_ETHDIAG_1_2_SimulatedSuite()); + } + if (testName == "Test_TC_PS_3_1_Simulated") + { + return std::unique_ptr(new Test_TC_PS_3_1_SimulatedSuite()); + } + if (testName == "Test_TC_FLW_3_1_Simulated") + { + return std::unique_ptr(new Test_TC_FLW_3_1_SimulatedSuite()); + } + if (testName == "Test_TC_SWDIAG_1_2_Simulated") + { + return std::unique_ptr(new Test_TC_SWDIAG_1_2_SimulatedSuite()); + } + if (testName == "Test_TC_ILL_3_1_Simulated") + { + return std::unique_ptr(new Test_TC_ILL_3_1_SimulatedSuite()); + } + if (testName == "Test_TC_WIFIDIAG_1_2_Simulated") + { + return std::unique_ptr(new Test_TC_WIFIDIAG_1_2_SimulatedSuite()); + } + if (testName == "Test_TC_MF_1_6_Simulated") + { + return std::unique_ptr(new Test_TC_MF_1_6_SimulatedSuite()); + } return nullptr; } @@ -884,4 +3686,15 @@ void PrintTestCommands() ChipLogError(chipTool, "\t* Test_TC_DM_1_3_Simulated"); ChipLogError(chipTool, "\t* Test_TC_DM_3_3_Simulated"); ChipLogError(chipTool, "\t* Test_TC_DM_2_3_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_BOOL_3_1_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_PRS_3_1_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_BRAC_3_1_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_PSCFG_3_1_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_ETHDIAG_1_2_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_PS_3_1_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_FLW_3_1_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_SWDIAG_1_2_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_ILL_3_1_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_WIFIDIAG_1_2_Simulated"); + ChipLogError(chipTool, "\t* Test_TC_MF_1_6_Simulated"); } diff --git a/zzz_generated/placeholder/app2/zap-generated/IMClusterCommandHandler.cpp b/zzz_generated/placeholder/app2/zap-generated/IMClusterCommandHandler.cpp index 3187381f6a8126..f760b2714e36fe 100644 --- a/zzz_generated/placeholder/app2/zap-generated/IMClusterCommandHandler.cpp +++ b/zzz_generated/placeholder/app2/zap-generated/IMClusterCommandHandler.cpp @@ -41,6 +41,64 @@ namespace app { namespace Clusters { +namespace AdministratorCommissioning { + +void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) +{ + CHIP_ERROR TLVError = CHIP_NO_ERROR; + bool wasHandled = false; + { + switch (aCommandPath.mCommandId) + { + case Commands::OpenCommissioningWindow::Id: { + Commands::OpenCommissioningWindow::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) + { + wasHandled = emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(apCommandObj, aCommandPath, + commandData); + } + break; + } + case Commands::OpenBasicCommissioningWindow::Id: { + Commands::OpenBasicCommissioningWindow::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) + { + wasHandled = emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallback( + apCommandObj, aCommandPath, commandData); + } + break; + } + case Commands::RevokeCommissioning::Id: { + Commands::RevokeCommissioning::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) + { + wasHandled = + emberAfAdministratorCommissioningClusterRevokeCommissioningCallback(apCommandObj, aCommandPath, commandData); + } + break; + } + default: { + // Unrecognized command ID, error status will apply. + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, + ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + return; + } + } + } + + if (CHIP_NO_ERROR != TLVError || !wasHandled) + { + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + } +} + +} // namespace AdministratorCommissioning + namespace ColorControl { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) @@ -142,6 +200,43 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP } // namespace ContentLauncher +namespace EthernetNetworkDiagnostics { + +void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) +{ + CHIP_ERROR TLVError = CHIP_NO_ERROR; + bool wasHandled = false; + { + switch (aCommandPath.mCommandId) + { + case Commands::ResetCounts::Id: { + Commands::ResetCounts::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) + { + wasHandled = emberAfEthernetNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); + } + break; + } + default: { + // Unrecognized command ID, error status will apply. + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, + ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + return; + } + } + } + + if (CHIP_NO_ERROR != TLVError || !wasHandled) + { + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + } +} + +} // namespace EthernetNetworkDiagnostics + namespace GeneralCommissioning { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) @@ -870,6 +965,43 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP } // namespace Scenes +namespace SoftwareDiagnostics { + +void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) +{ + CHIP_ERROR TLVError = CHIP_NO_ERROR; + bool wasHandled = false; + { + switch (aCommandPath.mCommandId) + { + case Commands::ResetWatermarks::Id: { + Commands::ResetWatermarks::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) + { + wasHandled = emberAfSoftwareDiagnosticsClusterResetWatermarksCallback(apCommandObj, aCommandPath, commandData); + } + break; + } + default: { + // Unrecognized command ID, error status will apply. + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, + ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + return; + } + } + } + + if (CHIP_NO_ERROR != TLVError || !wasHandled) + { + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + } +} + +} // namespace SoftwareDiagnostics + namespace TargetNavigator { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) @@ -907,6 +1039,43 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP } // namespace TargetNavigator +namespace WiFiNetworkDiagnostics { + +void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) +{ + CHIP_ERROR TLVError = CHIP_NO_ERROR; + bool wasHandled = false; + { + switch (aCommandPath.mCommandId) + { + case Commands::ResetCounts::Id: { + Commands::ResetCounts::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) + { + wasHandled = emberAfWiFiNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData); + } + break; + } + default: { + // Unrecognized command ID, error status will apply. + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand); + ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, + ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId)); + return; + } + } + } + + if (CHIP_NO_ERROR != TLVError || !wasHandled) + { + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format()); + } +} + +} // namespace WiFiNetworkDiagnostics + namespace WindowCovering { void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) @@ -1006,12 +1175,18 @@ void DispatchSingleClusterCommand(const ConcreteCommandPath & aCommandPath, TLV: switch (aCommandPath.mClusterId) { + case Clusters::AdministratorCommissioning::Id: + Clusters::AdministratorCommissioning::DispatchServerCommand(apCommandObj, aCommandPath, aReader); + break; case Clusters::ColorControl::Id: Clusters::ColorControl::DispatchServerCommand(apCommandObj, aCommandPath, aReader); break; case Clusters::ContentLauncher::Id: Clusters::ContentLauncher::DispatchServerCommand(apCommandObj, aCommandPath, aReader); break; + case Clusters::EthernetNetworkDiagnostics::Id: + Clusters::EthernetNetworkDiagnostics::DispatchServerCommand(apCommandObj, aCommandPath, aReader); + break; case Clusters::GeneralCommissioning::Id: Clusters::GeneralCommissioning::DispatchServerCommand(apCommandObj, aCommandPath, aReader); break; @@ -1042,9 +1217,15 @@ void DispatchSingleClusterCommand(const ConcreteCommandPath & aCommandPath, TLV: case Clusters::Scenes::Id: Clusters::Scenes::DispatchServerCommand(apCommandObj, aCommandPath, aReader); break; + case Clusters::SoftwareDiagnostics::Id: + Clusters::SoftwareDiagnostics::DispatchServerCommand(apCommandObj, aCommandPath, aReader); + break; case Clusters::TargetNavigator::Id: Clusters::TargetNavigator::DispatchServerCommand(apCommandObj, aCommandPath, aReader); break; + case Clusters::WiFiNetworkDiagnostics::Id: + Clusters::WiFiNetworkDiagnostics::DispatchServerCommand(apCommandObj, aCommandPath, aReader); + break; case Clusters::WindowCovering::Id: Clusters::WindowCovering::DispatchServerCommand(apCommandObj, aCommandPath, aReader); break; diff --git a/zzz_generated/placeholder/app2/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/placeholder/app2/zap-generated/PluginApplicationCallbacks.h index 87c7fc3176b636..19ec4706283a4e 100644 --- a/zzz_generated/placeholder/app2/zap-generated/PluginApplicationCallbacks.h +++ b/zzz_generated/placeholder/app2/zap-generated/PluginApplicationCallbacks.h @@ -22,18 +22,24 @@ #include #define MATTER_PLUGINS_INIT \ + MatterAdministratorCommissioningPluginServerInitCallback(); \ MatterApplicationBasicPluginClientInitCallback(); \ MatterApplicationBasicPluginServerInitCallback(); \ MatterBasicPluginServerInitCallback(); \ + MatterBooleanStatePluginServerInitCallback(); \ + MatterBridgedActionsPluginServerInitCallback(); \ MatterColorControlPluginServerInitCallback(); \ MatterContentLauncherPluginClientInitCallback(); \ MatterContentLauncherPluginServerInitCallback(); \ MatterDescriptorPluginServerInitCallback(); \ + MatterEthernetNetworkDiagnosticsPluginServerInitCallback(); \ + MatterFlowMeasurementPluginServerInitCallback(); \ MatterGeneralCommissioningPluginClientInitCallback(); \ MatterGeneralCommissioningPluginServerInitCallback(); \ MatterGeneralDiagnosticsPluginServerInitCallback(); \ MatterGroupsPluginServerInitCallback(); \ MatterIdentifyPluginServerInitCallback(); \ + MatterIlluminanceMeasurementPluginServerInitCallback(); \ MatterKeypadInputPluginClientInitCallback(); \ MatterKeypadInputPluginServerInitCallback(); \ MatterLevelControlPluginServerInitCallback(); \ @@ -44,10 +50,14 @@ MatterOnOffPluginServerInitCallback(); \ MatterOperationalCredentialsPluginClientInitCallback(); \ MatterOperationalCredentialsPluginServerInitCallback(); \ + MatterPowerSourcePluginServerInitCallback(); \ + MatterPowerSourceConfigurationPluginServerInitCallback(); \ + MatterPressureMeasurementPluginServerInitCallback(); \ MatterPumpConfigurationAndControlPluginServerInitCallback(); \ MatterRelativeHumidityMeasurementPluginClientInitCallback(); \ MatterRelativeHumidityMeasurementPluginServerInitCallback(); \ MatterScenesPluginServerInitCallback(); \ + MatterSoftwareDiagnosticsPluginServerInitCallback(); \ MatterSwitchPluginClientInitCallback(); \ MatterSwitchPluginServerInitCallback(); \ MatterTargetNavigatorPluginClientInitCallback(); \ @@ -57,4 +67,5 @@ MatterThermostatPluginServerInitCallback(); \ MatterThermostatUserInterfaceConfigurationPluginClientInitCallback(); \ MatterThermostatUserInterfaceConfigurationPluginServerInitCallback(); \ + MatterWiFiNetworkDiagnosticsPluginServerInitCallback(); \ MatterWindowCoveringPluginServerInitCallback(); diff --git a/zzz_generated/placeholder/app2/zap-generated/access.h b/zzz_generated/placeholder/app2/zap-generated/access.h index fbed26cf6b07a9..9e93f7a97c4269 100644 --- a/zzz_generated/placeholder/app2/zap-generated/access.h +++ b/zzz_generated/placeholder/app2/zap-generated/access.h @@ -87,6 +87,9 @@ // Parallel array data (*cluster*, command, privilege) for invoke command #define GENERATED_ACCESS_INVOKE_COMMAND__CLUSTER { \ + 60, /* Cluster: AdministratorCommissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ + 60, /* Cluster: AdministratorCommissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ + 60, /* Cluster: AdministratorCommissioning, Command: RevokeCommissioning, Privilege: administer */ \ 48, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \ 48, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \ 48, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \ @@ -103,6 +106,9 @@ // Parallel array data (cluster, *command*, privilege) for invoke command #define GENERATED_ACCESS_INVOKE_COMMAND__COMMAND { \ + 0, /* Cluster: AdministratorCommissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ + 1, /* Cluster: AdministratorCommissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ + 2, /* Cluster: AdministratorCommissioning, Command: RevokeCommissioning, Privilege: administer */ \ 0, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \ 2, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \ 4, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \ @@ -119,6 +125,9 @@ // Parallel array data (cluster, command, *privilege*) for invoke command #define GENERATED_ACCESS_INVOKE_COMMAND__PRIVILEGE { \ + kMatterAccessPrivilegeAdminister, /* Cluster: AdministratorCommissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ + kMatterAccessPrivilegeAdminister, /* Cluster: AdministratorCommissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ + kMatterAccessPrivilegeAdminister, /* Cluster: AdministratorCommissioning, Command: RevokeCommissioning, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \ diff --git a/zzz_generated/placeholder/app2/zap-generated/callback-stub.cpp b/zzz_generated/placeholder/app2/zap-generated/callback-stub.cpp index 8742292e7f53d6..c6cb0bd6bb06d6 100644 --- a/zzz_generated/placeholder/app2/zap-generated/callback-stub.cpp +++ b/zzz_generated/placeholder/app2/zap-generated/callback-stub.cpp @@ -29,12 +29,21 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) { switch (clusterId) { + case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID: + emberAfAdministratorCommissioningClusterInitCallback(endpoint); + break; case ZCL_APPLICATION_BASIC_CLUSTER_ID: emberAfApplicationBasicClusterInitCallback(endpoint); break; case ZCL_BASIC_CLUSTER_ID: emberAfBasicClusterInitCallback(endpoint); break; + case ZCL_BOOLEAN_STATE_CLUSTER_ID: + emberAfBooleanStateClusterInitCallback(endpoint); + break; + case ZCL_BRIDGED_ACTIONS_CLUSTER_ID: + emberAfBridgedActionsClusterInitCallback(endpoint); + break; case ZCL_COLOR_CONTROL_CLUSTER_ID: emberAfColorControlClusterInitCallback(endpoint); break; @@ -44,6 +53,12 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_DESCRIPTOR_CLUSTER_ID: emberAfDescriptorClusterInitCallback(endpoint); break; + case ZCL_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_ID: + emberAfEthernetNetworkDiagnosticsClusterInitCallback(endpoint); + break; + case ZCL_FLOW_MEASUREMENT_CLUSTER_ID: + emberAfFlowMeasurementClusterInitCallback(endpoint); + break; case ZCL_GENERAL_COMMISSIONING_CLUSTER_ID: emberAfGeneralCommissioningClusterInitCallback(endpoint); break; @@ -56,6 +71,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_IDENTIFY_CLUSTER_ID: emberAfIdentifyClusterInitCallback(endpoint); break; + case ZCL_ILLUMINANCE_MEASUREMENT_CLUSTER_ID: + emberAfIlluminanceMeasurementClusterInitCallback(endpoint); + break; case ZCL_KEYPAD_INPUT_CLUSTER_ID: emberAfKeypadInputClusterInitCallback(endpoint); break; @@ -74,6 +92,15 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID: emberAfOperationalCredentialsClusterInitCallback(endpoint); break; + case ZCL_POWER_SOURCE_CLUSTER_ID: + emberAfPowerSourceClusterInitCallback(endpoint); + break; + case ZCL_POWER_SOURCE_CONFIGURATION_CLUSTER_ID: + emberAfPowerSourceConfigurationClusterInitCallback(endpoint); + break; + case ZCL_PRESSURE_MEASUREMENT_CLUSTER_ID: + emberAfPressureMeasurementClusterInitCallback(endpoint); + break; case ZCL_PUMP_CONFIG_CONTROL_CLUSTER_ID: emberAfPumpConfigurationAndControlClusterInitCallback(endpoint); break; @@ -83,6 +110,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_SCENES_CLUSTER_ID: emberAfScenesClusterInitCallback(endpoint); break; + case ZCL_SOFTWARE_DIAGNOSTICS_CLUSTER_ID: + emberAfSoftwareDiagnosticsClusterInitCallback(endpoint); + break; case ZCL_SWITCH_CLUSTER_ID: emberAfSwitchClusterInitCallback(endpoint); break; @@ -98,6 +128,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_THERMOSTAT_UI_CONFIG_CLUSTER_ID: emberAfThermostatUserInterfaceConfigurationClusterInitCallback(endpoint); break; + case ZCL_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_ID: + emberAfWiFiNetworkDiagnosticsClusterInitCallback(endpoint); + break; case ZCL_WINDOW_COVERING_CLUSTER_ID: emberAfWindowCoveringClusterInitCallback(endpoint); break; @@ -107,6 +140,11 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) } } +void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfApplicationBasicClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -117,6 +155,16 @@ void __attribute__((weak)) emberAfBasicClusterInitCallback(EndpointId endpoint) // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfBooleanStateClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} +void __attribute__((weak)) emberAfBridgedActionsClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfColorControlClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -132,6 +180,16 @@ void __attribute__((weak)) emberAfDescriptorClusterInitCallback(EndpointId endpo // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfEthernetNetworkDiagnosticsClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} +void __attribute__((weak)) emberAfFlowMeasurementClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfGeneralCommissioningClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -152,6 +210,11 @@ void __attribute__((weak)) emberAfIdentifyClusterInitCallback(EndpointId endpoin // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfIlluminanceMeasurementClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfKeypadInputClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -182,6 +245,21 @@ void __attribute__((weak)) emberAfOperationalCredentialsClusterInitCallback(Endp // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfPowerSourceClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} +void __attribute__((weak)) emberAfPowerSourceConfigurationClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} +void __attribute__((weak)) emberAfPressureMeasurementClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfPumpConfigurationAndControlClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -197,6 +275,11 @@ void __attribute__((weak)) emberAfScenesClusterInitCallback(EndpointId endpoint) // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfSoftwareDiagnosticsClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfSwitchClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -222,6 +305,11 @@ void __attribute__((weak)) emberAfThermostatUserInterfaceConfigurationClusterIni // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfWiFiNetworkDiagnosticsClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfWindowCoveringClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h b/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h index af090f50860b19..4ca4d4d4ffa47b 100644 --- a/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h +++ b/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h @@ -34,77 +34,181 @@ /* 0 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x01, \ \ + /* Endpoint: 0, Cluster: Power Source (server), big-endian */ \ + \ + /* 4 - WiredAssessedInputVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 8 - WiredAssessedCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 12 - WiredNominalVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 16 - WiredMaximumCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 20 - BatteryVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 24 - BatteryTimeRemaining, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 28 - BatteryCommonDesignation, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 32 - BatteryApprovedChemistry, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 36 - BatteryCapacity, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 40 - BatteryTimeToFullCharge, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 44 - BatteryChargingCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 48 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 4 - Breadcrumb, */ \ + /* 52 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 12 - FeatureMap, */ \ + /* 60 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Network Commissioning (server), big-endian */ \ \ - /* 16 - LastConnectErrorValue, */ \ + /* 64 - LastConnectErrorValue, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 20 - FeatureMap, */ \ + /* 68 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x02, \ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 24 - UpTime, */ \ + /* 72 - UpTime, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 80 - TotalOperationalHours, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ + \ + /* 84 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 32 - TotalOperationalHours, */ \ + /* 92 - CurrentHeapUsed, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 100 - CurrentHeapHighWatermark, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 108 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x01, \ + \ + /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ + \ + /* 112 - BeaconLostCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 116 - BeaconRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 120 - PacketMulticastRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 124 - PacketMulticastTxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 128 - PacketUnicastRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 132 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ + /* 136 - CurrentMaxRate, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 144 - OverrunCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 152 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x03, \ + \ + /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ + \ + /* 156 - PacketRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 164 - PacketTxCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 172 - TxErrCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 180 - CollisionCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 188 - OverrunCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 196 - TimeSinceReset, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 204 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x03, \ + \ /* Endpoint: 0, Cluster: Switch (server), big-endian */ \ \ - /* 36 - FeatureMap, */ \ + /* 208 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Mode Select (server), big-endian */ \ \ - /* 40 - FeatureMap, */ \ + /* 212 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Window Covering (server), big-endian */ \ \ - /* 44 - FeatureMap, */ \ + /* 216 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x17, \ \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server), big-endian */ \ \ - /* 48 - LifetimeRunningHours, */ \ + /* 220 - LifetimeRunningHours, */ \ 0x00, 0x00, 0x00, \ \ - /* 51 - Power, */ \ + /* 223 - Power, */ \ 0x00, 0x00, 0x00, \ \ - /* 54 - LifetimeEnergyConsumed, */ \ + /* 226 - LifetimeEnergyConsumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 58 - FeatureMap, */ \ + /* 230 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thermostat (server), big-endian */ \ \ - /* 62 - FeatureMap, */ \ + /* 234 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server), big-endian */ \ \ - /* 66 - FeatureMap, */ \ + /* 238 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server), big-endian */ \ \ - /* 70 - FeatureMap, */ \ + /* 242 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Content Launcher (server), big-endian */ \ \ - /* 74 - SupportedStreamingProtocols, */ \ + /* 246 - SupportedStreamingProtocols, */ \ 0x00, 0x00, 0x00, 0x00, \ } @@ -117,83 +221,187 @@ /* 0 - FeatureMap, */ \ 0x01, 0x00, 0x00, 0x00, \ \ + /* Endpoint: 0, Cluster: Power Source (server), little-endian */ \ + \ + /* 4 - WiredAssessedInputVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 8 - WiredAssessedCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 12 - WiredNominalVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 16 - WiredMaximumCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 20 - BatteryVoltage, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 24 - BatteryTimeRemaining, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 28 - BatteryCommonDesignation, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 32 - BatteryApprovedChemistry, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 36 - BatteryCapacity, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 40 - BatteryTimeToFullCharge, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 44 - BatteryChargingCurrent, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 48 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 4 - Breadcrumb, */ \ + /* 52 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 12 - FeatureMap, */ \ + /* 60 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Network Commissioning (server), little-endian */ \ \ - /* 16 - LastConnectErrorValue, */ \ + /* 64 - LastConnectErrorValue, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 20 - FeatureMap, */ \ + /* 68 - FeatureMap, */ \ 0x02, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 24 - UpTime, */ \ + /* 72 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 32 - TotalOperationalHours, */ \ + /* 80 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ + /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ + \ + /* 84 - CurrentHeapFree, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 92 - CurrentHeapUsed, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 100 - CurrentHeapHighWatermark, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 108 - FeatureMap, */ \ + 0x01, 0x00, 0x00, 0x00, \ + \ + /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ + \ + /* 112 - BeaconLostCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 116 - BeaconRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 120 - PacketMulticastRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 124 - PacketMulticastTxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 128 - PacketUnicastRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 132 - PacketUnicastTxCount, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 136 - CurrentMaxRate, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 144 - OverrunCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 152 - FeatureMap, */ \ + 0x03, 0x00, 0x00, 0x00, \ + \ + /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ + \ + /* 156 - PacketRxCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 164 - PacketTxCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 172 - TxErrCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 180 - CollisionCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 188 - OverrunCount, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 196 - TimeSinceReset, */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + \ + /* 204 - FeatureMap, */ \ + 0x03, 0x00, 0x00, 0x00, \ + \ /* Endpoint: 0, Cluster: Switch (server), little-endian */ \ \ - /* 36 - FeatureMap, */ \ + /* 208 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Mode Select (server), little-endian */ \ \ - /* 40 - FeatureMap, */ \ + /* 212 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Window Covering (server), little-endian */ \ \ - /* 44 - FeatureMap, */ \ + /* 216 - FeatureMap, */ \ 0x17, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server), little-endian */ \ \ - /* 48 - LifetimeRunningHours, */ \ + /* 220 - LifetimeRunningHours, */ \ 0x00, 0x00, 0x00, \ \ - /* 51 - Power, */ \ + /* 223 - Power, */ \ 0x00, 0x00, 0x00, \ \ - /* 54 - LifetimeEnergyConsumed, */ \ + /* 226 - LifetimeEnergyConsumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 58 - FeatureMap, */ \ + /* 230 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thermostat (server), little-endian */ \ \ - /* 62 - FeatureMap, */ \ + /* 234 - FeatureMap, */ \ 0x0B, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server), little-endian */ \ \ - /* 66 - FeatureMap, */ \ + /* 238 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server), little-endian */ \ \ - /* 70 - FeatureMap, */ \ + /* 242 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Content Launcher (server), little-endian */ \ \ - /* 74 - SupportedStreamingProtocols, */ \ + /* 246 - SupportedStreamingProtocols, */ \ 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (18) +#define GENERATED_DEFAULTS_COUNT (50) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -250,7 +458,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 211 +#define GENERATED_ATTRIBUTE_COUNT 309 #define GENERATED_ATTRIBUTES \ { \ \ @@ -270,6 +478,13 @@ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ { 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \ + \ + /* Endpoint: 0, Cluster: Bridged Actions (server) */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* action list */ \ + { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* endpoint list */ \ + { 0x00000002, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* setup url */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ @@ -314,15 +529,56 @@ ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ + /* Endpoint: 0, Cluster: Power Source Configuration (server) */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Sources */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + \ + /* Endpoint: 0, Cluster: Power Source (server) */ \ + { 0x00000000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Status */ \ + { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Order */ \ + { 0x00000002, ZAP_TYPE(CHAR_STRING), 61, 0, ZAP_EMPTY_DEFAULT() }, /* Description */ \ + { 0x00000003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4) }, /* WiredAssessedInputVoltage */ \ + { 0x00000004, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* WiredAssessedInputFrequency */ \ + { 0x00000005, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiredCurrentType */ \ + { 0x00000006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(8) }, /* WiredAssessedCurrent */ \ + { 0x00000007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(12) }, /* WiredNominalVoltage */ \ + { 0x00000008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(16) }, /* WiredMaximumCurrent */ \ + { 0x00000009, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiredPresent */ \ + { 0x0000000A, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ActiveWiredFaults */ \ + { 0x0000000B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(20) }, /* BatteryVoltage */ \ + { 0x0000000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryPercentRemaining */ \ + { 0x0000000D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(24) }, /* BatteryTimeRemaining */ \ + { 0x0000000E, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeLevel */ \ + { 0x0000000F, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryReplacementNeeded */ \ + { 0x00000010, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryReplaceability */ \ + { 0x00000011, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryPresent */ \ + { 0x00000012, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* ActiveBatteryFaults */ \ + { 0x00000013, ZAP_TYPE(CHAR_STRING), 61, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryReplacementDescription */ \ + { 0x00000014, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(28) }, /* BatteryCommonDesignation */ \ + { 0x00000015, ZAP_TYPE(CHAR_STRING), 21, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryANSIDesignation */ \ + { 0x00000016, ZAP_TYPE(CHAR_STRING), 21, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryIECDesignation */ \ + { 0x00000017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(32) }, /* BatteryApprovedChemistry */ \ + { 0x00000018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(36) }, /* BatteryCapacity */ \ + { 0x00000019, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryQuantity */ \ + { 0x0000001A, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeState */ \ + { 0x0000001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(40) }, /* BatteryTimeToFullCharge */ \ + { 0x0000001C, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryFunctionalWhileCharging */ \ + { 0x0000001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(44) }, /* BatteryChargingCurrent */ \ + { 0x0000001E, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* ActiveBatteryChargeFaults */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(48) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(4) }, /* Breadcrumb */ \ + { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(52) }, /* Breadcrumb */ \ { 0x00000001, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* BasicCommissioningInfo */ \ { 0x00000002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RegulatoryConfig */ \ { 0x00000003, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LocationCapability */ \ { 0x00000004, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* SupportsConcurrentConnection */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(12) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(60) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ @@ -334,15 +590,15 @@ { 0x00000005, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkingStatus */ \ { 0x00000006, ZAP_TYPE(OCTET_STRING), 33, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkID */ \ { 0x00000007, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(16) }, /* LastConnectErrorValue */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(20) }, /* FeatureMap */ \ + ZAP_LONG_DEFAULTS_INDEX(64) }, /* LastConnectErrorValue */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(68) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NetworkInterfaces */ \ { 0x00000001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(24) }, /* UpTime */ \ - { 0x00000003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(32) }, /* TotalOperationalHours */ \ + { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(72) }, /* UpTime */ \ + { 0x00000003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(80) }, /* TotalOperationalHours */ \ { 0x00000004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ { 0x00000005, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* ActiveHardwareFaults */ \ @@ -351,12 +607,57 @@ ZAP_EMPTY_DEFAULT() }, /* ActiveNetworkFaults */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ + /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ThreadMetrics */ \ + { 0x00000001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(84) }, /* CurrentHeapFree */ \ + { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(92) }, /* CurrentHeapUsed */ \ + { 0x00000003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(100) }, /* CurrentHeapHighWatermark */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(108) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + \ + /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ + { 0x00000000, ZAP_TYPE(OCTET_STRING), 7, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* bssid */ \ + { 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ + { 0x00000002, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ + { 0x00000003, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ + { 0x00000004, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ + { 0x00000005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(112) }, /* BeaconLostCount */ \ + { 0x00000006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(116) }, /* BeaconRxCount */ \ + { 0x00000007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(120) }, /* PacketMulticastRxCount */ \ + { 0x00000008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(124) }, /* PacketMulticastTxCount */ \ + { 0x00000009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(128) }, /* PacketUnicastRxCount */ \ + { 0x0000000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(132) }, /* PacketUnicastTxCount */ \ + { 0x0000000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(136) }, /* CurrentMaxRate */ \ + { 0x0000000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(144) }, /* OverrunCount */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(152) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + \ + /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ + { 0x00000000, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ + { 0x00000001, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ + { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(156) }, /* PacketRxCount */ \ + { 0x00000003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(164) }, /* PacketTxCount */ \ + { 0x00000004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(172) }, /* TxErrCount */ \ + { 0x00000005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(180) }, /* CollisionCount */ \ + { 0x00000006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(188) }, /* OverrunCount */ \ + { 0x00000007, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ + { 0x00000008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(196) }, /* TimeSinceReset */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(204) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + \ /* Endpoint: 0, Cluster: Switch (server) */ \ - { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* number of positions */ \ - { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* current position */ \ - { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* multi press max */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(36) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* number of positions */ \ + { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* current position */ \ + { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* multi press max */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(208) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + \ + /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ + { 0x00000000, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* WindowStatus */ \ + { 0x00000001, ZAP_TYPE(FABRIC_IDX), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* AdminFabricIndex */ \ + { 0x00000002, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AdminVendorId */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Fabrics */ \ @@ -368,6 +669,10 @@ ZAP_EMPTY_DEFAULT() }, /* CurrentFabricIndex */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ + /* Endpoint: 0, Cluster: Boolean State (server) */ \ + { 0x00000000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* StateValue */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + \ /* Endpoint: 0, Cluster: Mode Select (server) */ \ { 0x00000000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_EMPTY_DEFAULT() }, /* Description */ \ { 0x00000001, ZAP_TYPE(ENUM16), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ @@ -375,9 +680,9 @@ { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedModes */ \ { 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CurrentMode */ \ { 0x00000004, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_EMPTY_DEFAULT() }, /* StartUpMode */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(40) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + ZAP_EMPTY_DEFAULT() }, /* StartUpMode */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(212) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Window Covering (server) */ \ { 0x00000000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Type */ \ @@ -410,10 +715,10 @@ ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* InstalledClosedLimitTilt */ \ { 0x00000017, ZAP_TYPE(BITMAP8), 1, \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(1) }, /* Mode */ \ - { 0x0000001A, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* SafetyStatus */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(44) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) }, /* ClusterRevision */ \ + ZAP_MIN_MAX_DEFAULTS_INDEX(1) }, /* Mode */ \ + { 0x0000001A, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* SafetyStatus */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(216) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server) */ \ { 0x00000000, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* MaxPressure */ \ @@ -435,17 +740,17 @@ { 0x00000013, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Capacity */ \ { 0x00000014, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Speed */ \ { 0x00000015, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(48) }, /* LifetimeRunningHours */ \ - { 0x00000016, ZAP_TYPE(INT24U), 3, 0, ZAP_LONG_DEFAULTS_INDEX(51) }, /* Power */ \ + ZAP_LONG_DEFAULTS_INDEX(220) }, /* LifetimeRunningHours */ \ + { 0x00000016, ZAP_TYPE(INT24U), 3, 0, ZAP_LONG_DEFAULTS_INDEX(223) }, /* Power */ \ { 0x00000017, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(54) }, /* LifetimeEnergyConsumed */ \ + ZAP_LONG_DEFAULTS_INDEX(226) }, /* LifetimeEnergyConsumed */ \ { 0x00000020, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(2) }, /* OperationMode */ \ { 0x00000021, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(3) }, /* ControlMode */ \ - { 0x00000022, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* AlarmMask */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(58) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + ZAP_MIN_MAX_DEFAULTS_INDEX(3) }, /* ControlMode */ \ + { 0x00000022, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* AlarmMask */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(230) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thermostat (server) */ \ { 0x00000000, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* local temperature */ \ @@ -469,12 +774,12 @@ { 0x0000001B, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(9) }, /* control sequence of operation */ \ { 0x0000001C, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(10) }, /* system mode */ \ - { 0x00000020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* start of week */ \ - { 0x00000021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* number of weekly transitions */ \ - { 0x00000022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* number of daily transitions */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(62) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ + ZAP_MIN_MAX_DEFAULTS_INDEX(10) }, /* system mode */ \ + { 0x00000020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* start of week */ \ + { 0x00000021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* number of weekly transitions */ \ + { 0x00000022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* number of daily transitions */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(234) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server) */ \ { 0x00000000, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ @@ -482,9 +787,17 @@ { 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(12) }, /* keypad lockout */ \ { 0x00000002, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_MIN_MAX_DEFAULTS_INDEX(13) }, /* schedule programming visibility */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(66) }, /* FeatureMap */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + ZAP_MIN_MAX_DEFAULTS_INDEX(13) }, /* schedule programming visibility */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(238) }, /* FeatureMap */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + \ + /* Endpoint: 0, Cluster: Illuminance Measurement (server) */ \ + { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* MeasuredValue */ \ + { 0x00000001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x01) }, /* MinMeasuredValue */ \ + { 0x00000002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0xFFFE) }, /* MaxMeasuredValue */ \ + { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Tolerance */ \ + { 0x00000004, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0xFF) }, /* LightSensorType */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Temperature Measurement (server) */ \ { 0x00000000, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x8000) }, /* MeasuredValue */ \ @@ -492,12 +805,31 @@ { 0x00000002, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x8000) }, /* MaxMeasuredValue */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ + /* Endpoint: 0, Cluster: Pressure Measurement (server) */ \ + { 0x00000000, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* MeasuredValue */ \ + { 0x00000001, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MinMeasuredValue */ \ + { 0x00000002, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MaxMeasuredValue */ \ + { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Tolerance */ \ + { 0x00000010, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* ScaledValue */ \ + { 0x00000011, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* MinScaledValue */ \ + { 0x00000012, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* MaxScaledValue */ \ + { 0x00000013, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* ScaledTolerance */ \ + { 0x00000014, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* Scale */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + \ + /* Endpoint: 0, Cluster: Flow Measurement (server) */ \ + { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MeasuredValue */ \ + { 0x00000001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MinMeasuredValue */ \ + { 0x00000002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MaxMeasuredValue */ \ + { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0) }, /* Tolerance */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \ - { 0x00000000, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* measured value */ \ - { 0x00000001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* min measured value */ \ - { 0x00000002, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* max measured value */ \ - { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* tolerance */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(70) }, /* FeatureMap */ \ + { 0x00000000, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* measured value */ \ + { 0x00000001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* min measured value */ \ + { 0x00000002, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* max measured value */ \ + { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* tolerance */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(242) }, /* FeatureMap */ \ \ /* Endpoint: 0, Cluster: Target Navigator (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TargetList */ \ @@ -510,7 +842,7 @@ /* Endpoint: 0, Cluster: Content Launcher (server) */ \ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AcceptHeader */ \ { 0x00000001, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(74) }, /* SupportedStreamingProtocols */ \ + ZAP_LONG_DEFAULTS_INDEX(246) }, /* SupportedStreamingProtocols */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Application Basic (server) */ \ @@ -684,6 +1016,24 @@ 0x00000001 /* ScanNetworksResponse */, \ 0x00000007 /* ConnectNetworkResponse */, \ chip::kInvalidCommandId /* end of list */, \ + /* Endpoint: 0, Cluster: Software Diagnostics (server) */\ + /* client_generated */ \ + 0x00000000 /* ResetWatermarks */, \ + chip::kInvalidCommandId /* end of list */, \ + /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */\ + /* client_generated */ \ + 0x00000000 /* ResetCounts */, \ + chip::kInvalidCommandId /* end of list */, \ + /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */\ + /* client_generated */ \ + 0x00000000 /* ResetCounts */, \ + chip::kInvalidCommandId /* end of list */, \ + /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */\ + /* client_generated */ \ + 0x00000000 /* OpenCommissioningWindow */, \ + 0x00000001 /* OpenBasicCommissioningWindow */, \ + 0x00000002 /* RevokeCommissioning */, \ + chip::kInvalidCommandId /* end of list */, \ /* Endpoint: 0, Cluster: Operational Credentials (server) */\ /* client_generated */ \ 0x00000000 /* AttestationRequest */, \ @@ -813,7 +1163,7 @@ // clang-format on #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask -#define GENERATED_CLUSTER_COUNT 39 +#define GENERATED_CLUSTER_COUNT 50 // clang-format off #define GENERATED_CLUSTERS { \ @@ -850,10 +1200,21 @@ .acceptedCommandList = nullptr ,\ .generatedCommandList = nullptr ,\ },\ + { \ + /* Endpoint: 0, Cluster: Bridged Actions (server) */ \ + .clusterId = 0x00000025, \ + .attributes = ZAP_ATTRIBUTE_INDEX(12), \ + .attributeCount = 4, \ + .clusterSize = 0, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = nullptr ,\ + .generatedCommandList = nullptr ,\ + },\ { \ /* Endpoint: 0, Cluster: Basic (server) */ \ .clusterId = 0x00000028, \ - .attributes = ZAP_ATTRIBUTE_INDEX(12), \ + .attributes = ZAP_ATTRIBUTE_INDEX(16), \ .attributeCount = 20, \ .clusterSize = 39, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -861,10 +1222,32 @@ .acceptedCommandList = nullptr ,\ .generatedCommandList = nullptr ,\ },\ + { \ + /* Endpoint: 0, Cluster: Power Source Configuration (server) */ \ + .clusterId = 0x0000002E, \ + .attributes = ZAP_ATTRIBUTE_INDEX(36), \ + .attributeCount = 2, \ + .clusterSize = 2, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = nullptr ,\ + .generatedCommandList = nullptr ,\ + },\ + { \ + /* Endpoint: 0, Cluster: Power Source (server) */ \ + .clusterId = 0x0000002F, \ + .attributes = ZAP_ATTRIBUTE_INDEX(38), \ + .attributeCount = 33, \ + .clusterSize = 228, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = nullptr ,\ + .generatedCommandList = nullptr ,\ + },\ { \ /* Endpoint: 0, Cluster: General Commissioning (client) */ \ .clusterId = 0x00000030, \ - .attributes = ZAP_ATTRIBUTE_INDEX(32), \ + .attributes = ZAP_ATTRIBUTE_INDEX(71), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -875,7 +1258,7 @@ { \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ .clusterId = 0x00000030, \ - .attributes = ZAP_ATTRIBUTE_INDEX(32), \ + .attributes = ZAP_ATTRIBUTE_INDEX(71), \ .attributeCount = 7, \ .clusterSize = 16, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -886,7 +1269,7 @@ { \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ .clusterId = 0x00000031, \ - .attributes = ZAP_ATTRIBUTE_INDEX(39), \ + .attributes = ZAP_ATTRIBUTE_INDEX(78), \ .attributeCount = 10, \ .clusterSize = 48, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -897,7 +1280,7 @@ { \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ .clusterId = 0x00000033, \ - .attributes = ZAP_ATTRIBUTE_INDEX(49), \ + .attributes = ZAP_ATTRIBUTE_INDEX(88), \ .attributeCount = 9, \ .clusterSize = 17, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -905,10 +1288,43 @@ .acceptedCommandList = nullptr ,\ .generatedCommandList = nullptr ,\ },\ + { \ + /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ + .clusterId = 0x00000034, \ + .attributes = ZAP_ATTRIBUTE_INDEX(97), \ + .attributeCount = 6, \ + .clusterSize = 30, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 25 ) ,\ + .generatedCommandList = nullptr ,\ + },\ + { \ + /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ + .clusterId = 0x00000036, \ + .attributes = ZAP_ATTRIBUTE_INDEX(103), \ + .attributeCount = 15, \ + .clusterSize = 58, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 27 ) ,\ + .generatedCommandList = nullptr ,\ + },\ + { \ + /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ + .clusterId = 0x00000037, \ + .attributes = ZAP_ATTRIBUTE_INDEX(118), \ + .attributeCount = 11, \ + .clusterSize = 57, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 29 ) ,\ + .generatedCommandList = nullptr ,\ + },\ { \ /* Endpoint: 0, Cluster: Switch (client) */ \ .clusterId = 0x0000003B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(58), \ + .attributes = ZAP_ATTRIBUTE_INDEX(129), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -919,7 +1335,7 @@ { \ /* Endpoint: 0, Cluster: Switch (server) */ \ .clusterId = 0x0000003B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(58), \ + .attributes = ZAP_ATTRIBUTE_INDEX(129), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -927,10 +1343,21 @@ .acceptedCommandList = nullptr ,\ .generatedCommandList = nullptr ,\ },\ + { \ + /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ + .clusterId = 0x0000003C, \ + .attributes = ZAP_ATTRIBUTE_INDEX(134), \ + .attributeCount = 4, \ + .clusterSize = 2, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 31 ) ,\ + .generatedCommandList = nullptr ,\ + },\ { \ /* Endpoint: 0, Cluster: Operational Credentials (client) */ \ .clusterId = 0x0000003E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(63), \ + .attributes = ZAP_ATTRIBUTE_INDEX(138), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -941,18 +1368,29 @@ { \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ .clusterId = 0x0000003E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(63), \ + .attributes = ZAP_ATTRIBUTE_INDEX(138), \ .attributeCount = 6, \ .clusterSize = 4, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 25 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 35 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 35 ) ,\ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 45 ) ,\ + },\ + { \ + /* Endpoint: 0, Cluster: Boolean State (server) */ \ + .clusterId = 0x00000045, \ + .attributes = ZAP_ATTRIBUTE_INDEX(144), \ + .attributeCount = 2, \ + .clusterSize = 3, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = nullptr ,\ + .generatedCommandList = nullptr ,\ },\ { \ /* Endpoint: 0, Cluster: Mode Select (client) */ \ .clusterId = 0x00000050, \ - .attributes = ZAP_ATTRIBUTE_INDEX(69), \ + .attributes = ZAP_ATTRIBUTE_INDEX(146), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -963,29 +1401,29 @@ { \ /* Endpoint: 0, Cluster: Mode Select (server) */ \ .clusterId = 0x00000050, \ - .attributes = ZAP_ATTRIBUTE_INDEX(69), \ + .attributes = ZAP_ATTRIBUTE_INDEX(146), \ .attributeCount = 7, \ .clusterSize = 41, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ .functions = chipFuncArrayModeSelectServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 40 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 50 ) ,\ .generatedCommandList = nullptr ,\ },\ { \ /* Endpoint: 0, Cluster: Window Covering (server) */ \ .clusterId = 0x00000102, \ - .attributes = ZAP_ATTRIBUTE_INDEX(76), \ + .attributes = ZAP_ATTRIBUTE_INDEX(153), \ .attributeCount = 20, \ .clusterSize = 35, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ .functions = chipFuncArrayWindowCoveringServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 42 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 52 ) ,\ .generatedCommandList = nullptr ,\ },\ { \ /* Endpoint: 0, Cluster: Pump Configuration and Control (server) */ \ .clusterId = 0x00000200, \ - .attributes = ZAP_ATTRIBUTE_INDEX(96), \ + .attributes = ZAP_ATTRIBUTE_INDEX(173), \ .attributeCount = 26, \ .clusterSize = 54, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ @@ -996,18 +1434,18 @@ { \ /* Endpoint: 0, Cluster: Thermostat (server) */ \ .clusterId = 0x00000201, \ - .attributes = ZAP_ATTRIBUTE_INDEX(122), \ + .attributes = ZAP_ATTRIBUTE_INDEX(199), \ .attributeCount = 18, \ .clusterSize = 32, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayThermostatServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 50 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 60 ) ,\ .generatedCommandList = nullptr ,\ },\ { \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (client) */ \ .clusterId = 0x00000204, \ - .attributes = ZAP_ATTRIBUTE_INDEX(140), \ + .attributes = ZAP_ATTRIBUTE_INDEX(217), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1018,7 +1456,7 @@ { \ /* Endpoint: 0, Cluster: Thermostat User Interface Configuration (server) */ \ .clusterId = 0x00000204, \ - .attributes = ZAP_ATTRIBUTE_INDEX(140), \ + .attributes = ZAP_ATTRIBUTE_INDEX(217), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -1026,10 +1464,21 @@ .acceptedCommandList = nullptr ,\ .generatedCommandList = nullptr ,\ },\ + { \ + /* Endpoint: 0, Cluster: Illuminance Measurement (server) */ \ + .clusterId = 0x00000400, \ + .attributes = ZAP_ATTRIBUTE_INDEX(222), \ + .attributeCount = 6, \ + .clusterSize = 11, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = nullptr ,\ + .generatedCommandList = nullptr ,\ + },\ { \ /* Endpoint: 0, Cluster: Temperature Measurement (client) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(145), \ + .attributes = ZAP_ATTRIBUTE_INDEX(228), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1040,7 +1489,7 @@ { \ /* Endpoint: 0, Cluster: Temperature Measurement (server) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(145), \ + .attributes = ZAP_ATTRIBUTE_INDEX(228), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1048,10 +1497,32 @@ .acceptedCommandList = nullptr ,\ .generatedCommandList = nullptr ,\ },\ + { \ + /* Endpoint: 0, Cluster: Pressure Measurement (server) */ \ + .clusterId = 0x00000403, \ + .attributes = ZAP_ATTRIBUTE_INDEX(232), \ + .attributeCount = 10, \ + .clusterSize = 19, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = nullptr ,\ + .generatedCommandList = nullptr ,\ + },\ + { \ + /* Endpoint: 0, Cluster: Flow Measurement (server) */ \ + .clusterId = 0x00000404, \ + .attributes = ZAP_ATTRIBUTE_INDEX(242), \ + .attributeCount = 5, \ + .clusterSize = 10, \ + .mask = ZAP_CLUSTER_MASK(SERVER), \ + .functions = NULL, \ + .acceptedCommandList = nullptr ,\ + .generatedCommandList = nullptr ,\ + },\ { \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (client) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(149), \ + .attributes = ZAP_ATTRIBUTE_INDEX(247), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1062,7 +1533,7 @@ { \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(149), \ + .attributes = ZAP_ATTRIBUTE_INDEX(247), \ .attributeCount = 5, \ .clusterSize = 12, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1073,7 +1544,7 @@ { \ /* Endpoint: 0, Cluster: Target Navigator (client) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(154), \ + .attributes = ZAP_ATTRIBUTE_INDEX(252), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1084,18 +1555,18 @@ { \ /* Endpoint: 0, Cluster: Target Navigator (server) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(154), \ + .attributes = ZAP_ATTRIBUTE_INDEX(252), \ .attributeCount = 3, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 54 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 56 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 64 ) ,\ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 66 ) ,\ },\ { \ /* Endpoint: 0, Cluster: Keypad Input (client) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(157), \ + .attributes = ZAP_ATTRIBUTE_INDEX(255), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1106,18 +1577,18 @@ { \ /* Endpoint: 0, Cluster: Keypad Input (server) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(157), \ + .attributes = ZAP_ATTRIBUTE_INDEX(255), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 58 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 60 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 68 ) ,\ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 70 ) ,\ },\ { \ /* Endpoint: 0, Cluster: Content Launcher (client) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(158), \ + .attributes = ZAP_ATTRIBUTE_INDEX(256), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1128,18 +1599,18 @@ { \ /* Endpoint: 0, Cluster: Content Launcher (server) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(158), \ + .attributes = ZAP_ATTRIBUTE_INDEX(256), \ .attributeCount = 3, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 62 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 65 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 72 ) ,\ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 75 ) ,\ },\ { \ /* Endpoint: 0, Cluster: Application Basic (client) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(161), \ + .attributes = ZAP_ATTRIBUTE_INDEX(259), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1150,7 +1621,7 @@ { \ /* Endpoint: 0, Cluster: Application Basic (server) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(161), \ + .attributes = ZAP_ATTRIBUTE_INDEX(259), \ .attributeCount = 9, \ .clusterSize = 106, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -1161,40 +1632,40 @@ { \ /* Endpoint: 1, Cluster: Identify (server) */ \ .clusterId = 0x00000003, \ - .attributes = ZAP_ATTRIBUTE_INDEX(170), \ + .attributes = ZAP_ATTRIBUTE_INDEX(268), \ .attributeCount = 3, \ .clusterSize = 5, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ .functions = chipFuncArrayIdentifyServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 67 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 70 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 77 ) ,\ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 80 ) ,\ },\ { \ /* Endpoint: 1, Cluster: Groups (server) */ \ .clusterId = 0x00000004, \ - .attributes = ZAP_ATTRIBUTE_INDEX(173), \ + .attributes = ZAP_ATTRIBUTE_INDEX(271), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayGroupsServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 72 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 79 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 82 ) ,\ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 89 ) ,\ },\ { \ /* Endpoint: 1, Cluster: Scenes (server) */ \ .clusterId = 0x00000005, \ - .attributes = ZAP_ATTRIBUTE_INDEX(175), \ + .attributes = ZAP_ATTRIBUTE_INDEX(273), \ .attributeCount = 6, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayScenesServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 84 ) ,\ - .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 92 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 94 ) ,\ + .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 102 ) ,\ },\ { \ /* Endpoint: 1, Cluster: On/Off (client) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(181), \ + .attributes = ZAP_ATTRIBUTE_INDEX(279), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -1205,29 +1676,29 @@ { \ /* Endpoint: 1, Cluster: On/Off (server) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(181), \ + .attributes = ZAP_ATTRIBUTE_INDEX(279), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayOnOffServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 99 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 109 ) ,\ .generatedCommandList = nullptr ,\ },\ { \ /* Endpoint: 1, Cluster: Level Control (server) */ \ .clusterId = 0x00000008, \ - .attributes = ZAP_ATTRIBUTE_INDEX(183), \ + .attributes = ZAP_ATTRIBUTE_INDEX(281), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayLevelControlServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 103 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 113 ) ,\ .generatedCommandList = nullptr ,\ },\ { \ /* Endpoint: 1, Cluster: Basic (server) */ \ .clusterId = 0x00000028, \ - .attributes = ZAP_ATTRIBUTE_INDEX(185), \ + .attributes = ZAP_ATTRIBUTE_INDEX(283), \ .attributeCount = 20, \ .clusterSize = 39, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -1238,12 +1709,12 @@ { \ /* Endpoint: 1, Cluster: Color Control (server) */ \ .clusterId = 0x00000300, \ - .attributes = ZAP_ATTRIBUTE_INDEX(205), \ + .attributes = ZAP_ATTRIBUTE_INDEX(303), \ .attributeCount = 6, \ .clusterSize = 11, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayColorControlServer, \ - .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 112 ) ,\ + .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 122 ) ,\ .generatedCommandList = nullptr ,\ },\ } @@ -1252,16 +1723,16 @@ #define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index]) -#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 26 +#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 37 // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 31, 454 }, { ZAP_CLUSTER_INDEX(31), 8, 72 }, \ + { ZAP_CLUSTER_INDEX(0), 42, 874 }, { ZAP_CLUSTER_INDEX(42), 8, 72 }, \ } // Largest attribute size is needed for various buffers -#define ATTRIBUTE_LARGEST (259) +#define ATTRIBUTE_LARGEST (515) static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected"); @@ -1269,7 +1740,7 @@ static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, #define ATTRIBUTE_SINGLETONS_SIZE (78) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (526) +#define ATTRIBUTE_MAX_SIZE (946) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/placeholder/app2/zap-generated/gen_config.h b/zzz_generated/placeholder/app2/zap-generated/gen_config.h index 7e0b2c2460f365..86cfb87b604a93 100644 --- a/zzz_generated/placeholder/app2/zap-generated/gen_config.h +++ b/zzz_generated/placeholder/app2/zap-generated/gen_config.h @@ -29,18 +29,24 @@ #define EMBER_APS_UNICAST_MESSAGE_COUNT 10 /**** Cluster endpoint counts ****/ +#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_APPLICATION_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_APPLICATION_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (2) +#define EMBER_AF_BOOLEAN_STATE_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_BRIDGED_ACTIONS_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_CONTENT_LAUNCH_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_CONTENT_LAUNCH_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_FLOW_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_GENERAL_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_GROUPS_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_ILLUMINANCE_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_KEYPAD_INPUT_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_KEYPAD_INPUT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_LEVEL_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) @@ -51,10 +57,14 @@ #define EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT (2) #define EMBER_AF_OPERATIONAL_CREDENTIALS_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_OPERATIONAL_CREDENTIALS_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_POWER_SOURCE_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_POWER_SOURCE_CONFIGURATION_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_PRESSURE_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_PUMP_CONFIG_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_SOFTWARE_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_SWITCH_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_SWITCH_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_TARGET_NAVIGATOR_CLUSTER_CLIENT_ENDPOINT_COUNT (1) @@ -64,10 +74,16 @@ #define EMBER_AF_THERMOSTAT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_THERMOSTAT_UI_CONFIG_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_THERMOSTAT_UI_CONFIG_CLUSTER_SERVER_ENDPOINT_COUNT (1) +#define EMBER_AF_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_WINDOW_COVERING_CLUSTER_SERVER_ENDPOINT_COUNT (1) /**** Cluster Plugins ****/ +// Use this macro to check if the server side of the AdministratorCommissioning cluster is included +#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER +#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING + // Use this macro to check if the client side of the Application Basic cluster is included #define ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_APPLICATION_BASIC_CLIENT @@ -82,6 +98,16 @@ #define EMBER_AF_PLUGIN_BASIC_SERVER #define EMBER_AF_PLUGIN_BASIC +// Use this macro to check if the server side of the Boolean State cluster is included +#define ZCL_USING_BOOLEAN_STATE_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_BOOLEAN_STATE_SERVER +#define EMBER_AF_PLUGIN_BOOLEAN_STATE + +// Use this macro to check if the server side of the Bridged Actions cluster is included +#define ZCL_USING_BRIDGED_ACTIONS_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_BRIDGED_ACTIONS_SERVER +#define EMBER_AF_PLUGIN_BRIDGED_ACTIONS + // Use this macro to check if the server side of the Color Control cluster is included #define ZCL_USING_COLOR_CONTROL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_COLOR_CONTROL_SERVER @@ -105,6 +131,16 @@ #define EMBER_AF_PLUGIN_DESCRIPTOR_SERVER #define EMBER_AF_PLUGIN_DESCRIPTOR +// Use this macro to check if the server side of the Ethernet Network Diagnostics cluster is included +#define ZCL_USING_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_ETHERNET_NETWORK_DIAGNOSTICS_SERVER +#define EMBER_AF_PLUGIN_ETHERNET_NETWORK_DIAGNOSTICS + +// Use this macro to check if the server side of the Flow Measurement cluster is included +#define ZCL_USING_FLOW_MEASUREMENT_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_FLOW_MEASUREMENT_SERVER +#define EMBER_AF_PLUGIN_FLOW_MEASUREMENT + // Use this macro to check if the client side of the General Commissioning cluster is included #define ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_GENERAL_COMMISSIONING_CLIENT @@ -129,6 +165,11 @@ #define EMBER_AF_PLUGIN_IDENTIFY_SERVER #define EMBER_AF_PLUGIN_IDENTIFY +// Use this macro to check if the server side of the Illuminance Measurement cluster is included +#define ZCL_USING_ILLUMINANCE_MEASUREMENT_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_ILLUMINANCE_MEASUREMENT_SERVER +#define EMBER_AF_PLUGIN_ILLUMINANCE_MEASUREMENT + // Use this macro to check if the client side of the Keypad Input cluster is included #define ZCL_USING_KEYPAD_INPUT_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_KEYPAD_INPUT_CLIENT @@ -179,6 +220,21 @@ #define EMBER_AF_PLUGIN_OPERATIONAL_CREDENTIALS_SERVER #define EMBER_AF_PLUGIN_OPERATIONAL_CREDENTIALS +// Use this macro to check if the server side of the Power Source cluster is included +#define ZCL_USING_POWER_SOURCE_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_POWER_SOURCE_SERVER +#define EMBER_AF_PLUGIN_POWER_SOURCE + +// Use this macro to check if the server side of the Power Source Configuration cluster is included +#define ZCL_USING_POWER_SOURCE_CONFIGURATION_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_POWER_SOURCE_CONFIGURATION_SERVER +#define EMBER_AF_PLUGIN_POWER_SOURCE_CONFIGURATION + +// Use this macro to check if the server side of the Pressure Measurement cluster is included +#define ZCL_USING_PRESSURE_MEASUREMENT_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_PRESSURE_MEASUREMENT_SERVER +#define EMBER_AF_PLUGIN_PRESSURE_MEASUREMENT + // Use this macro to check if the server side of the Pump Configuration and Control cluster is included #define ZCL_USING_PUMP_CONFIG_CONTROL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_PUMP_CONFIGURATION_AND_CONTROL_SERVER @@ -200,6 +256,11 @@ // User options for server plugin Scenes #define EMBER_AF_PLUGIN_SCENES_TABLE_SIZE 3 +// Use this macro to check if the server side of the Software Diagnostics cluster is included +#define ZCL_USING_SOFTWARE_DIAGNOSTICS_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_SOFTWARE_DIAGNOSTICS_SERVER +#define EMBER_AF_PLUGIN_SOFTWARE_DIAGNOSTICS + // Use this macro to check if the client side of the Switch cluster is included #define ZCL_USING_SWITCH_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_SWITCH_CLIENT @@ -241,6 +302,11 @@ #define EMBER_AF_PLUGIN_THERMOSTAT_USER_INTERFACE_CONFIGURATION_SERVER #define EMBER_AF_PLUGIN_THERMOSTAT_USER_INTERFACE_CONFIGURATION +// Use this macro to check if the server side of the WiFi Network Diagnostics cluster is included +#define ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS_SERVER +#define EMBER_AF_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS + // Use this macro to check if the server side of the Window Covering cluster is included #define ZCL_USING_WINDOW_COVERING_CLUSTER_SERVER #define EMBER_AF_PLUGIN_WINDOW_COVERING_SERVER