diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index 037b6c3b678298..c82e56ca3c71cc 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -3756,92 +3756,913 @@ server cluster WindowCovering = 258 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Binding; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster Groups; - server cluster Identify; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster PowerSource; - server cluster PowerSourceConfiguration; - server cluster RelativeHumidityMeasurement; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + callback attribute defaultOtaProviders; + ram attribute updatePossible default = 1; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSourceConfiguration { + callback attribute sources; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status; + ram attribute order default = 3; + ram attribute description default = "B1"; + ram attribute batteryChargeLevel; + ram attribute batteryReplacementNeeded; + ram attribute batteryReplaceability; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + callback attribute maxGroupsPerFabric; + callback attribute maxGroupKeysPerFabric; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster RelativeHumidityMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue default = 0x2710; + ram attribute clusterRevision default = 2; + } } endpoint 1 { - server cluster AccountLogin; - server cluster ApplicationBasic; - server cluster ApplicationLauncher; - server cluster AudioOutput; - server cluster BarrierControl; - server cluster BinaryInputBasic; - server cluster Binding; - server cluster BooleanState; - server cluster BridgedActions; - server cluster Channel; - server cluster ColorControl; - server cluster ContentLauncher; - server cluster Descriptor; - server cluster DoorLock; - server cluster ElectricalMeasurement; - server cluster FanControl; - server cluster FixedLabel; - server cluster FlowMeasurement; - server cluster Groups; - server cluster IasZone; - server cluster Identify; - server cluster IlluminanceMeasurement; - server cluster KeypadInput; - server cluster LevelControl; - server cluster LowPower; - server cluster MediaInput; - server cluster MediaPlayback; - server cluster ModeSelect; - server cluster OccupancySensing; - server cluster OnOff; - server cluster OnOffSwitchConfiguration; - server cluster PowerSource; - server cluster PressureMeasurement; - server cluster PumpConfigurationAndControl; - server cluster RelativeHumidityMeasurement; - server cluster Scenes; - server cluster Switch; - server cluster TargetNavigator; - server cluster TemperatureMeasurement; - server cluster TestCluster; - server cluster Thermostat; - server cluster ThermostatUserInterfaceConfiguration; - server cluster UserLabel; - server cluster WakeOnLan; - server cluster WindowCovering; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Scenes { + ram attribute sceneCount; + ram attribute currentScene; + ram attribute currentGroup; + ram attribute sceneValid; + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster OnOff { + persist attribute onOff; + ram attribute globalSceneControl default = 0x01; + ram attribute onTime; + ram attribute offWaitTime; + persist attribute startUpOnOff default = 0xFF; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 4; + } + + server cluster OnOffSwitchConfiguration { + ram attribute switchType; + ram attribute switchActions; + ram attribute clusterRevision default = 1; + } + + server cluster LevelControl { + persist attribute currentLevel default = 0xFE; + ram attribute remainingTime; + ram attribute minLevel; + ram attribute maxLevel default = 0xFE; + ram attribute currentFrequency; + ram attribute minFrequency; + ram attribute maxFrequency; + ram attribute options; + ram attribute onOffTransitionTime; + ram attribute onLevel default = 0xFF; + ram attribute onTransitionTime; + ram attribute offTransitionTime; + ram attribute defaultMoveRate default = 50; + persist attribute startUpCurrentLevel default = 255; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 5; + } + + server cluster BinaryInputBasic { + ram attribute outOfService; + ram attribute presentValue; + ram attribute statusFlags; + ram attribute clusterRevision default = 1; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } + + server cluster BridgedActions { + callback attribute actionList; + callback attribute endpointList; + callback attribute setupUrl; + callback attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status; + ram attribute order default = 2; + ram attribute description default = "B2"; + ram attribute batteryChargeLevel; + ram attribute batteryReplacementNeeded; + ram attribute batteryReplaceability; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster Switch { + ram attribute numberOfPositions default = 2; + ram attribute currentPosition; + ram attribute multiPressMax default = 2; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster BooleanState { + ram attribute stateValue; + ram attribute clusterRevision default = 1; + } + + server cluster ModeSelect { + ram attribute description default = "Coffee"; + ram attribute standardNamespace; + callback attribute supportedModes; + persist attribute currentMode; + persist attribute startUpMode; + persist attribute onMode default = 255; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster DoorLock { + ram attribute lockState default = 2; + ram attribute lockType; + ram attribute actuatorEnabled; + ram attribute doorState; + ram attribute doorOpenEvents; + ram attribute doorClosedEvents; + ram attribute openPeriod; + ram attribute numberOfTotalUsersSupported default = 10; + ram attribute numberOfPINUsersSupported default = 10; + ram attribute numberOfRFIDUsersSupported default = 10; + ram attribute numberOfWeekDaySchedulesSupportedPerUser default = 10; + ram attribute numberOfYearDaySchedulesSupportedPerUser default = 10; + ram attribute numberOfHolidaySchedulesSupported; + ram attribute maxPINCodeLength default = 6; + ram attribute minPINCodeLength default = 6; + ram attribute maxRFIDCodeLength default = 20; + ram attribute minRFIDCodeLength default = 10; + ram attribute credentialRulesSupport default = 1; + ram attribute language default = "en"; + ram attribute autoRelockTime default = 60; + ram attribute soundVolume; + ram attribute operatingMode; + ram attribute supportedOperatingModes default = 0xFFF6; + ram attribute defaultConfigurationRegister; + ram attribute enableOneTouchLocking; + ram attribute enableInsideStatusLED; + ram attribute enablePrivacyModeButton; + ram attribute wrongCodeEntryLimit default = 3; + ram attribute userCodeTemporaryDisableTime default = 10; + ram attribute requirePINforRemoteOperation; + ram attribute featureMap default = 0x113; + ram attribute clusterRevision default = 6; + } + + server cluster WindowCovering { + ram attribute type; + persist attribute currentPositionLift default = 0x7FFF; + persist attribute currentPositionTilt default = 0x7FFF; + persist attribute configStatus default = 0x03; + persist attribute currentPositionLiftPercentage default = 50; + persist attribute currentPositionTiltPercentage default = 50; + ram attribute operationalStatus; + ram attribute targetPositionLiftPercent100ths default = 500; + ram attribute targetPositionTiltPercent100ths default = 500; + ram attribute endProductType; + persist attribute currentPositionLiftPercent100ths default = 500; + persist attribute currentPositionTiltPercent100ths default = 500; + persist attribute installedOpenLimitLift; + persist attribute installedClosedLimitLift default = 0xFFFF; + persist attribute installedOpenLimitTilt; + persist attribute installedClosedLimitTilt default = 0xFFFF; + persist attribute mode; + ram attribute safetyStatus; + ram attribute featureMap default = 0x17; + ram attribute clusterRevision default = 5; + } + + server cluster BarrierControl { + ram attribute barrierMovingState; + ram attribute barrierSafetyStatus; + ram attribute barrierCapabilities; + ram attribute barrierPosition; + ram attribute clusterRevision default = 1; + } + + server cluster PumpConfigurationAndControl { + ram attribute maxPressure; + ram attribute maxSpeed; + ram attribute maxFlow; + ram attribute minConstPressure; + ram attribute maxConstPressure; + ram attribute minCompPressure; + ram attribute maxCompPressure; + ram attribute minConstSpeed; + ram attribute maxConstSpeed; + ram attribute minConstFlow; + ram attribute maxConstFlow; + ram attribute minConstTemp; + ram attribute maxConstTemp; + ram attribute pumpStatus; + ram attribute effectiveOperationMode; + ram attribute effectiveControlMode; + ram attribute capacity; + ram attribute speed; + ram attribute lifetimeRunningHours; + ram attribute power; + ram attribute lifetimeEnergyConsumed; + ram attribute operationMode; + ram attribute controlMode; + ram attribute alarmMask; + ram attribute featureMap; + ram attribute clusterRevision default = 3; + } + + server cluster Thermostat { + ram attribute localTemperature; + ram attribute absMinHeatSetpointLimit default = 0x02BC; + ram attribute absMaxHeatSetpointLimit default = 0x0BB8; + ram attribute absMinCoolSetpointLimit default = 0x0640; + ram attribute absMaxCoolSetpointLimit default = 0x0C80; + ram attribute occupiedCoolingSetpoint default = 0x0A28; + ram attribute occupiedHeatingSetpoint default = 0x07D0; + ram attribute minHeatSetpointLimit default = 0x02BC; + ram attribute maxHeatSetpointLimit default = 0x0BB8; + ram attribute minCoolSetpointLimit default = 0x0640; + ram attribute maxCoolSetpointLimit default = 0x0C80; + ram attribute minSetpointDeadBand default = 0x19; + ram attribute controlSequenceOfOperation default = 0x04; + ram attribute systemMode default = 0x01; + ram attribute startOfWeek; + ram attribute numberOfWeeklyTransitions default = 7; + ram attribute numberOfDailyTransitions default = 4; + ram attribute featureMap default = 0x000b; + ram attribute clusterRevision default = 5; + } + + server cluster FanControl { + ram attribute fanMode; + ram attribute fanModeSequence default = 0x02; + ram attribute percentSetting; + ram attribute percentCurrent; + ram attribute speedMax; + ram attribute speedSetting; + ram attribute speedCurrent; + ram attribute rockSupport; + ram attribute rockSetting; + ram attribute windSupport; + ram attribute windSetting; + ram attribute featureMap; + ram attribute clusterRevision default = 2; + } + + server cluster ThermostatUserInterfaceConfiguration { + ram attribute temperatureDisplayMode; + ram attribute keypadLockout; + ram attribute scheduleProgrammingVisibility; + ram attribute clusterRevision default = 2; + } + + server cluster ColorControl { + ram attribute currentHue; + ram attribute currentSaturation; + ram attribute remainingTime; + ram attribute currentX default = 0x616B; + ram attribute currentY default = 0x607D; + ram attribute driftCompensation; + ram attribute compensationText; + ram attribute colorTemperature default = 0x00FA; + ram attribute colorMode default = 0x01; + ram attribute colorControlOptions; + ram attribute numberOfPrimaries; + ram attribute primary1X; + ram attribute primary1Y; + ram attribute primary1Intensity; + ram attribute primary2X; + ram attribute primary2Y; + ram attribute primary2Intensity; + ram attribute primary3X; + ram attribute primary3Y; + ram attribute primary3Intensity; + ram attribute primary4X; + ram attribute primary4Y; + ram attribute primary4Intensity; + ram attribute primary5X; + ram attribute primary5Y; + ram attribute primary5Intensity; + ram attribute primary6X; + ram attribute primary6Y; + ram attribute primary6Intensity; + ram attribute whitePointX; + ram attribute whitePointY; + ram attribute colorPointRX; + ram attribute colorPointRY; + ram attribute colorPointRIntensity; + ram attribute colorPointGX; + ram attribute colorPointGY; + ram attribute colorPointGIntensity; + ram attribute colorPointBX; + ram attribute colorPointBY; + ram attribute colorPointBIntensity; + ram attribute enhancedCurrentHue; + ram attribute enhancedColorMode default = 0x01; + ram attribute colorLoopActive; + ram attribute colorLoopDirection; + ram attribute colorLoopTime default = 0x0019; + ram attribute colorLoopStartEnhancedHue default = 0x2300; + ram attribute colorLoopStoredEnhancedHue; + ram attribute colorCapabilities; + ram attribute colorTempPhysicalMin; + ram attribute colorTempPhysicalMax default = 0xFEFF; + ram attribute coupleColorTempToLevelMinMireds; + ram attribute startUpColorTemperatureMireds; + ram attribute featureMap default = 0x1F; + ram attribute clusterRevision default = 5; + } + + server cluster IlluminanceMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue default = 0x01; + ram attribute maxMeasuredValue default = 0xFFFE; + ram attribute tolerance; + ram attribute lightSensorType default = 0xFF; + ram attribute clusterRevision default = 3; + } + + server cluster TemperatureMeasurement { + ram attribute measuredValue default = 0x8000; + ram attribute minMeasuredValue default = 0x8000; + ram attribute maxMeasuredValue default = 0x8000; + ram attribute tolerance; + ram attribute clusterRevision default = 4; + } + + server cluster PressureMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute clusterRevision default = 3; + } + + server cluster FlowMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute tolerance; + ram attribute clusterRevision default = 3; + } + + server cluster RelativeHumidityMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue default = 0x2710; + ram attribute tolerance; + ram attribute clusterRevision default = 2; + } + + server cluster OccupancySensing { + ram attribute occupancy; + ram attribute occupancySensorType; + ram attribute occupancySensorTypeBitmap; + ram attribute clusterRevision default = 3; + } + + server cluster IasZone { + ram attribute zoneState; + ram attribute zoneType; + ram attribute zoneStatus; + ram attribute iasCieAddress; + ram attribute zoneId default = 0xff; + ram attribute clusterRevision default = 2; + } + + server cluster WakeOnLan { + ram attribute MACAddress; + ram attribute clusterRevision default = 1; + } + + server cluster Channel { + callback attribute channelList; + ram attribute clusterRevision default = 1; + } + + server cluster TargetNavigator { + callback attribute targetList; + ram attribute currentTarget; + ram attribute clusterRevision default = 1; + } + + server cluster MediaPlayback { + ram attribute currentState; + ram attribute startTime default = 0xFF; + ram attribute duration; + ram attribute playbackSpeed; + ram attribute seekRangeEnd; + ram attribute seekRangeStart; + ram attribute clusterRevision default = 1; + } + + server cluster MediaInput { + callback attribute inputList; + ram attribute currentInput; + ram attribute clusterRevision default = 1; + } + + server cluster LowPower { + ram attribute clusterRevision default = 1; + } + + server cluster KeypadInput { + ram attribute clusterRevision default = 1; + } + + server cluster ContentLauncher { + callback attribute acceptHeader; + ram attribute supportedStreamingProtocols; + ram attribute clusterRevision default = 1; + } + + server cluster AudioOutput { + callback attribute outputList; + ram attribute currentOutput; + ram attribute clusterRevision default = 1; + } + + server cluster ApplicationLauncher { + callback attribute catalogList; + ram attribute clusterRevision default = 1; + } + + server cluster ApplicationBasic { + ram attribute vendorName; + ram attribute vendorID; + ram attribute applicationName; + ram attribute productID; + ram attribute status; + ram attribute applicationVersion; + callback attribute allowedVendorList; + ram attribute clusterRevision default = 1; + } + + server cluster AccountLogin { + ram attribute clusterRevision default = 1; + } + + server cluster TestCluster { + ram attribute boolean; + ram attribute bitmap8; + ram attribute bitmap16; + ram attribute bitmap32; + ram attribute bitmap64; + ram attribute int8u; + ram attribute int16u; + ram attribute int24u; + ram attribute int32u; + ram attribute int40u; + ram attribute int48u; + ram attribute int56u; + ram attribute int64u; + ram attribute int8s; + ram attribute int16s; + ram attribute int24s; + ram attribute int32s; + ram attribute int40s; + ram attribute int48s; + ram attribute int56s; + ram attribute int64s; + ram attribute enum8; + ram attribute enum16; + ram attribute floatSingle; + ram attribute floatDouble; + ram attribute octetString; + callback attribute listInt8u; + callback attribute listOctetString; + callback attribute listStructOctetString; + ram attribute longOctetString; + ram attribute charString; + ram attribute longCharString; + ram attribute epochUs; + ram attribute epochS; + ram attribute vendorId; + callback attribute listNullablesAndOptionalsStruct; + ram attribute enumAttr; + callback attribute structAttr; + ram attribute rangeRestrictedInt8u default = 70; + ram attribute rangeRestrictedInt8s default = -20; + ram attribute rangeRestrictedInt16u default = 200; + ram attribute rangeRestrictedInt16s default = -100; + callback attribute listLongOctetString; + callback attribute listFabricScoped; + ram attribute timedWriteBoolean; + callback attribute generalErrorBoolean; + callback attribute clusterErrorBoolean; + ram attribute nullableBoolean; + ram attribute nullableBitmap8; + ram attribute nullableBitmap16; + ram attribute nullableBitmap32; + ram attribute nullableBitmap64; + ram attribute nullableInt8u; + ram attribute nullableInt16u; + ram attribute nullableInt24u; + ram attribute nullableInt32u; + ram attribute nullableInt40u; + ram attribute nullableInt48u; + ram attribute nullableInt56u; + ram attribute nullableInt64u; + ram attribute nullableInt8s; + ram attribute nullableInt16s; + ram attribute nullableInt24s; + ram attribute nullableInt32s; + ram attribute nullableInt40s; + ram attribute nullableInt48s; + ram attribute nullableInt56s; + ram attribute nullableInt64s; + ram attribute nullableEnum8; + ram attribute nullableEnum16; + ram attribute nullableFloatSingle; + ram attribute nullableFloatDouble; + ram attribute nullableOctetString; + ram attribute nullableCharString; + ram attribute nullableEnumAttr; + callback attribute nullableStruct; + ram attribute nullableRangeRestrictedInt8u default = 70; + ram attribute nullableRangeRestrictedInt8s default = -20; + ram attribute nullableRangeRestrictedInt16u default = 200; + ram attribute nullableRangeRestrictedInt16s default = -100; + ram attribute clusterRevision default = 1; + } + + server cluster ElectricalMeasurement { + ram attribute measurementType; + ram attribute totalActivePower; + ram attribute rmsVoltage default = 0xffff; + ram attribute rmsVoltageMin default = 0x8000; + ram attribute rmsVoltageMax default = 0x8000; + ram attribute rmsCurrent default = 0xffff; + ram attribute rmsCurrentMin default = 0xffff; + ram attribute rmsCurrentMax default = 0xffff; + ram attribute activePower default = 0xffff; + ram attribute activePowerMin default = 0xffff; + ram attribute activePowerMax default = 0xffff; + ram attribute clusterRevision default = 3; + } } endpoint 2 { - server cluster Descriptor; - server cluster Groups; - server cluster OccupancySensing; - server cluster OnOff; - server cluster PowerSource; + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster OnOff { + ram attribute onOff; + ram attribute globalSceneControl default = 1; + ram attribute onTime; + ram attribute offWaitTime; + ram attribute startUpOnOff; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status; + ram attribute order default = 1; + ram attribute description default = "B3"; + ram attribute batteryChargeLevel; + ram attribute batteryReplacementNeeded; + ram attribute batteryReplaceability; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster OccupancySensing { + ram attribute occupancy; + ram attribute occupancySensorType; + ram attribute occupancySensorTypeBitmap; + ram attribute clusterRevision default = 3; + } } endpoint 65534 { - server cluster NetworkCommissioning; + + server cluster NetworkCommissioning { + callback attribute maxNetworks; + callback attribute networks; + callback attribute scanMaxTimeSeconds; + callback attribute connectMaxTimeSeconds; + callback attribute interfaceEnabled; + callback attribute lastNetworkingStatus; + callback attribute lastNetworkID; + callback attribute lastConnectErrorValue; + callback attribute featureMap; + callback attribute clusterRevision default = 1; + } } + diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index e1194a240be4b1..45a557f025f1ee 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -1134,31 +1134,289 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { binding cluster AccessControl; - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; - server cluster OperationalCredentials; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 15; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Descriptor; - server cluster FixedLabel; - server cluster LevelControl; - server cluster OnOff; - server cluster Switch; + + server cluster OnOff { + ram attribute onOff; + ram attribute clusterRevision default = 4; + } + + server cluster LevelControl { + persist attribute currentLevel; + ram attribute remainingTime; + ram attribute minLevel; + ram attribute maxLevel default = 0xFE; + ram attribute currentFrequency; + ram attribute minFrequency; + ram attribute maxFrequency; + ram attribute options; + ram attribute onOffTransitionTime; + ram attribute onLevel default = 0xFE; + ram attribute onTransitionTime; + ram attribute offTransitionTime; + ram attribute defaultMoveRate; + persist attribute startUpCurrentLevel default = 255; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 5; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Switch { + ram attribute numberOfPositions default = 2; + ram attribute currentPosition default = 1; + ram attribute multiPressMax default = 2; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } + diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index aebdf6ebca783d..699ef9d33487ca 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -1657,38 +1657,292 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Binding; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster SoftwareDiagnostics; - server cluster Switch; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + callback attribute defaultOtaProviders; + ram attribute updatePossible default = 1; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + ram attribute activeLocale; + callback attribute supportedLocales; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster Switch { + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + callback attribute maxGroupsPerFabric; + callback attribute maxGroupKeysPerFabric; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Binding; - binding cluster ColorControl; - server cluster Descriptor; - server cluster Groups; binding cluster Identify; - server cluster Identify; - binding cluster OnOff; binding cluster Scenes; + binding cluster OnOff; + binding cluster ColorControl; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + callback attribute attributeList; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute attributeList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } } + diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index c2f64866bff691..cf2bad7ef40d6c 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -1644,37 +1644,344 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster Groups; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster SoftwareDiagnostics; - server cluster Switch; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + callback attribute defaultOtaProviders; + ram attribute updatePossible default = 1; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster Switch { + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + callback attribute maxGroupsPerFabric; + callback attribute maxGroupKeysPerFabric; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster ColorControl; - server cluster Descriptor; - server cluster Groups; - server cluster Identify; - server cluster LevelControl; - server cluster OccupancySensing; - server cluster OnOff; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster OnOff { + persist attribute onOff; + ram attribute globalSceneControl default = 0x01; + ram attribute onTime; + ram attribute offWaitTime; + persist attribute startUpOnOff default = 0xFF; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 4; + } + + server cluster LevelControl { + persist attribute currentLevel default = 0x01; + ram attribute remainingTime; + ram attribute minLevel; + ram attribute maxLevel default = 0xFE; + ram attribute currentFrequency; + ram attribute minFrequency; + ram attribute maxFrequency; + ram attribute options; + ram attribute onOffTransitionTime; + ram attribute onLevel default = 0xFF; + ram attribute onTransitionTime; + ram attribute offTransitionTime; + ram attribute defaultMoveRate default = 50; + persist attribute startUpCurrentLevel default = 255; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 5; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster ColorControl { + ram attribute currentHue; + ram attribute currentSaturation; + ram attribute remainingTime; + ram attribute currentX default = 0x616B; + ram attribute currentY default = 0x607D; + ram attribute colorTemperature default = 0x00FA; + ram attribute colorMode default = 0x01; + ram attribute colorControlOptions; + ram attribute numberOfPrimaries; + ram attribute enhancedCurrentHue; + ram attribute enhancedColorMode default = 0x01; + ram attribute colorLoopActive; + ram attribute colorLoopDirection; + ram attribute colorLoopTime default = 0x0019; + ram attribute colorLoopStartEnhancedHue default = 0x2300; + ram attribute colorLoopStoredEnhancedHue; + ram attribute colorCapabilities; + ram attribute colorTempPhysicalMin; + ram attribute colorTempPhysicalMax default = 0xFEFF; + ram attribute coupleColorTempToLevelMinMireds; + ram attribute startUpColorTemperatureMireds; + ram attribute featureMap default = 0x1F; + ram attribute clusterRevision default = 5; + } + + server cluster OccupancySensing { + ram attribute occupancy; + ram attribute occupancySensorType; + ram attribute occupancySensorTypeBitmap; + ram attribute clusterRevision default = 3; + } } + diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter index e4a3d37b2cf6f2..1f8ee40a1166f5 100644 --- a/examples/lock-app/lock-common/lock-app.matter +++ b/examples/lock-app/lock-common/lock-app.matter @@ -1802,35 +1802,330 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster PowerSource; - server cluster PowerSourceConfiguration; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + callback attribute defaultOtaProviders; + ram attribute updatePossible default = 1; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSourceConfiguration { + callback attribute sources; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status default = 1; + ram attribute order; + ram attribute description default = "USB"; + ram attribute wiredAssessedCurrent; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Descriptor; - server cluster DoorLock; - server cluster Groups; - server cluster Identify; - server cluster OnOff; - server cluster PowerSource; + + server cluster Identify { + ram attribute identifyTime; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster OnOff { + ram attribute onOff; + ram attribute globalSceneControl default = 1; + ram attribute onTime; + ram attribute offWaitTime; + ram attribute startUpOnOff; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status default = 1; + ram attribute order default = 1; + ram attribute description default = "Battery"; + ram attribute batteryChargeLevel; + ram attribute batteryReplacementNeeded; + ram attribute batteryReplaceability; + ram attribute batteryReplacementDescription; + ram attribute featureMap default = 0x0A; + ram attribute clusterRevision default = 1; + } + + server cluster DoorLock { + persist attribute lockState default = 1; + ram attribute lockType; + ram attribute actuatorEnabled; + ram attribute doorState; + ram attribute numberOfTotalUsersSupported default = 10; + ram attribute numberOfPINUsersSupported default = 10; + ram attribute numberOfRFIDUsersSupported default = 10; + ram attribute numberOfWeekDaySchedulesSupportedPerUser default = 10; + ram attribute numberOfYearDaySchedulesSupportedPerUser default = 10; + ram attribute maxPINCodeLength default = 8; + ram attribute minPINCodeLength default = 6; + ram attribute maxRFIDCodeLength default = 20; + ram attribute minRFIDCodeLength default = 10; + ram attribute credentialRulesSupport default = 1; + ram attribute language default = "en"; + ram attribute autoRelockTime default = 60; + ram attribute soundVolume; + ram attribute operatingMode; + ram attribute supportedOperatingModes default = 0xFFF6; + ram attribute enableOneTouchLocking; + ram attribute enablePrivacyModeButton; + ram attribute wrongCodeEntryLimit default = 3; + ram attribute userCodeTemporaryDisableTime default = 10; + ram attribute requirePINforRemoteOperation; + ram attribute featureMap default = 0x113; + ram attribute clusterRevision default = 6; + } } + diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter index 123989d14d84d5..8f62bccacbc1f6 100644 --- a/examples/log-source-app/log-source-common/log-source-app.matter +++ b/examples/log-source-app/log-source-common/log-source-app.matter @@ -392,11 +392,39 @@ server cluster OperationalCredentials = 62 { endpoint 0 { - server cluster AccessControl; binding cluster DiagnosticLogs; - server cluster DiagnosticLogs; - server cluster GeneralCommissioning; - server cluster NetworkCommissioning; - server cluster OperationalCredentials; + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + callback attribute supportsConcurrentConnection default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster OperationalCredentials { + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + ram attribute clusterRevision default = 1; + } } + diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter index 816e4ce93de759..7f041359332238 100644 --- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter +++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter @@ -580,15 +580,100 @@ server cluster UserLabel = 65 { endpoint 0 { binding cluster AccessControl; - server cluster AccessControl; - server cluster Basic; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; - server cluster OtaSoftwareUpdateProvider; - server cluster OperationalCredentials; - server cluster TimeFormatLocalization; - server cluster UserLabel; + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateProvider { + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } + diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter index 6155b6038f7be6..a56dceb44b283e 100644 --- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter +++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter @@ -629,17 +629,112 @@ server cluster UserLabel = 65 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster TimeFormatLocalization; - server cluster UserLabel; + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + callback attribute defaultOtaProviders; + ram attribute updatePossible default = 1; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } + diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 64c10c41a8dc78..6c37accc628c42 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -2526,58 +2526,471 @@ 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; - server cluster ModeSelect; - server cluster NetworkCommissioning; binding cluster OnOff; - server cluster OnOff; + binding cluster GeneralCommissioning; + binding cluster Switch; binding cluster OperationalCredentials; - server cluster OperationalCredentials; - server cluster PowerSource; - server cluster PowerSourceConfiguration; - server cluster PressureMeasurement; - server cluster PumpConfigurationAndControl; + binding cluster ModeSelect; + binding cluster ThermostatUserInterfaceConfiguration; + binding cluster TemperatureMeasurement; binding cluster RelativeHumidityMeasurement; - server cluster RelativeHumidityMeasurement; - server cluster SoftwareDiagnostics; - binding cluster Switch; - server cluster Switch; binding cluster TargetNavigator; - server cluster TargetNavigator; - binding cluster TemperatureMeasurement; - server cluster TemperatureMeasurement; - server cluster Thermostat; - binding cluster ThermostatUserInterfaceConfiguration; - server cluster ThermostatUserInterfaceConfiguration; - server cluster WiFiNetworkDiagnostics; - server cluster WindowCovering; + binding cluster KeypadInput; + binding cluster ContentLauncher; + binding cluster ApplicationBasic; + + server cluster OnOff { + ram attribute onOff; + ram attribute globalSceneControl default = 0x01; + ram attribute onTime; + ram attribute offWaitTime; + ram attribute startUpOnOff default = 0xFF; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster BridgedActions { + callback attribute actionList; + callback attribute endpointList; + callback attribute setupUrl; + callback attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSourceConfiguration { + callback attribute sources; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status; + ram attribute order; + ram attribute description; + ram attribute wiredAssessedInputVoltage; + ram attribute wiredAssessedInputFrequency; + ram attribute wiredCurrentType; + ram attribute wiredAssessedCurrent; + ram attribute wiredNominalVoltage; + ram attribute wiredMaximumCurrent; + ram attribute wiredPresent; + callback attribute activeWiredFaults; + ram attribute batteryVoltage; + ram attribute batteryPercentRemaining; + ram attribute batteryTimeRemaining; + ram attribute batteryChargeLevel; + ram attribute batteryReplacementNeeded; + ram attribute batteryReplaceability; + ram attribute batteryPresent; + callback attribute activeBatteryFaults; + ram attribute batteryReplacementDescription; + ram attribute batteryCommonDesignation; + ram attribute batteryANSIDesignation; + ram attribute batteryIECDesignation; + ram attribute batteryApprovedChemistry; + ram attribute batteryCapacity; + ram attribute batteryQuantity; + ram attribute batteryChargeState; + ram attribute batteryTimeToFullCharge; + ram attribute batteryFunctionalWhileCharging; + ram attribute batteryChargingCurrent; + callback attribute activeBatteryChargeFaults; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster Switch { + ram attribute numberOfPositions default = 2; + ram attribute currentPosition; + ram attribute multiPressMax default = 2; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster BooleanState { + ram attribute stateValue; + ram attribute clusterRevision default = 1; + } + + server cluster ModeSelect { + ram attribute description; + callback attribute standardNamespace; + callback attribute supportedModes default = 255; + ram attribute currentMode; + ram attribute startUpMode; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster WindowCovering { + ram attribute type; + persist attribute currentPositionLift default = 0x7FFF; + persist attribute currentPositionTilt default = 0x7FFF; + persist attribute configStatus default = 0x03; + persist attribute currentPositionLiftPercentage default = 50; + persist attribute currentPositionTiltPercentage default = 50; + ram attribute operationalStatus; + ram attribute targetPositionLiftPercent100ths default = 500; + ram attribute targetPositionTiltPercent100ths default = 500; + ram attribute endProductType; + persist attribute currentPositionLiftPercent100ths default = 500; + persist attribute currentPositionTiltPercent100ths default = 500; + persist attribute installedOpenLimitLift; + persist attribute installedClosedLimitLift default = 0xFFFF; + persist attribute installedOpenLimitTilt; + persist attribute installedClosedLimitTilt default = 0xFFFF; + persist attribute mode; + ram attribute safetyStatus; + ram attribute featureMap default = 0x17; + ram attribute clusterRevision default = 5; + } + + server cluster PumpConfigurationAndControl { + ram attribute maxPressure; + ram attribute maxSpeed; + ram attribute maxFlow; + ram attribute minConstPressure; + ram attribute maxConstPressure; + ram attribute minCompPressure; + ram attribute maxCompPressure; + ram attribute minConstSpeed; + ram attribute maxConstSpeed; + ram attribute minConstFlow; + ram attribute maxConstFlow; + ram attribute minConstTemp; + ram attribute maxConstTemp; + ram attribute pumpStatus; + ram attribute effectiveOperationMode; + ram attribute effectiveControlMode; + ram attribute capacity; + ram attribute speed; + ram attribute lifetimeRunningHours; + ram attribute power; + ram attribute lifetimeEnergyConsumed; + ram attribute operationMode; + ram attribute controlMode; + ram attribute alarmMask; + ram attribute featureMap; + ram attribute clusterRevision default = 3; + } + + server cluster Thermostat { + ram attribute localTemperature; + ram attribute absMinHeatSetpointLimit default = 0x02BC; + ram attribute absMinCoolSetpointLimit default = 0x0640; + ram attribute absMaxCoolSetpointLimit default = 0x0C80; + ram attribute occupiedCoolingSetpoint default = 0x0A28; + ram attribute occupiedHeatingSetpoint default = 0x07D0; + ram attribute minHeatSetpointLimit default = 0x02BC; + ram attribute maxHeatSetpointLimit default = 0x0BB8; + ram attribute minCoolSetpointLimit default = 0x0640; + ram attribute maxCoolSetpointLimit default = 0x0C80; + ram attribute minSetpointDeadBand default = 0x19; + ram attribute controlSequenceOfOperation default = 0x04; + ram attribute systemMode default = 0x01; + ram attribute startOfWeek; + ram attribute numberOfWeeklyTransitions default = 7; + ram attribute numberOfDailyTransitions default = 4; + ram attribute featureMap default = 0x000b; + ram attribute clusterRevision default = 5; + } + + server cluster ThermostatUserInterfaceConfiguration { + ram attribute temperatureDisplayMode; + ram attribute keypadLockout; + ram attribute scheduleProgrammingVisibility; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 2; + } + + server cluster IlluminanceMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue default = 0x01; + ram attribute maxMeasuredValue default = 0xFFFE; + ram attribute tolerance; + ram attribute lightSensorType default = 0xFF; + ram attribute clusterRevision default = 3; + } + + server cluster TemperatureMeasurement { + ram attribute measuredValue default = 0x8000; + ram attribute minMeasuredValue default = 0x8000; + ram attribute maxMeasuredValue default = 0x8000; + ram attribute clusterRevision default = 4; + } + + server cluster PressureMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute tolerance; + ram attribute scaledValue; + ram attribute minScaledValue; + ram attribute maxScaledValue; + ram attribute scaledTolerance; + ram attribute scale; + ram attribute clusterRevision default = 3; + } + + server cluster FlowMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute tolerance; + ram attribute clusterRevision default = 3; + } + + server cluster RelativeHumidityMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue default = 0x2710; + ram attribute tolerance; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + } + + server cluster TargetNavigator { + callback attribute targetList; + ram attribute currentTarget; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster KeypadInput { + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster ContentLauncher { + callback attribute acceptHeader; + ram attribute supportedStreamingProtocols; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster ApplicationBasic { + ram attribute vendorName; + ram attribute vendorID; + ram attribute applicationName; + ram attribute productID; + callback attribute application; + ram attribute status default = 0x01; + ram attribute applicationVersion; + callback attribute allowedVendorList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Basic; - server cluster ColorControl; - server cluster Groups; - server cluster Identify; - server cluster LevelControl; binding cluster OnOff; - server cluster OnOff; - server cluster Scenes; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Scenes { + ram attribute sceneCount; + ram attribute currentScene; + ram attribute currentGroup; + ram attribute sceneValid; + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster OnOff { + ram attribute onOff; + ram attribute clusterRevision default = 4; + } + + server cluster LevelControl { + ram attribute currentLevel; + ram attribute clusterRevision default = 5; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster ColorControl { + ram attribute currentX default = 0x616B; + ram attribute currentY default = 0x607D; + ram attribute colorControlOptions; + ram attribute coupleColorTempToLevelMinMireds; + ram attribute startUpColorTemperatureMireds; + ram attribute clusterRevision default = 5; + } } + diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 64c10c41a8dc78..6c37accc628c42 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -2526,58 +2526,471 @@ 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; - server cluster ModeSelect; - server cluster NetworkCommissioning; binding cluster OnOff; - server cluster OnOff; + binding cluster GeneralCommissioning; + binding cluster Switch; binding cluster OperationalCredentials; - server cluster OperationalCredentials; - server cluster PowerSource; - server cluster PowerSourceConfiguration; - server cluster PressureMeasurement; - server cluster PumpConfigurationAndControl; + binding cluster ModeSelect; + binding cluster ThermostatUserInterfaceConfiguration; + binding cluster TemperatureMeasurement; binding cluster RelativeHumidityMeasurement; - server cluster RelativeHumidityMeasurement; - server cluster SoftwareDiagnostics; - binding cluster Switch; - server cluster Switch; binding cluster TargetNavigator; - server cluster TargetNavigator; - binding cluster TemperatureMeasurement; - server cluster TemperatureMeasurement; - server cluster Thermostat; - binding cluster ThermostatUserInterfaceConfiguration; - server cluster ThermostatUserInterfaceConfiguration; - server cluster WiFiNetworkDiagnostics; - server cluster WindowCovering; + binding cluster KeypadInput; + binding cluster ContentLauncher; + binding cluster ApplicationBasic; + + server cluster OnOff { + ram attribute onOff; + ram attribute globalSceneControl default = 0x01; + ram attribute onTime; + ram attribute offWaitTime; + ram attribute startUpOnOff default = 0xFF; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster BridgedActions { + callback attribute actionList; + callback attribute endpointList; + callback attribute setupUrl; + callback attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSourceConfiguration { + callback attribute sources; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status; + ram attribute order; + ram attribute description; + ram attribute wiredAssessedInputVoltage; + ram attribute wiredAssessedInputFrequency; + ram attribute wiredCurrentType; + ram attribute wiredAssessedCurrent; + ram attribute wiredNominalVoltage; + ram attribute wiredMaximumCurrent; + ram attribute wiredPresent; + callback attribute activeWiredFaults; + ram attribute batteryVoltage; + ram attribute batteryPercentRemaining; + ram attribute batteryTimeRemaining; + ram attribute batteryChargeLevel; + ram attribute batteryReplacementNeeded; + ram attribute batteryReplaceability; + ram attribute batteryPresent; + callback attribute activeBatteryFaults; + ram attribute batteryReplacementDescription; + ram attribute batteryCommonDesignation; + ram attribute batteryANSIDesignation; + ram attribute batteryIECDesignation; + ram attribute batteryApprovedChemistry; + ram attribute batteryCapacity; + ram attribute batteryQuantity; + ram attribute batteryChargeState; + ram attribute batteryTimeToFullCharge; + ram attribute batteryFunctionalWhileCharging; + ram attribute batteryChargingCurrent; + callback attribute activeBatteryChargeFaults; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster Switch { + ram attribute numberOfPositions default = 2; + ram attribute currentPosition; + ram attribute multiPressMax default = 2; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster BooleanState { + ram attribute stateValue; + ram attribute clusterRevision default = 1; + } + + server cluster ModeSelect { + ram attribute description; + callback attribute standardNamespace; + callback attribute supportedModes default = 255; + ram attribute currentMode; + ram attribute startUpMode; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster WindowCovering { + ram attribute type; + persist attribute currentPositionLift default = 0x7FFF; + persist attribute currentPositionTilt default = 0x7FFF; + persist attribute configStatus default = 0x03; + persist attribute currentPositionLiftPercentage default = 50; + persist attribute currentPositionTiltPercentage default = 50; + ram attribute operationalStatus; + ram attribute targetPositionLiftPercent100ths default = 500; + ram attribute targetPositionTiltPercent100ths default = 500; + ram attribute endProductType; + persist attribute currentPositionLiftPercent100ths default = 500; + persist attribute currentPositionTiltPercent100ths default = 500; + persist attribute installedOpenLimitLift; + persist attribute installedClosedLimitLift default = 0xFFFF; + persist attribute installedOpenLimitTilt; + persist attribute installedClosedLimitTilt default = 0xFFFF; + persist attribute mode; + ram attribute safetyStatus; + ram attribute featureMap default = 0x17; + ram attribute clusterRevision default = 5; + } + + server cluster PumpConfigurationAndControl { + ram attribute maxPressure; + ram attribute maxSpeed; + ram attribute maxFlow; + ram attribute minConstPressure; + ram attribute maxConstPressure; + ram attribute minCompPressure; + ram attribute maxCompPressure; + ram attribute minConstSpeed; + ram attribute maxConstSpeed; + ram attribute minConstFlow; + ram attribute maxConstFlow; + ram attribute minConstTemp; + ram attribute maxConstTemp; + ram attribute pumpStatus; + ram attribute effectiveOperationMode; + ram attribute effectiveControlMode; + ram attribute capacity; + ram attribute speed; + ram attribute lifetimeRunningHours; + ram attribute power; + ram attribute lifetimeEnergyConsumed; + ram attribute operationMode; + ram attribute controlMode; + ram attribute alarmMask; + ram attribute featureMap; + ram attribute clusterRevision default = 3; + } + + server cluster Thermostat { + ram attribute localTemperature; + ram attribute absMinHeatSetpointLimit default = 0x02BC; + ram attribute absMinCoolSetpointLimit default = 0x0640; + ram attribute absMaxCoolSetpointLimit default = 0x0C80; + ram attribute occupiedCoolingSetpoint default = 0x0A28; + ram attribute occupiedHeatingSetpoint default = 0x07D0; + ram attribute minHeatSetpointLimit default = 0x02BC; + ram attribute maxHeatSetpointLimit default = 0x0BB8; + ram attribute minCoolSetpointLimit default = 0x0640; + ram attribute maxCoolSetpointLimit default = 0x0C80; + ram attribute minSetpointDeadBand default = 0x19; + ram attribute controlSequenceOfOperation default = 0x04; + ram attribute systemMode default = 0x01; + ram attribute startOfWeek; + ram attribute numberOfWeeklyTransitions default = 7; + ram attribute numberOfDailyTransitions default = 4; + ram attribute featureMap default = 0x000b; + ram attribute clusterRevision default = 5; + } + + server cluster ThermostatUserInterfaceConfiguration { + ram attribute temperatureDisplayMode; + ram attribute keypadLockout; + ram attribute scheduleProgrammingVisibility; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 2; + } + + server cluster IlluminanceMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue default = 0x01; + ram attribute maxMeasuredValue default = 0xFFFE; + ram attribute tolerance; + ram attribute lightSensorType default = 0xFF; + ram attribute clusterRevision default = 3; + } + + server cluster TemperatureMeasurement { + ram attribute measuredValue default = 0x8000; + ram attribute minMeasuredValue default = 0x8000; + ram attribute maxMeasuredValue default = 0x8000; + ram attribute clusterRevision default = 4; + } + + server cluster PressureMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute tolerance; + ram attribute scaledValue; + ram attribute minScaledValue; + ram attribute maxScaledValue; + ram attribute scaledTolerance; + ram attribute scale; + ram attribute clusterRevision default = 3; + } + + server cluster FlowMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute tolerance; + ram attribute clusterRevision default = 3; + } + + server cluster RelativeHumidityMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue default = 0x2710; + ram attribute tolerance; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + } + + server cluster TargetNavigator { + callback attribute targetList; + ram attribute currentTarget; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster KeypadInput { + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster ContentLauncher { + callback attribute acceptHeader; + ram attribute supportedStreamingProtocols; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster ApplicationBasic { + ram attribute vendorName; + ram attribute vendorID; + ram attribute applicationName; + ram attribute productID; + callback attribute application; + ram attribute status default = 0x01; + ram attribute applicationVersion; + callback attribute allowedVendorList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Basic; - server cluster ColorControl; - server cluster Groups; - server cluster Identify; - server cluster LevelControl; binding cluster OnOff; - server cluster OnOff; - server cluster Scenes; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Scenes { + ram attribute sceneCount; + ram attribute currentScene; + ram attribute currentGroup; + ram attribute sceneValid; + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster OnOff { + ram attribute onOff; + ram attribute clusterRevision default = 4; + } + + server cluster LevelControl { + ram attribute currentLevel; + ram attribute clusterRevision default = 5; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster ColorControl { + ram attribute currentX default = 0x616B; + ram attribute currentY default = 0x607D; + ram attribute colorControlOptions; + ram attribute coupleColorTempToLevelMinMireds; + ram attribute startUpColorTemperatureMireds; + ram attribute clusterRevision default = 5; + } } + diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index b53a534ed1ee49..aee824c7ac3520 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -1568,41 +1568,368 @@ server cluster UserLabel = 65 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster Groups; - server cluster Identify; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster Scenes; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster Scenes { + ram attribute sceneCount; + ram attribute currentScene; + ram attribute currentGroup; + ram attribute sceneValid; + ram attribute nameSupport; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + ram attribute featureMap; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + ram attribute updatePossible default = 1; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + ram attribute maxGroupsPerFabric; + ram attribute maxGroupKeysPerFabric; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Descriptor; + binding cluster TemperatureMeasurement; + binding cluster PressureMeasurement; binding cluster FlowMeasurement; - server cluster FlowMeasurement; - server cluster LevelControl; binding cluster OccupancySensing; - server cluster OnOff; - binding cluster PressureMeasurement; - server cluster PressureMeasurement; - server cluster PumpConfigurationAndControl; - binding cluster TemperatureMeasurement; - server cluster TemperatureMeasurement; + + server cluster OnOff { + ram attribute onOff; + ram attribute globalSceneControl default = 1; + ram attribute onTime; + ram attribute offWaitTime; + ram attribute startUpOnOff; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster LevelControl { + ram attribute currentLevel; + ram attribute remainingTime; + ram attribute minLevel; + ram attribute maxLevel default = 0xFE; + ram attribute currentFrequency; + ram attribute minFrequency; + ram attribute maxFrequency; + ram attribute options; + ram attribute onOffTransitionTime; + ram attribute onLevel default = 0xFE; + ram attribute onTransitionTime; + ram attribute offTransitionTime; + ram attribute defaultMoveRate; + ram attribute startUpCurrentLevel; + ram attribute featureMap; + ram attribute clusterRevision default = 5; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + ram attribute featureMap; + callback attribute clusterRevision default = 1; + } + + server cluster PumpConfigurationAndControl { + ram attribute maxPressure; + ram attribute maxSpeed; + ram attribute maxFlow; + ram attribute minConstPressure; + ram attribute maxConstPressure; + ram attribute minCompPressure; + ram attribute maxCompPressure; + ram attribute minConstSpeed; + ram attribute maxConstSpeed; + ram attribute minConstFlow; + ram attribute maxConstFlow; + ram attribute minConstTemp; + ram attribute maxConstTemp; + ram attribute pumpStatus; + ram attribute effectiveOperationMode; + ram attribute effectiveControlMode; + ram attribute capacity; + ram attribute speed; + ram attribute lifetimeRunningHours; + ram attribute power; + ram attribute lifetimeEnergyConsumed; + ram attribute operationMode; + ram attribute controlMode; + ram attribute alarmMask; + ram attribute featureMap; + ram attribute clusterRevision default = 3; + } + + server cluster TemperatureMeasurement { + ram attribute measuredValue default = 0x8000; + ram attribute minMeasuredValue default = 0x8000; + ram attribute maxMeasuredValue default = 0x8000; + ram attribute tolerance; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster PressureMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute tolerance; + ram attribute scaledValue; + ram attribute minScaledValue; + ram attribute maxScaledValue; + ram attribute scaledTolerance; + ram attribute scale; + ram attribute featureMap; + ram attribute clusterRevision default = 3; + } + + server cluster FlowMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute tolerance; + ram attribute featureMap; + ram attribute clusterRevision default = 3; + } } + diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter index 2ca79763868faf..f238cb32b2ed9e 100644 --- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter +++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter @@ -1295,35 +1295,275 @@ server cluster UserLabel = 65 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster Groups; - server cluster Identify; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + ram attribute updatePossible default = true; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + ram attribute maxGroupsPerFabric; + ram attribute maxGroupKeysPerFabric; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Descriptor; - binding cluster FlowMeasurement; binding cluster OnOff; - binding cluster PressureMeasurement; binding cluster PumpConfigurationAndControl; binding cluster TemperatureMeasurement; + binding cluster PressureMeasurement; + binding cluster FlowMeasurement; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + ram attribute featureMap; + callback attribute clusterRevision default = 1; + } } + diff --git a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter index 13b2413d272ab4..1f6127c8bff459 100644 --- a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter +++ b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter @@ -744,27 +744,188 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; - server cluster OperationalCredentials; - server cluster SoftwareDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Descriptor; - server cluster TemperatureMeasurement; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster TemperatureMeasurement { + ram attribute measuredValue default = 0x8000; + ram attribute minMeasuredValue default = 0x8000; + ram attribute maxMeasuredValue default = 0x8000; + ram attribute clusterRevision default = 4; + } } + diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index 1d50c6e88ce39a..69353934349c07 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -1361,36 +1361,331 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Binding; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster Identify; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; - server cluster OtaSoftwareUpdateProvider; - server cluster OperationalCredentials; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Identify { + ram attribute identifyTime; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateProvider { + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Basic; - server cluster Groups; binding cluster Identify; - server cluster Identify; - server cluster Scenes; - server cluster Thermostat; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Scenes { + ram attribute sceneCount; + ram attribute currentScene; + ram attribute currentGroup; + ram attribute sceneValid; + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster Thermostat { + ram attribute localTemperature; + ram attribute absMinHeatSetpointLimit default = 700; + ram attribute absMaxHeatSetpointLimit default = 3000; + ram attribute absMinCoolSetpointLimit default = 1600; + ram attribute absMaxCoolSetpointLimit default = 3200; + ram attribute occupiedCoolingSetpoint default = 0x0A28; + ram attribute occupiedHeatingSetpoint default = 0x07D0; + ram attribute minHeatSetpointLimit default = 700; + ram attribute maxHeatSetpointLimit default = 3000; + ram attribute minCoolSetpointLimit default = 1600; + ram attribute maxCoolSetpointLimit default = 3200; + ram attribute minSetpointDeadBand default = 0x19; + ram attribute controlSequenceOfOperation default = 0x04; + ram attribute systemMode default = 0x01; + ram attribute startOfWeek; + ram attribute numberOfWeeklyTransitions default = 7; + ram attribute numberOfDailyTransitions default = 4; + ram attribute featureMap default = 0x000b; + ram attribute clusterRevision default = 5; + } } + diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index 1562faaa7cddc1..82ec663bba2c50 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -1995,70 +1995,470 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; binding cluster Binding; - server cluster Binding; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; binding cluster GeneralCommissioning; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster LocalizationConfiguration; binding cluster NetworkCommissioning; - server cluster NetworkCommissioning; - server cluster OtaSoftwareUpdateProvider; binding cluster OperationalCredentials; - server cluster OperationalCredentials; - server cluster RelativeHumidityMeasurement; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateProvider { + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster RelativeHumidityMeasurement { + ram attribute measuredValue; + ram attribute minMeasuredValue; + ram attribute maxMeasuredValue; + ram attribute clusterRevision default = 2; + } } endpoint 1 { - server cluster ApplicationLauncher; - server cluster Channel; - server cluster ContentLauncher; - server cluster Descriptor; - server cluster KeypadInput; - server cluster LowPower; - server cluster MediaInput; - server cluster OnOff; - server cluster TargetNavigator; - server cluster WakeOnLan; + + server cluster OnOff { + ram attribute onOff; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster WakeOnLan { + ram attribute MACAddress; + ram attribute clusterRevision default = 1; + } + + server cluster Channel { + callback attribute channelList; + callback attribute lineup; + callback attribute currentChannel; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 1; + } + + server cluster TargetNavigator { + callback attribute targetList; + ram attribute currentTarget; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 1; + } + + server cluster MediaInput { + callback attribute inputList; + ram attribute currentInput; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 1; + } + + server cluster LowPower { + ram attribute clusterRevision default = 1; + } + + server cluster KeypadInput { + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 1; + } + + server cluster ContentLauncher { + callback attribute acceptHeader; + ram attribute supportedStreamingProtocols; + ram attribute clusterRevision default = 1; + } + + server cluster ApplicationLauncher { + callback attribute catalogList; + callback attribute currentApp; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 1; + } } endpoint 2 { - server cluster AudioOutput; - server cluster Descriptor; - server cluster LevelControl; - server cluster OnOff; + + server cluster OnOff { + ram attribute onOff; + ram attribute clusterRevision default = 4; + } + + server cluster LevelControl { + persist attribute currentLevel; + ram attribute remainingTime; + ram attribute minLevel; + ram attribute maxLevel default = 0xFF; + ram attribute currentFrequency; + ram attribute minFrequency; + ram attribute maxFrequency; + ram attribute options; + ram attribute onOffTransitionTime; + ram attribute onLevel default = 0xFE; + ram attribute onTransitionTime; + ram attribute offTransitionTime; + ram attribute defaultMoveRate; + persist attribute startUpCurrentLevel default = 255; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 5; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster AudioOutput { + callback attribute outputList; + ram attribute currentOutput; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 1; + } } endpoint 3 { - server cluster AccountLogin; - server cluster ApplicationBasic; - server cluster ContentLauncher; - server cluster Descriptor; - server cluster MediaPlayback; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster MediaPlayback { + ram attribute currentState; + ram attribute startTime default = 0xFF; + ram attribute duration; + callback attribute sampledPosition; + ram attribute playbackSpeed; + ram attribute seekRangeEnd; + ram attribute seekRangeStart; + ram attribute clusterRevision default = 1; + } + + server cluster ContentLauncher { + callback attribute acceptHeader; + ram attribute supportedStreamingProtocols; + ram attribute featureMap default = 0x0001; + ram attribute clusterRevision default = 1; + } + + server cluster ApplicationBasic { + ram attribute vendorName; + ram attribute vendorID; + ram attribute applicationName; + ram attribute productID; + callback attribute application; + ram attribute status; + ram attribute applicationVersion; + callback attribute allowedVendorList; + ram attribute clusterRevision default = 1; + } + + server cluster AccountLogin { + ram attribute clusterRevision default = 1; + } } endpoint 4 { - server cluster ApplicationBasic; - server cluster ContentLauncher; - server cluster Descriptor; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster ContentLauncher { + callback attribute acceptHeader; + ram attribute supportedStreamingProtocols; + ram attribute clusterRevision default = 1; + } + + server cluster ApplicationBasic { + ram attribute vendorName; + ram attribute vendorID; + ram attribute applicationName; + ram attribute productID; + callback attribute application; + ram attribute status; + ram attribute applicationVersion; + callback attribute allowedVendorList; + ram attribute clusterRevision default = 1; + } } endpoint 5 { - server cluster ApplicationBasic; - server cluster Descriptor; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster ApplicationBasic { + ram attribute vendorName; + ram attribute vendorID; + ram attribute applicationName; + ram attribute productID; + callback attribute application; + ram attribute status; + ram attribute applicationVersion; + ram attribute clusterRevision default = 1; + } } + diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 3acb85f9f9b48b..53fb87f29f9acd 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -2173,61 +2173,412 @@ server cluster WiFiNetworkDiagnostics = 54 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Binding; - server cluster Descriptor; - server cluster DiagnosticLogs; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; - server cluster OtaSoftwareUpdateProvider; - server cluster OperationalCredentials; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateProvider { + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + persist attribute temperatureUnit; + ram attribute featureMap default = 0x1; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster DiagnosticLogs { + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - binding cluster AccountLogin; - binding cluster ApplicationBasic; - binding cluster ApplicationLauncher; - binding cluster AudioOutput; - server cluster BarrierControl; - server cluster BinaryInputBasic; - server cluster Binding; - binding cluster Channel; - binding cluster ContentLauncher; - binding cluster Descriptor; - server cluster Descriptor; - server cluster FixedLabel; - server cluster Groups; - server cluster IasZone; - server cluster Identify; - binding cluster KeypadInput; - binding cluster LevelControl; - server cluster LevelControl; - binding cluster MediaInput; - binding cluster MediaPlayback; binding cluster OnOff; - server cluster OnOff; - server cluster Scenes; - server cluster Switch; + binding cluster LevelControl; + binding cluster Descriptor; + binding cluster Channel; binding cluster TargetNavigator; - server cluster TestCluster; - server cluster WakeOnLan; + binding cluster MediaPlayback; + binding cluster MediaInput; + binding cluster KeypadInput; + binding cluster ContentLauncher; + binding cluster AudioOutput; + binding cluster ApplicationLauncher; + binding cluster ApplicationBasic; + binding cluster AccountLogin; + + server cluster Identify { + ram attribute identifyTime; + ram attribute clusterRevision default = 4; + } + + server cluster Groups { + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster Scenes { + ram attribute sceneCount; + ram attribute currentScene; + ram attribute currentGroup; + ram attribute sceneValid; + ram attribute nameSupport; + ram attribute clusterRevision default = 4; + } + + server cluster OnOff { + ram attribute onOff; + ram attribute globalSceneControl default = 0x01; + ram attribute onTime; + ram attribute offWaitTime; + ram attribute startUpOnOff; + ram attribute featureMap; + ram attribute clusterRevision default = 4; + } + + server cluster LevelControl { + persist attribute currentLevel; + ram attribute remainingTime; + ram attribute minLevel; + ram attribute maxLevel default = 0xFF; + ram attribute currentFrequency; + ram attribute minFrequency; + ram attribute maxFrequency; + ram attribute options; + ram attribute onOffTransitionTime; + ram attribute onLevel default = 0xFE; + ram attribute onTransitionTime; + ram attribute offTransitionTime; + ram attribute defaultMoveRate; + persist attribute startUpCurrentLevel default = 255; + ram attribute clusterRevision default = 5; + } + + server cluster BinaryInputBasic { + ram attribute outOfService; + ram attribute presentValue; + ram attribute statusFlags; + ram attribute clusterRevision default = 1; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster Binding { + callback attribute binding; + ram attribute clusterRevision default = 1; + } + + server cluster Switch { + ram attribute numberOfPositions default = 2; + ram attribute currentPosition; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster BarrierControl { + ram attribute barrierMovingState; + ram attribute barrierSafetyStatus; + ram attribute barrierCapabilities; + ram attribute barrierPosition; + ram attribute clusterRevision default = 1; + } + + server cluster IasZone { + ram attribute zoneState; + ram attribute zoneType; + ram attribute zoneStatus; + ram attribute iasCieAddress; + ram attribute zoneId default = 0xff; + ram attribute clusterRevision default = 2; + } + + server cluster WakeOnLan { + ram attribute MACAddress; + ram attribute clusterRevision default = 1; + } + + server cluster TestCluster { + ram attribute boolean; + ram attribute bitmap8; + ram attribute bitmap16; + ram attribute bitmap32; + ram attribute bitmap64; + ram attribute int8u; + ram attribute int16u; + ram attribute int32u; + ram attribute int64u; + ram attribute int8s; + ram attribute int16s; + ram attribute int32s; + ram attribute int64s; + ram attribute enum8; + ram attribute enum16; + ram attribute octetString; + callback attribute listInt8u; + callback attribute listOctetString; + callback attribute listStructOctetString; + ram attribute longOctetString; + ram attribute clusterRevision default = 1; + } } endpoint 2 { - server cluster Descriptor; - server cluster OnOff; + + server cluster OnOff { + ram attribute onOff; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } } + diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter index b66d6b9d60ace2..ce2524751097f6 100644 --- a/examples/window-app/common/window-app.matter +++ b/examples/window-app/common/window-app.matter @@ -1373,37 +1373,376 @@ server cluster WindowCovering = 258 { endpoint 0 { - server cluster AccessControl; - server cluster AdministratorCommissioning; - server cluster Basic; - server cluster Descriptor; - server cluster EthernetNetworkDiagnostics; - server cluster FixedLabel; - server cluster GeneralCommissioning; - server cluster GeneralDiagnostics; - server cluster GroupKeyManagement; - server cluster LocalizationConfiguration; - server cluster NetworkCommissioning; binding cluster OtaSoftwareUpdateProvider; - server cluster OtaSoftwareUpdateRequestor; - server cluster OperationalCredentials; - server cluster PowerSource; - server cluster SoftwareDiagnostics; - server cluster ThreadNetworkDiagnostics; - server cluster TimeFormatLocalization; - server cluster UnitLocalization; - server cluster UserLabel; - server cluster WiFiNetworkDiagnostics; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry default = 4; + callback attribute targetsPerAccessControlEntry default = 3; + callback attribute accessControlEntriesPerFabric default = 3; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster Basic { + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion; + callback attribute hardwareVersionString; + callback attribute softwareVersion; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled; + ram attribute reachable default = 1; + callback attribute uniqueID; + callback attribute capabilityMinima; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + callback attribute defaultOtaProviders; + ram attribute updatePossible default = 1; + ram attribute updateState; + ram attribute updateStateProgress; + ram attribute clusterRevision default = 1; + } + + server cluster LocalizationConfiguration { + persist attribute activeLocale default = "en-US"; + callback attribute supportedLocales; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster TimeFormatLocalization { + persist attribute hourFormat; + persist attribute activeCalendarType; + callback attribute supportedCalendarTypes; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster UnitLocalization { + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster PowerSource { + ram attribute status; + ram attribute order; + ram attribute description; + ram attribute batteryVoltage; + ram attribute batteryPercentRemaining; + ram attribute batteryTimeRemaining; + ram attribute batteryChargeLevel; + callback attribute activeBatteryFaults; + ram attribute batteryChargeState; + ram attribute featureMap; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb; + callback attribute basicCommissioningInfo; + ram attribute regulatoryConfig; + ram attribute locationCapability; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap default = 6; + ram attribute clusterRevision default = 1; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap default = 2; + ram attribute clusterRevision default = 1; + } + + server cluster GeneralDiagnostics { + callback attribute networkInterfaces; + callback attribute rebootCount; + callback attribute upTime; + callback attribute totalOperationalHours; + callback attribute bootReasons; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster SoftwareDiagnostics { + callback attribute threadMetrics; + callback attribute currentHeapFree; + callback attribute currentHeapUsed; + callback attribute currentHeapHighWatermark; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 1; + } + + server cluster ThreadNetworkDiagnostics { + ram attribute channel; + ram attribute routingRole; + ram attribute networkName; + ram attribute panId; + ram attribute extendedPanId; + ram attribute meshLocalPrefix; + ram attribute overrunCount; + callback attribute neighborTableList; + callback attribute routeTableList; + ram attribute partitionId; + ram attribute weighting; + ram attribute dataVersion; + ram attribute stableDataVersion; + ram attribute leaderRouterId; + ram attribute detachedRoleCount; + ram attribute childRoleCount; + ram attribute routerRoleCount; + ram attribute leaderRoleCount; + ram attribute attachAttemptCount; + ram attribute partitionIdChangeCount; + ram attribute betterPartitionAttachAttemptCount; + ram attribute parentChangeCount; + ram attribute txTotalCount; + ram attribute txUnicastCount; + ram attribute txBroadcastCount; + ram attribute txAckRequestedCount; + ram attribute txAckedCount; + ram attribute txNoAckRequestedCount; + ram attribute txDataCount; + ram attribute txDataPollCount; + ram attribute txBeaconCount; + ram attribute txBeaconRequestCount; + ram attribute txOtherCount; + ram attribute txRetryCount; + ram attribute txDirectMaxRetryExpiryCount; + ram attribute txIndirectMaxRetryExpiryCount; + ram attribute txErrCcaCount; + ram attribute txErrAbortCount; + ram attribute txErrBusyChannelCount; + ram attribute rxTotalCount; + ram attribute rxUnicastCount; + ram attribute rxBroadcastCount; + ram attribute rxDataCount; + ram attribute rxDataPollCount; + ram attribute rxBeaconCount; + ram attribute rxBeaconRequestCount; + ram attribute rxOtherCount; + ram attribute rxAddressFilteredCount; + ram attribute rxDestAddrFilteredCount; + ram attribute rxDuplicatedCount; + ram attribute rxErrNoFrameCount; + ram attribute rxErrUnknownNeighborCount; + ram attribute rxErrInvalidSrcAddrCount; + ram attribute rxErrSecCount; + ram attribute rxErrFcsCount; + ram attribute rxErrOtherCount; + ram attribute activeTimestamp; + ram attribute pendingTimestamp; + ram attribute delay; + callback attribute securityPolicy; + ram attribute channelMask; + callback attribute operationalDatasetComponents; + callback attribute activeNetworkFaultsList; + ram attribute featureMap default = 0x000F; + ram attribute clusterRevision default = 1; + } + + server cluster WiFiNetworkDiagnostics { + callback attribute bssid; + callback attribute securityType; + callback attribute wiFiVersion; + callback attribute channelNumber; + callback attribute rssi; + callback attribute beaconLostCount; + callback attribute beaconRxCount; + callback attribute packetMulticastRxCount; + callback attribute packetMulticastTxCount; + callback attribute packetUnicastRxCount; + callback attribute packetUnicastTxCount; + callback attribute currentMaxRate; + callback attribute overrunCount; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster EthernetNetworkDiagnostics { + callback attribute PHYRate; + callback attribute fullDuplex; + callback attribute packetRxCount; + callback attribute packetTxCount; + callback attribute txErrCount; + callback attribute collisionCount; + callback attribute overrunCount; + callback attribute carrierDetect; + callback attribute timeSinceReset; + ram attribute featureMap default = 3; + ram attribute clusterRevision default = 1; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + ram attribute supportedFabrics; + ram attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + ram attribute maxGroupsPerFabric; + ram attribute maxGroupKeysPerFabric; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute clusterRevision default = 1; + } + + server cluster FixedLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } + + server cluster UserLabel { + callback attribute labelList; + ram attribute clusterRevision default = 1; + } } endpoint 1 { - server cluster Descriptor; - server cluster Identify; - server cluster WindowCovering; + + server cluster Identify { + ram attribute identifyTime; + ram attribute identifyType; + ram attribute clusterRevision default = 4; + } + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster WindowCovering { + ram attribute type; + persist attribute currentPositionLift; + persist attribute currentPositionTilt; + persist attribute configStatus default = 0x03; + persist attribute currentPositionLiftPercentage; + persist attribute currentPositionTiltPercentage; + ram attribute operationalStatus; + ram attribute targetPositionLiftPercent100ths; + ram attribute targetPositionTiltPercent100ths; + ram attribute endProductType; + persist attribute currentPositionLiftPercent100ths; + persist attribute currentPositionTiltPercent100ths; + persist attribute installedOpenLimitLift; + persist attribute installedClosedLimitLift default = 0xFFFF; + persist attribute installedOpenLimitTilt; + persist attribute installedClosedLimitTilt default = 0xFFFF; + persist attribute mode default = 0x14; + ram attribute safetyStatus; + ram attribute featureMap default = 0x0017; + ram attribute clusterRevision default = 5; + } } endpoint 2 { - server cluster Descriptor; - server cluster WindowCovering; + + server cluster Descriptor { + callback attribute deviceList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute clusterRevision default = 1; + } + + server cluster WindowCovering { + ram attribute type; + persist attribute currentPositionLift; + persist attribute currentPositionTilt; + persist attribute configStatus default = 0x03; + persist attribute currentPositionLiftPercentage; + persist attribute currentPositionTiltPercentage; + ram attribute operationalStatus; + ram attribute targetPositionLiftPercent100ths; + ram attribute targetPositionTiltPercent100ths; + ram attribute endProductType; + persist attribute currentPositionLiftPercent100ths; + persist attribute currentPositionTiltPercent100ths; + persist attribute installedOpenLimitLift; + persist attribute installedClosedLimitLift default = 0xFFFF; + persist attribute installedOpenLimitTilt; + persist attribute installedClosedLimitTilt default = 0xFFFF; + persist attribute mode; + ram attribute safetyStatus; + ram attribute featureMap default = 0x0017; + ram attribute clusterRevision default = 5; + } } + diff --git a/scripts/idl/README.md b/scripts/idl/README.md index 66aa7803dd54e8..3e67ba20d90724 100644 --- a/scripts/idl/README.md +++ b/scripts/idl/README.md @@ -97,24 +97,6 @@ server cluster AccessControl = 31 { // attributes may be read-only as well readonly attribute int16u clusterRevision = 65533; - // Code-gen specific information for storage can be added as a keyword list - // after the attribute number. Specifically these are supported - // - `callback` is the equivalent of EXTERNAL in ember/zap, which means - // the value does not have a RAM backing store (use callbacks for get/set) - // - `persist` is the equivalent of NVM in ember/zap, which means - // the value will be persisted to storage when written (boot-time restores - // any set value) - // - `default` is supported to set a default value in RAM-based attribute store - // - // Not all combination of values are compatible. In particular: - // - `callback` is incompatible with `default` or `persist` as all value - // computation is deferred to the app. - readonly attribute int16u usingExternalAccess = 10 [callback]; - readonly attribute int16u isPersisted = 10 [persist]; - readonly attribute int16u hasDefaultValue = 11 [default=123]; - readonly attribute char_string<16> defaultStringValue = 12 [default="abc"]; - - // Commands have spec-defined numbers which are used for over-the-wire // invocation. // @@ -171,7 +153,23 @@ endpoint 0 { // A server cluster is a server that gets exposed to the world. // // As an example, a light bulb may expose a OnOff cluster. - server cluster OtaSoftwareUpdateRequestor; + server cluster OtaSoftwareUpdateRequestor { + + // Each endpoint server cluster instantiations will have individual + // attributes chosen for storage/defaults + // + // If no storage default is given, the value is initialized with 0/false/empty + // + // Defaults are currently only supported for primitive types (i.e. not + // list/struct/array, but supports strings) + + ram attribute zeroInit; // initialized with 0. + ram attribute stringDefault default="abc"; // Strings can have defaults. + ram attribute boolDefault default=true; // bools can have defaults. + ram attribute inRam default=123; // stored in RAM, lost on reboot. + persist attribute persist; // persisted in NVM across reboot. + callback attribute usesCallback; // the zap/ember 'EXTERNAL' callback. + } } ``` diff --git a/scripts/idl/matter_grammar.lark b/scripts/idl/matter_grammar.lark index b77884673f6cdc..41db12546dc59a 100644 --- a/scripts/idl/matter_grammar.lark +++ b/scripts/idl/matter_grammar.lark @@ -14,7 +14,7 @@ event_access: "access" "(" ("read" ":" access_privilege)? ")" event_with_access: "event" event_access? id -event: event_priority event_with_access "=" number "{" (struct_field ";")* "}" +event: event_priority event_with_access "=" positive_integer "{" (struct_field ";")* "}" ?event_priority: "critical"i -> critical_priority | "info"i -> info_priority @@ -22,26 +22,18 @@ event: event_priority event_with_access "=" number "{" (struct_field ";")* "}" attribute_access_entry: attribute_access_type ":" access_privilege -default_value: "default"i "=" (number | ESCAPED_STRING) - -attribute_is_callback: "callback"i -attribute_is_persist: "persist"i -?single_attribute_trait: attribute_is_callback | attribute_is_persist | default_value - -attribute_traits: "[" single_attribute_trait ("," single_attribute_trait)* "]" - attribute_access: "access"i "(" (attribute_access_entry ("," attribute_access_entry)* )? ")" attribute_with_access: attribute_access? struct_field -attribute: attribute_tag* "attribute"i attribute_with_access attribute_traits? ";" +attribute: attribute_tag* "attribute"i attribute_with_access ";" attribute_tag: "readonly"i -> attr_readonly | "nosubscribe"i -> attr_nosubscribe request_struct: "request"i struct // Response structures must have a response id -response_struct: "response"i "struct"i id "=" number "{" (struct_field ";") * "}" +response_struct: "response"i "struct"i id "=" positive_integer "{" (struct_field ";") * "}" command_attribute: "timed"i -> timed_command command_attributes: command_attribute* @@ -51,30 +43,43 @@ command_access: "access"i "(" ("invoke"i ":" access_privilege)? ")" command_with_access: "command"i command_access? id -command: command_attributes command_with_access "(" id? ")" ":" id "=" number ";" +command: command_attributes command_with_access "(" id? ")" ":" id "=" positive_integer ";" -cluster: cluster_side "cluster"i id "=" number "{" (enum|bitmap|event|attribute|struct|request_struct|response_struct|command)* "}" +cluster: cluster_side "cluster"i id "=" positive_integer "{" (enum|bitmap|event|attribute|struct|request_struct|response_struct|command)* "}" ?cluster_side: "server"i -> server_cluster | "client"i -> client_cluster -endpoint: "endpoint"i number "{" endpoint_cluster* "}" -endpoint_cluster: endpoint_cluster_type "cluster"i id ";" +endpoint: "endpoint"i positive_integer "{" endpoint_cluster* "}" +?endpoint_cluster: endpoint_cluster_binding | endpoint_server_cluster + +endpoint_cluster_binding: "binding"i "cluster"i id ";" +endpoint_server_cluster: "server"i "cluster"i id "{" endpoint_attribute_instantiation* "}" + +endpoint_attribute_storage: "ram"i -> ram_attribute + | "persist"i -> persist_attribute + | "callback"i -> callback_attribute + +endpoint_attribute_instantiation: endpoint_attribute_storage "attribute"i id default_value? ";" + +bool_default: "true"i -> bool_default_true + | "false"i -> bool_default_false +?default_value: "default"i "=" (integer | ESCAPED_STRING | bool_default) -?endpoint_cluster_type: "server"i -> endpoint_server_cluster - | "binding"i -> endpoint_binding_to_cluster +constant_entry: id "=" positive_integer ";" +positive_integer: POSITIVE_INTEGER | HEX_INTEGER +negative_integer: "-" positive_integer -constant_entry: id "=" number ";" -number: POSITIVE_INTEGER | HEX_INTEGER +integer: positive_integer | negative_integer struct_field: member_attribute* field member_attribute: "optional"i -> optional | "nullable"i -> nullable -field: data_type id list_marker? "=" number +field: data_type id list_marker? "=" positive_integer list_marker: "[" "]" -data_type: type ("<" number ">")? +data_type: type ("<" positive_integer ">")? id: ID type: ID diff --git a/scripts/idl/matter_idl_parser.py b/scripts/idl/matter_idl_parser.py index 24a6df09a522df..3531c94495de2c 100755 --- a/scripts/idl/matter_idl_parser.py +++ b/scripts/idl/matter_idl_parser.py @@ -15,28 +15,28 @@ from matter_idl_types import * -class AttributeTransformDefaultValue: - def __init__(self, value): - self.value = value - - def __call__(self, attr): - attr.default = self.value +class AddServerClusterToEndpointTransform: + """Provides an 'apply' method that can be run on endpoints + to add a server cluster to the given endpoint. + """ + def __init__(self, cluster: ServerClusterInstantiation): + self.cluster = cluster -class AttributeTransformSetCallback: - def __init__(self): - pass + def apply(self, endpoint): + endpoint.server_clusters.append(self.cluster) - def __call__(self, attr): - attr.tags.add(AttributeTag.CALLBACK) +class AddBindingToEndpointTransform: + """Provides an 'apply' method that can be run on endpoints + to add a cluster binding to the given endpoint. + """ -class AttributeTransformSetPersisted: - def __init__(self): - pass + def __init__(self, name): + self.name = name - def __call__(self, attr): - attr.tags.add(AttributeTag.PERSIST) + def apply(self, endpoint): + endpoint.client_bindings.append(self.name) class MatterIdlTransformer(Transformer): @@ -65,7 +65,7 @@ class MatterIdlTransformer(Transformer): """ - def number(self, tokens): + def positive_integer(self, tokens): """Numbers in the grammar are integers or hex numbers. """ if len(tokens) != 1: @@ -77,6 +77,20 @@ def number(self, tokens): else: return int(n) + @v_args(inline=True) + def negative_integer(self, value): + return -value + + @v_args(inline=True) + def integer(self, value): + return value + + def bool_default_true(self, _): + return True + + def bool_default_false(self, _): + return False + def id(self, tokens): """An id is a string containing an identifier """ @@ -140,12 +154,6 @@ def info_priority(self, _): def debug_priority(self, _): return EventPriority.DEBUG - def endpoint_server_cluster(self, _): - return EndpointContentType.SERVER_CLUSTER - - def endpoint_binding_to_cluster(self, _): - return EndpointContentType.CLIENT_BINDING - def timed_command(self, _): return CommandAttribute.TIMED_INVOKE @@ -251,39 +259,26 @@ def attribute_with_access(self, args): return (args[-1], acl) - def ESCAPED_STRING(self, s): - # handle escapes, skip the start and end quotes - return s.value[1:-1].encode('utf-8').decode('unicode-escape') + def ram_attribute(self, _): + return AttributeStorage.RAM - @v_args(inline=True) - def default_value(self, value): - return AttributeTransformDefaultValue(value) + def persist_attribute(self, _): + return AttributeStorage.PERSIST - @v_args(inline=True) - def attribute_is_callback(self): - return AttributeTransformSetCallback() + def callback_attribute(self, _): + return AttributeStorage.CALLBACK @v_args(inline=True) - def attribute_is_persist(self): - return AttributeTransformSetPersisted() + def endpoint_attribute_instantiation(self, storage, id, default=None): + return AttributeInstantiation(name=id, storage=storage, default=default) - def attribute_traits(self, traits): - # traits as is as a list - return traits + def ESCAPED_STRING(self, s): + # handle escapes, skip the start and end quotes + return s.value[1:-1].encode('utf-8').decode('unicode-escape') def attribute(self, args): - # Input arguments are: - # - tags (0 or more) - # - attribute_with_access (i.e. pair of definition and acl arguments) - # - attribute traits (last element) - if type(args[-1]) is tuple: - tags = set(args[:-1]) - (definition, acl) = args[-1] - extra_attrs = [] - else: - tags = set(args[:-2]) - (definition, acl) = args[-2] - extra_attrs = args[-1] + tags = set(args[:-1]) + (definition, acl) = args[-1] # until we support write only (and need a bit of a reshuffle) # if the 'attr_readonly == READABLE' is not in the list, we make things @@ -292,11 +287,7 @@ def attribute(self, args): tags.add(AttributeTag.READABLE) tags.add(AttributeTag.WRITABLE) - attr = Attribute(definition=definition, tags=tags, **acl) - for f in extra_attrs: - f(attr) - - return attr + return Attribute(definition=definition, tags=tags, **acl) @v_args(inline=True) def struct(self, id, *fields): @@ -312,22 +303,21 @@ def response_struct(self, id, code, *fields): return Struct(name=id, tag=StructTag.RESPONSE, code=code, fields=list(fields)) @v_args(inline=True) - def endpoint(self, number, *clusters): + def endpoint(self, number, *transforms): endpoint = Endpoint(number=number) - for t, name in clusters: - if t == EndpointContentType.CLIENT_BINDING: - endpoint.client_bindings.append(name) - elif t == EndpointContentType.SERVER_CLUSTER: - endpoint.server_clusters.append(name) - else: - raise Error("Unknown endpoint content: %r" % t) + for t in transforms: + t.apply(endpoint) return endpoint @v_args(inline=True) - def endpoint_cluster(self, t, id): - return (t, id) + def endpoint_cluster_binding(self, id): + return AddBindingToEndpointTransform(id) + + @v_args(inline=True) + def endpoint_server_cluster(self, id, *attributes): + return AddServerClusterToEndpointTransform(ServerClusterInstantiation(name=id, attributes=list(attributes))) @v_args(inline=True) def cluster(self, side, name, code, *content): diff --git a/scripts/idl/matter_idl_types.py b/scripts/idl/matter_idl_types.py index 414e0d4d5b1808..f56bd5e225f1e8 100644 --- a/scripts/idl/matter_idl_types.py +++ b/scripts/idl/matter_idl_types.py @@ -17,8 +17,12 @@ class AttributeTag(enum.Enum): READABLE = enum.auto() WRITABLE = enum.auto() NOSUBSCRIBE = enum.auto() - CALLBACK = enum.auto() + + +class AttributeStorage(enum.Enum): + RAM = enum.auto() PERSIST = enum.auto() + CALLBACK = enum.auto() class EventPriority(enum.Enum): @@ -99,10 +103,6 @@ def is_writable(self): def is_subscribable(self): return AttributeTag.NOSUBSCRIBE not in self.tags - @property - def is_callback(self): - return AttributeTag.CALLBACK in self.tags - @dataclass class Struct: @@ -168,10 +168,23 @@ class Cluster: commands: List[Command] = field(default_factory=list) +@dataclass +class AttributeInstantiation: + name: str + storage: AttributeStorage + default: Optional[Union[str, int, bool]] = None + + +@dataclass +class ServerClusterInstantiation: + name: str + attributes: List[AttributeInstantiation] = field(default_factory=list) + + @dataclass class Endpoint: number: int - server_clusters: List[str] = field(default_factory=list) + server_clusters: List[ServerClusterInstantiation] = field(default_factory=list) client_bindings: List[str] = field(default_factory=list) diff --git a/scripts/idl/test_matter_idl_parser.py b/scripts/idl/test_matter_idl_parser.py index eda2d1d23d5c43..273da932ae8c4f 100755 --- a/scripts/idl/test_matter_idl_parser.py +++ b/scripts/idl/test_matter_idl_parser.py @@ -180,42 +180,6 @@ def test_attribute_access(self): )]) self.assertEqual(actual, expected) - def test_attribute_storage_info(self): - actual = parseText(""" - server cluster MyCluster = 1 { - attribute char_string<11> attr1 = 1 [callback]; - attribute char_string<33> attr2 = 2 [default="abc\\n with escapes: \\""]; - attribute int32u withDefault = 3 [default=11]; - attribute int32u intWithCallback = 4 [callback]; - attribute int32u persisted = 5 [persist]; - attribute int32u persisted_with_default = 6 [persist, default=55]; - readonly attribute int32u readonlyDefault = 7 [default=321]; - } - """) - - expected = Idl(clusters=[ - Cluster(side=ClusterSide.SERVER, - name="MyCluster", - code=1, - attributes=[ - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE, AttributeTag.CALLBACK]), definition=Field( - data_type=DataType(name="char_string", max_length=11), code=1, name="attr1")), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( - data_type=DataType(name="char_string", max_length=33), code=2, name="attr2"), default='abc\n with escapes: "'), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( - data_type=DataType(name="int32u"), code=3, name="withDefault"), default=11), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE, AttributeTag.CALLBACK]), definition=Field( - data_type=DataType(name="int32u"), code=4, name="intWithCallback")), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE, AttributeTag.PERSIST]), definition=Field( - data_type=DataType(name="int32u"), code=5, name="persisted")), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE, AttributeTag.PERSIST]), definition=Field( - data_type=DataType(name="int32u"), code=6, name="persisted_with_default"), default=55), - Attribute(tags=set([AttributeTag.READABLE]), definition=Field( - data_type=DataType(name="int32u"), code=7, name="readonlyDefault"), default=321), - ] - )]) - self.assertEqual(actual, expected) - def test_cluster_commands(self): actual = parseText(""" server cluster WithCommands = 1 { @@ -380,9 +344,9 @@ def test_cluster_event_acl(self): def test_multiple_clusters(self): actual = parseText(""" - server cluster A = 1 {} - client cluster B = 2 {} - client cluster C = 3 {} + server cluster A = 1 { /* Test comment */ } + client cluster B = 2 { } + client cluster C = 3 { } """) expected = Idl(clusters=[ @@ -395,19 +359,55 @@ def test_multiple_clusters(self): def test_endpoints(self): actual = parseText(""" endpoint 12 { - server cluster Foo; - server cluster Bar; + server cluster Foo { } + server cluster Bar { } binding cluster Bar; binding cluster Test; } """) expected = Idl(endpoints=[Endpoint(number=12, - server_clusters=["Foo", "Bar"], + server_clusters=[ + ServerClusterInstantiation(name="Foo"), + ServerClusterInstantiation(name="Bar"), + ], client_bindings=["Bar", "Test"],) ]) self.assertEqual(actual, expected) + def test_cluster_instantiation(self): + actual = parseText(""" + endpoint 3 { + server cluster Example { + ram attribute inRamZero; + ram attribute inRamWithDefault default=123; + persist attribute inNVMNoDef; + persist attribute inNVMStr default="abc"; + persist attribute inNVMWithDefault default = -33; + callback attribute hasCallbackBool default = true; + } + } + """) + + expected = Idl(endpoints=[Endpoint(number=3, + server_clusters=[ + ServerClusterInstantiation(name="Example", attributes=[ + AttributeInstantiation(name='inRamZero', storage=AttributeStorage.RAM), + AttributeInstantiation(name='inRamWithDefault', + storage=AttributeStorage.RAM, default=123), + AttributeInstantiation(name='inNVMNoDef', storage=AttributeStorage.PERSIST), + AttributeInstantiation( + name='inNVMStr', storage=AttributeStorage.PERSIST, default="abc"), + AttributeInstantiation(name='inNVMWithDefault', + storage=AttributeStorage.PERSIST, default=-33), + AttributeInstantiation(name='hasCallbackBool', + storage=AttributeStorage.CALLBACK, default=True), + ]), + ], + client_bindings=[],) + ]) + self.assertEqual(actual, expected) + def test_multi_endpoints(self): actual = parseText(""" endpoint 1 {} diff --git a/src/app/zap-templates/templates/app/MatterIDL.zapt b/src/app/zap-templates/templates/app/MatterIDL.zapt index b9876f34fc480f..d9e3d5483c62a6 100644 --- a/src/app/zap-templates/templates/app/MatterIDL.zapt +++ b/src/app/zap-templates/templates/app/MatterIDL.zapt @@ -70,7 +70,8 @@ {{~/if~}} {{~/if~}} {{/unless}} {{asLowerCamelCase name~}} - {{~#if isArray~}} [] {{~/if}} = {{code}}; + {{~#if isArray~}} [] {{~/if}} = {{code~}} + ; {{/chip_server_cluster_attributes}} {{~!--Open:Generating command request structs for all incoming commands into server side--~}} {{#if (is_server side)}} @@ -113,13 +114,42 @@ } {{/all_user_clusters}} +{{#user_endpoints}} -{{#chip_endpoints}} endpoint {{endpointId}} { - {{#chip_endpoint_clusters}} - {{#if (isServer side)~}} server {{else~}} binding {{/if~}} - cluster {{asUpperCamelCase name}}; - {{/chip_endpoint_clusters}} + {{#user_clusters}} + {{#if enabled}} + {{#unless (isServer side)}} + binding cluster {{asUpperCamelCase name}}; + {{/unless}} + {{/if}} + {{/user_clusters}} + {{#user_clusters}} + {{#if enabled}} + {{#if (isServer side)}} + + server cluster {{asUpperCamelCase name}} { + {{#user_cluster_attributes}} + {{#if included}} + {{~#if (is_str_equal storageOption "NVM")}} + persist {{!align~}} + {{~else if (is_str_equal storageOption "External")}} + callback {{!align~}} + {{~else}} + ram {{!align~}} + {{~/if~}} + attribute {{asLowerCamelCase name}} + {{~#if_is_non_zero_default defaultValue~}} + {{!need space}} default = {{#if (isString type)}}"{{defaultValue}}"{{else}}{{defaultValue}}{{/if}} + {{~/if_is_non_zero_default~}} + ; + {{/if}} + {{/user_cluster_attributes}} + } + {{/if}} + {{/if}} + {{/user_clusters}} } +{{/user_endpoints}} + -{{/chip_endpoints}} diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index 9db148ef01c222..1806056f1310a4 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -782,6 +782,46 @@ async function if_is_fabric_scoped_struct(type, options) return options.inverse(this); } +// check if a value is numerically 0 for the purpose of default value +// interpretation. Note that this does NOT check for data type, so assumes +// a string of 'false' is 0 because boolean false is 0. +function isNonZeroValue(value) +{ + if (!value) { + return false; + } + + if (value === '0') { + return false; + } + + // Hex value usage is inconsistent in XML. It looks we have + // all of 0x0, 0x00, 0x0000 so support all here. + if (value.match(/^0x0+$/)) { + return false; + } + + // boolean 0 is false. We do not do a type check here + // so if anyone defaults a string to 'false' this will be wrong. + if (value === 'false') { + return false; + } + + return true; +} + +// Check if the default value is non-zero +// Generally does string checks for empty strings, numeric or hex zeroes or +// boolean values. +async function if_is_non_zero_default(value, options) +{ + if (isNonZeroValue(value)) { + return options.fn(this); + } else { + return options.inverse(this); + } +} + // // Module exports // @@ -804,4 +844,5 @@ exports.getPythonFieldDefault = getPythonFieldDefault; exports.incrementDepth = incrementDepth; exports.zcl_events_fields_by_event_name = zcl_events_fields_by_event_name; exports.zcl_commands_that_need_timed_invoke = zcl_commands_that_need_timed_invoke; -exports.if_is_fabric_scoped_struct = if_is_fabric_scoped_struct +exports.if_is_fabric_scoped_struct = if_is_fabric_scoped_struct; +exports.if_is_non_zero_default = if_is_non_zero_default; diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 0716fd020fb9e4..9d9ef2022d3009 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -4262,69 +4262,70 @@ client cluster WindowCovering = 258 { endpoint 1 { - binding cluster AccessControl; - binding cluster AccountLogin; - binding cluster AdministratorCommissioning; - binding cluster ApplicationBasic; - binding cluster ApplicationLauncher; - binding cluster AudioOutput; - binding cluster BarrierControl; - binding cluster Basic; + binding cluster Identify; + binding cluster Groups; + binding cluster Scenes; + binding cluster OnOff; + binding cluster OnOffSwitchConfiguration; + binding cluster LevelControl; binding cluster BinaryInputBasic; + binding cluster Descriptor; binding cluster Binding; - binding cluster BooleanState; + binding cluster AccessControl; binding cluster BridgedActions; - binding cluster BridgedDeviceBasic; - binding cluster Channel; - binding cluster ColorControl; - binding cluster ContentLauncher; - binding cluster Descriptor; - binding cluster DiagnosticLogs; - binding cluster DoorLock; - binding cluster ElectricalMeasurement; - binding cluster EthernetNetworkDiagnostics; - binding cluster FanControl; - binding cluster FixedLabel; - binding cluster FlowMeasurement; - binding cluster GeneralCommissioning; - binding cluster GeneralDiagnostics; - binding cluster GroupKeyManagement; - binding cluster Groups; - binding cluster Identify; - binding cluster IlluminanceMeasurement; - binding cluster KeypadInput; - binding cluster LevelControl; - binding cluster LocalizationConfiguration; - binding cluster LowPower; - binding cluster MediaInput; - binding cluster MediaPlayback; - binding cluster ModeSelect; - binding cluster NetworkCommissioning; + binding cluster Basic; binding cluster OtaSoftwareUpdateProvider; binding cluster OtaSoftwareUpdateRequestor; - binding cluster OccupancySensing; - binding cluster OnOff; - binding cluster OnOffSwitchConfiguration; - binding cluster OperationalCredentials; - binding cluster PowerSource; + binding cluster LocalizationConfiguration; + binding cluster TimeFormatLocalization; + binding cluster UnitLocalization; binding cluster PowerSourceConfiguration; - binding cluster PressureMeasurement; - binding cluster PumpConfigurationAndControl; - binding cluster RelativeHumidityMeasurement; - binding cluster Scenes; + binding cluster PowerSource; + binding cluster GeneralCommissioning; + binding cluster NetworkCommissioning; + binding cluster DiagnosticLogs; + binding cluster GeneralDiagnostics; binding cluster SoftwareDiagnostics; + binding cluster ThreadNetworkDiagnostics; + binding cluster WiFiNetworkDiagnostics; + binding cluster EthernetNetworkDiagnostics; + binding cluster BridgedDeviceBasic; binding cluster Switch; - binding cluster TargetNavigator; - binding cluster TemperatureMeasurement; - binding cluster TestCluster; + binding cluster AdministratorCommissioning; + binding cluster OperationalCredentials; + binding cluster GroupKeyManagement; + binding cluster FixedLabel; + binding cluster UserLabel; + binding cluster BooleanState; + binding cluster ModeSelect; + binding cluster DoorLock; + binding cluster WindowCovering; + binding cluster BarrierControl; + binding cluster PumpConfigurationAndControl; binding cluster Thermostat; + binding cluster FanControl; binding cluster ThermostatUserInterfaceConfiguration; - binding cluster ThreadNetworkDiagnostics; - binding cluster TimeFormatLocalization; - binding cluster UnitLocalization; - binding cluster UserLabel; + binding cluster ColorControl; + binding cluster IlluminanceMeasurement; + binding cluster TemperatureMeasurement; + binding cluster PressureMeasurement; + binding cluster FlowMeasurement; + binding cluster RelativeHumidityMeasurement; + binding cluster OccupancySensing; binding cluster WakeOnLan; - binding cluster WiFiNetworkDiagnostics; - binding cluster WindowCovering; + binding cluster Channel; + binding cluster TargetNavigator; + binding cluster MediaPlayback; + binding cluster MediaInput; + binding cluster LowPower; + binding cluster KeypadInput; + binding cluster ContentLauncher; + binding cluster AudioOutput; + binding cluster ApplicationLauncher; + binding cluster ApplicationBasic; + binding cluster AccountLogin; + binding cluster TestCluster; + binding cluster ElectricalMeasurement; } +