# The magic value "future" for versions can be used once we are
# tracking a release but don't know what its version numbers will be.
#
# Each release has:
# * A name (labeled "release")
# * A versions field which is either a dictionary of per-OS versions, or "future"
# * "introduced" and "deprecated" fields, which are dictionaries with the following keys:
#   * "clusters": An array of cluster names
#   * "attributes": A dictionary with cluster names as keys and arrays of
#                   attribute names as values.
#   * "commands": A dictionary with cluster names as keys and arrays of
#                 command names as values.
#   * "command fields": A dictionary with cluster names as keys and dictionaries
#                       as values.  Those dictionaries have command names as
#                       keys and arrays of field names as values.
#   * "structs": A dictionary with cluster names as keys and arrays of
#                struct names as values.
#   * "struct fields": A dictionary with cluster names as keys and dictionaries
#                      as values.  Those dictionaries have struct names as
#                      keys and arrays of field names as values.
#   * "events": A dictionary with cluster names as keys and arrays of
#               event names as values.
#   * "event fields": A dictionary with cluster names as keys and dictionaries
#                     as values.  Those dictionaries have event names as
#                     keys and arrays of field names as values.
#   * "enums": A dictionary with cluster names as keys and arrays of
#              enum names as values.
#   * "enum values": A dictionary with cluster names as keys and dictionaries
#                    as values.  Those dictionaries have enum names as
#                    keys and arrays of enum value names as values.
#   * "bitmaps": A dictionary with cluster names as keys and arrays of
#                bitmap names as values.
#   * "bitmap values": A dictionary with cluster names as keys and dictionaries
#                      as values.  Those dictionaries have bitmap names as
#                      keys and arrays of bitmap value names as values.
#   * "ids": Can contain clusters, attributes, commands, events as described
#            above inside it, but just indicates whether the id was
#            introduced/deprecated, not the construct itself.
#   * "command payloads": Lists commands only, if we introduced the payload without
#                         actually exposing API for the command.
#   * "global attributes": An array of names of global attributes.
#   * "apis": An array of API labels that codegen can use.
#
# * "renames": Can contain clusters, attributes, etc as described
#              above for "introduced" and "deprecated", with the one
#              difference that instead of an array the value is a hash
#              with new names as keys and old names as values.
#
# * "removed": Can contain clusters, commands, attributes, etc as described
#              above for "introduced" and "deprecated".  Items can be removed
#              without ever being introduced, if they are added to the XML but
#              we have never shipped generated APIs for them.
#              NOTE: support for "removed" may not be complete in the templates.
#              Please examine codegen carefully when using "removed" to make
#              sure all the things that should have been removed have been.
#
# * "provisional": Can contain clusters, commands, attributes, etc as described
#                  above for "introduced" and "deprecated".  Items can be
#                  defined as provisional to prevent code generation for them.
#                  If they are then listed as introduced in a release that is
#                  later than the one where they were marked provisional,
#                  they will start being code-generated.
#                  NOTE: support for "provisional" may not be complete in the
#                  templates. Please examine codegen carefully when using
#                  "provisional" to make sure all the things that should have
#                  been omitted have been.

- release: "Initial release"
  versions:
      ios: "16.1"
      macos: "13.0"
      watchos: "9.1"
      tvos: "16.1"
  introduced:
      clusters:
          - Identify
          - Groups
          - Scenes
          - OnOff
          - OnOffSwitchConfiguration
          - LevelControl
          - BinaryInputBasic
          - Descriptor
          - Binding
          - AccessControl
          - Actions
          - Basic
          - OtaSoftwareUpdateProvider
          - OtaSoftwareUpdateRequestor
          - LocalizationConfiguration
          - TimeFormatLocalization
          - UnitLocalization
          - PowerSourceConfiguration
          - PowerSource
          - GeneralCommissioning
          - NetworkCommissioning
          - DiagnosticLogs
          - GeneralDiagnostics
          - SoftwareDiagnostics
          - ThreadNetworkDiagnostics
          - WiFiNetworkDiagnostics
          - EthernetNetworkDiagnostics
          - BridgedDeviceBasic
          - Switch
          - AdministratorCommissioning
          - OperationalCredentials
          - GroupKeyManagement
          - FixedLabel
          - UserLabel
          - BooleanState
          - ModeSelect
          - DoorLock
          - WindowCovering
          - BarrierControl
          - PumpConfigurationAndControl
          - Thermostat
          - FanControl
          - ThermostatUserInterfaceConfiguration
          - ColorControl
          - BallastConfiguration
          - IlluminanceMeasurement
          - TemperatureMeasurement
          - PressureMeasurement
          - FlowMeasurement
          - RelativeHumidityMeasurement
          - OccupancySensing
          - WakeOnLan
          - Channel
          - TargetNavigator
          - MediaPlayback
          - MediaInput
          - LowPower
          - KeypadInput
          - ContentLauncher
          - AudioOutput
          - ApplicationLauncher
          - ApplicationBasic
          - AccountLogin
          - ElectricalMeasurement
          - TestCluster
      attributes:
          Identify:
              - IdentifyTime
              - IdentifyType
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Groups:
              - NameSupport
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Scenes:
              - SceneCount
              - CurrentScene
              - CurrentGroup
              - SceneValid
              - NameSupport
              - LastConfiguredBy
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OnOff:
              - OnOff
              - GlobalSceneControl
              - OnTime
              - OffWaitTime
              - StartUpOnOff
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OnOffSwitchConfiguration:
              - SwitchType
              - SwitchActions
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          LevelControl:
              - CurrentLevel
              - RemainingTime
              - MinLevel
              - MaxLevel
              - CurrentFrequency
              - MinFrequency
              - MaxFrequency
              - Options
              - OnOffTransitionTime
              - OnLevel
              - OnTransitionTime
              - OffTransitionTime
              - DefaultMoveRate
              - StartUpCurrentLevel
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          BinaryInputBasic:
              - ActiveText
              - Description
              - InactiveText
              - OutOfService
              - Polarity
              - PresentValue
              - Reliability
              - StatusFlags
              - ApplicationType
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Descriptor:
              - DeviceList
              - ServerList
              - ClientList
              - PartsList
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Binding:
              - Binding
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          AccessControl:
              - Acl
              - Extension
              - SubjectsPerAccessControlEntry
              - TargetsPerAccessControlEntry
              - AccessControlEntriesPerFabric
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Actions:
              - ActionList
              - EndpointLists
              - SetupURL
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Basic:
              - DataModelRevision
              - VendorName
              - VendorID
              - ProductName
              - ProductID
              - NodeLabel
              - Location
              - HardwareVersion
              - HardwareVersionString
              - SoftwareVersion
              - SoftwareVersionString
              - ManufacturingDate
              - PartNumber
              - ProductURL
              - ProductLabel
              - SerialNumber
              - LocalConfigDisabled
              - Reachable
              - UniqueID
              - CapabilityMinima
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OtaSoftwareUpdateProvider:
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OtaSoftwareUpdateRequestor:
              - DefaultOtaProviders
              - UpdatePossible
              - UpdateState
              - UpdateStateProgress
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          LocalizationConfiguration:
              - ActiveLocale
              - SupportedLocales
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          TimeFormatLocalization:
              - HourFormat
              - ActiveCalendarType
              - SupportedCalendarTypes
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          UnitLocalization:
              - TemperatureUnit
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PowerSourceConfiguration:
              - Sources
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PowerSource:
              - Status
              - Order
              - Description
              - WiredAssessedInputVoltage
              - WiredAssessedInputFrequency
              - WiredCurrentType
              - WiredAssessedCurrent
              - WiredNominalVoltage
              - WiredMaximumCurrent
              - WiredPresent
              - ActiveWiredFaults
              - BatVoltage
              - BatPercentRemaining
              - BatTimeRemaining
              - BatChargeLevel
              - BatReplacementNeeded
              - BatReplaceability
              - BatPresent
              - ActiveBatFaults
              - BatReplacementDescription
              - BatCommonDesignation
              - BatANSIDesignation
              - BatIECDesignation
              - BatApprovedChemistry
              - BatCapacity
              - BatQuantity
              - BatChargeState
              - BatTimeToFullCharge
              - BatFunctionalWhileCharging
              - BatChargingCurrent
              - ActiveBatChargeFaults
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          GeneralCommissioning:
              - Breadcrumb
              - BasicCommissioningInfo
              - RegulatoryConfig
              - LocationCapability
              - SupportsConcurrentConnection
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          NetworkCommissioning:
              - MaxNetworks
              - Networks
              - ScanMaxTimeSeconds
              - ConnectMaxTimeSeconds
              - InterfaceEnabled
              - LastNetworkingStatus
              - LastNetworkID
              - LastConnectErrorValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          DiagnosticLogs:
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          GeneralDiagnostics:
              - NetworkInterfaces
              - RebootCount
              - UpTime
              - TotalOperationalHours
              - BootReasons
              - ActiveHardwareFaults
              - ActiveRadioFaults
              - ActiveNetworkFaults
              - TestEventTriggersEnabled
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          SoftwareDiagnostics:
              - ThreadMetrics
              - CurrentHeapFree
              - CurrentHeapUsed
              - CurrentHeapHighWatermark
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ThreadNetworkDiagnostics:
              - Channel
              - RoutingRole
              - NetworkName
              - PanId
              - ExtendedPanId
              - MeshLocalPrefix
              - OverrunCount
              - NeighborTableList
              - RouteTableList
              - PartitionId
              - Weighting
              - DataVersion
              - StableDataVersion
              - LeaderRouterId
              - DetachedRoleCount
              - ChildRoleCount
              - RouterRoleCount
              - LeaderRoleCount
              - AttachAttemptCount
              - PartitionIdChangeCount
              - BetterPartitionAttachAttemptCount
              - ParentChangeCount
              - TxTotalCount
              - TxUnicastCount
              - TxBroadcastCount
              - TxAckRequestedCount
              - TxAckedCount
              - TxNoAckRequestedCount
              - TxDataCount
              - TxDataPollCount
              - TxBeaconCount
              - TxBeaconRequestCount
              - TxOtherCount
              - TxRetryCount
              - TxDirectMaxRetryExpiryCount
              - TxIndirectMaxRetryExpiryCount
              - TxErrCcaCount
              - TxErrAbortCount
              - TxErrBusyChannelCount
              - RxTotalCount
              - RxUnicastCount
              - RxBroadcastCount
              - RxDataCount
              - RxDataPollCount
              - RxBeaconCount
              - RxBeaconRequestCount
              - RxOtherCount
              - RxAddressFilteredCount
              - RxDestAddrFilteredCount
              - RxDuplicatedCount
              - RxErrNoFrameCount
              - RxErrUnknownNeighborCount
              - RxErrInvalidSrcAddrCount
              - RxErrSecCount
              - RxErrFcsCount
              - RxErrOtherCount
              - ActiveTimestamp
              - PendingTimestamp
              - Delay
              - SecurityPolicy
              - ChannelPage0Mask
              - OperationalDatasetComponents
              - ActiveNetworkFaultsList
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          WiFiNetworkDiagnostics:
              - Bssid
              - SecurityType
              - WiFiVersion
              - ChannelNumber
              - Rssi
              - BeaconLostCount
              - BeaconRxCount
              - PacketMulticastRxCount
              - PacketMulticastTxCount
              - PacketUnicastRxCount
              - PacketUnicastTxCount
              - CurrentMaxRate
              - OverrunCount
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          EthernetNetworkDiagnostics:
              - PHYRate
              - FullDuplex
              - PacketRxCount
              - PacketTxCount
              - TxErrCount
              - CollisionCount
              - OverrunCount
              - CarrierDetect
              - TimeSinceReset
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          BridgedDeviceBasic:
              - VendorName
              - VendorID
              - ProductName
              - NodeLabel
              - HardwareVersion
              - HardwareVersionString
              - SoftwareVersion
              - SoftwareVersionString
              - ManufacturingDate
              - PartNumber
              - ProductURL
              - ProductLabel
              - SerialNumber
              - Reachable
              - UniqueID
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Switch:
              - NumberOfPositions
              - CurrentPosition
              - MultiPressMax
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          AdministratorCommissioning:
              - WindowStatus
              - AdminFabricIndex
              - AdminVendorId
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OperationalCredentials:
              - NOCs
              - Fabrics
              - SupportedFabrics
              - CommissionedFabrics
              - TrustedRootCertificates
              - CurrentFabricIndex
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          GroupKeyManagement:
              - GroupKeyMap
              - GroupTable
              - MaxGroupsPerFabric
              - MaxGroupKeysPerFabric
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          FixedLabel:
              - LabelList
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          UserLabel:
              - LabelList
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          BooleanState:
              - StateValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ModeSelect:
              - Description
              - StandardNamespace
              - SupportedModes
              - CurrentMode
              - StartUpMode
              - OnMode
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          DoorLock:
              - LockState
              - LockType
              - ActuatorEnabled
              - DoorState
              - DoorOpenEvents
              - DoorClosedEvents
              - OpenPeriod
              - NumberOfTotalUsersSupported
              - NumberOfPINUsersSupported
              - NumberOfRFIDUsersSupported
              - NumberOfWeekDaySchedulesSupportedPerUser
              - NumberOfYearDaySchedulesSupportedPerUser
              - NumberOfHolidaySchedulesSupported
              - MaxPINCodeLength
              - MinPINCodeLength
              - MaxRFIDCodeLength
              - MinRFIDCodeLength
              - CredentialRulesSupport
              - NumberOfCredentialsSupportedPerUser
              - Language
              - LEDSettings
              - AutoRelockTime
              - SoundVolume
              - OperatingMode
              - SupportedOperatingModes
              - DefaultConfigurationRegister
              - EnableLocalProgramming
              - EnableOneTouchLocking
              - EnableInsideStatusLED
              - EnablePrivacyModeButton
              - LocalProgrammingFeatures
              - WrongCodeEntryLimit
              - UserCodeTemporaryDisableTime
              - SendPINOverTheAir
              - RequirePINforRemoteOperation
              - ExpiringUserTimeout
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          WindowCovering:
              - Type
              - PhysicalClosedLimitLift
              - PhysicalClosedLimitTilt
              - CurrentPositionLift
              - CurrentPositionTilt
              - NumberOfActuationsLift
              - NumberOfActuationsTilt
              - ConfigStatus
              - CurrentPositionLiftPercentage
              - CurrentPositionTiltPercentage
              - OperationalStatus
              - TargetPositionLiftPercent100ths
              - TargetPositionTiltPercent100ths
              - EndProductType
              - CurrentPositionLiftPercent100ths
              - CurrentPositionTiltPercent100ths
              - InstalledOpenLimitLift
              - InstalledClosedLimitLift
              - InstalledOpenLimitTilt
              - InstalledClosedLimitTilt
              - Mode
              - SafetyStatus
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          BarrierControl:
              - BarrierMovingState
              - BarrierSafetyStatus
              - BarrierCapabilities
              - BarrierOpenEvents
              - BarrierCloseEvents
              - BarrierCommandOpenEvents
              - BarrierCommandCloseEvents
              - BarrierOpenPeriod
              - BarrierClosePeriod
              - BarrierPosition
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PumpConfigurationAndControl:
              - MaxPressure
              - MaxSpeed
              - MaxFlow
              - MinConstPressure
              - MaxConstPressure
              - MinCompPressure
              - MaxCompPressure
              - MinConstSpeed
              - MaxConstSpeed
              - MinConstFlow
              - MaxConstFlow
              - MinConstTemp
              - MaxConstTemp
              - PumpStatus
              - EffectiveOperationMode
              - EffectiveControlMode
              - Capacity
              - Speed
              - LifetimeRunningHours
              - Power
              - LifetimeEnergyConsumed
              - OperationMode
              - ControlMode
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Thermostat:
              - LocalTemperature
              - OutdoorTemperature
              - Occupancy
              - AbsMinHeatSetpointLimit
              - AbsMaxHeatSetpointLimit
              - AbsMinCoolSetpointLimit
              - AbsMaxCoolSetpointLimit
              - PICoolingDemand
              - PIHeatingDemand
              - HVACSystemTypeConfiguration
              - LocalTemperatureCalibration
              - OccupiedCoolingSetpoint
              - OccupiedHeatingSetpoint
              - UnoccupiedCoolingSetpoint
              - UnoccupiedHeatingSetpoint
              - MinHeatSetpointLimit
              - MaxHeatSetpointLimit
              - MinCoolSetpointLimit
              - MaxCoolSetpointLimit
              - MinSetpointDeadBand
              - RemoteSensing
              - ControlSequenceOfOperation
              - SystemMode
              - ThermostatRunningMode
              - StartOfWeek
              - NumberOfWeeklyTransitions
              - NumberOfDailyTransitions
              - TemperatureSetpointHold
              - TemperatureSetpointHoldDuration
              - ThermostatProgrammingOperationMode
              - ThermostatRunningState
              - SetpointChangeSource
              - SetpointChangeAmount
              - SetpointChangeSourceTimestamp
              - OccupiedSetback
              - OccupiedSetbackMin
              - OccupiedSetbackMax
              - UnoccupiedSetback
              - UnoccupiedSetbackMin
              - UnoccupiedSetbackMax
              - EmergencyHeatDelta
              - ACType
              - ACCapacity
              - ACRefrigerantType
              - ACCompressorType
              - ACErrorCode
              - ACLouverPosition
              - ACCoilTemperature
              - ACCapacityformat
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          FanControl:
              - FanMode
              - FanModeSequence
              - PercentSetting
              - PercentCurrent
              - SpeedMax
              - SpeedSetting
              - SpeedCurrent
              - RockSupport
              - RockSetting
              - WindSupport
              - WindSetting
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ThermostatUserInterfaceConfiguration:
              - TemperatureDisplayMode
              - KeypadLockout
              - ScheduleProgrammingVisibility
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ColorControl:
              - CurrentHue
              - CurrentSaturation
              - RemainingTime
              - CurrentX
              - CurrentY
              - DriftCompensation
              - CompensationText
              - ColorTemperatureMireds
              - ColorMode
              - Options
              - NumberOfPrimaries
              - Primary1X
              - Primary1Y
              - Primary1Intensity
              - Primary2X
              - Primary2Y
              - Primary2Intensity
              - Primary3X
              - Primary3Y
              - Primary3Intensity
              - Primary4X
              - Primary4Y
              - Primary4Intensity
              - Primary5X
              - Primary5Y
              - Primary5Intensity
              - Primary6X
              - Primary6Y
              - Primary6Intensity
              - WhitePointX
              - WhitePointY
              - ColorPointRX
              - ColorPointRY
              - ColorPointRIntensity
              - ColorPointGX
              - ColorPointGY
              - ColorPointGIntensity
              - ColorPointBX
              - ColorPointBY
              - ColorPointBIntensity
              - EnhancedCurrentHue
              - EnhancedColorMode
              - ColorLoopActive
              - ColorLoopDirection
              - ColorLoopTime
              - ColorLoopStartEnhancedHue
              - ColorLoopStoredEnhancedHue
              - ColorCapabilities
              - ColorTempPhysicalMinMireds
              - ColorTempPhysicalMaxMireds
              - CoupleColorTempToLevelMinMireds
              - StartUpColorTemperatureMireds
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          BallastConfiguration:
              - PhysicalMinLevel
              - PhysicalMaxLevel
              - BallastStatus
              - MinLevel
              - MaxLevel
              - IntrinsicBalanceFactor
              - BallastFactorAdjustment
              - LampQuantity
              - LampType
              - LampManufacturer
              - LampRatedHours
              - LampBurnHours
              - LampAlarmMode
              - LampBurnHoursTripPoint
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          IlluminanceMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - Tolerance
              - LightSensorType
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          TemperatureMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - Tolerance
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PressureMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - Tolerance
              - ScaledValue
              - MinScaledValue
              - MaxScaledValue
              - ScaledTolerance
              - Scale
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          FlowMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - Tolerance
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          RelativeHumidityMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - Tolerance
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OccupancySensing:
              - Occupancy
              - OccupancySensorType
              - OccupancySensorTypeBitmap
              - PirOccupiedToUnoccupiedDelay
              - PirUnoccupiedToOccupiedDelay
              - PirUnoccupiedToOccupiedThreshold
              - UltrasonicOccupiedToUnoccupiedDelay
              - UltrasonicUnoccupiedToOccupiedDelay
              - UltrasonicUnoccupiedToOccupiedThreshold
              - PhysicalContactOccupiedToUnoccupiedDelay
              - PhysicalContactUnoccupiedToOccupiedDelay
              - PhysicalContactUnoccupiedToOccupiedThreshold
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          WakeOnLan:
              - MACAddress
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          Channel:
              - ChannelList
              - Lineup
              - CurrentChannel
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          TargetNavigator:
              - TargetList
              - CurrentTarget
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          MediaPlayback:
              - CurrentState
              - StartTime
              - Duration
              - SampledPosition
              - PlaybackSpeed
              - SeekRangeEnd
              - SeekRangeStart
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          MediaInput:
              - InputList
              - CurrentInput
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          LowPower:
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          KeypadInput:
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ContentLauncher:
              - AcceptHeader
              - SupportedStreamingProtocols
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          AudioOutput:
              - OutputList
              - CurrentOutput
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ApplicationLauncher:
              - CatalogList
              - CurrentApp
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ApplicationBasic:
              - VendorName
              - VendorID
              - ApplicationName
              - ProductID
              - Application
              - Status
              - ApplicationVersion
              - AllowedVendorList
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          AccountLogin:
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ElectricalMeasurement:
              - MeasurementType
              - DcVoltage
              - DcVoltageMin
              - DcVoltageMax
              - DcCurrent
              - DcCurrentMin
              - DcCurrentMax
              - DcPower
              - DcPowerMin
              - DcPowerMax
              - DcVoltageMultiplier
              - DcVoltageDivisor
              - DcCurrentMultiplier
              - DcCurrentDivisor
              - DcPowerMultiplier
              - DcPowerDivisor
              - AcFrequency
              - AcFrequencyMin
              - AcFrequencyMax
              - NeutralCurrent
              - TotalActivePower
              - TotalReactivePower
              - TotalApparentPower
              - Measured1stHarmonicCurrent
              - Measured3rdHarmonicCurrent
              - Measured5thHarmonicCurrent
              - Measured7thHarmonicCurrent
              - Measured9thHarmonicCurrent
              - Measured11thHarmonicCurrent
              - MeasuredPhase1stHarmonicCurrent
              - MeasuredPhase3rdHarmonicCurrent
              - MeasuredPhase5thHarmonicCurrent
              - MeasuredPhase7thHarmonicCurrent
              - MeasuredPhase9thHarmonicCurrent
              - MeasuredPhase11thHarmonicCurrent
              - AcFrequencyMultiplier
              - AcFrequencyDivisor
              - PowerMultiplier
              - PowerDivisor
              - HarmonicCurrentMultiplier
              - PhaseHarmonicCurrentMultiplier
              - InstantaneousVoltage
              - InstantaneousLineCurrent
              - InstantaneousActiveCurrent
              - InstantaneousReactiveCurrent
              - InstantaneousPower
              - RmsVoltage
              - RmsVoltageMin
              - RmsVoltageMax
              - RmsCurrent
              - RmsCurrentMin
              - RmsCurrentMax
              - ActivePower
              - ActivePowerMin
              - ActivePowerMax
              - ReactivePower
              - ApparentPower
              - PowerFactor
              - AverageRmsVoltageMeasurementPeriod
              - AverageRmsUnderVoltageCounter
              - RmsExtremeOverVoltagePeriod
              - RmsExtremeUnderVoltagePeriod
              - RmsVoltageSagPeriod
              - RmsVoltageSwellPeriod
              - AcVoltageMultiplier
              - AcVoltageDivisor
              - AcCurrentMultiplier
              - AcCurrentDivisor
              - AcPowerMultiplier
              - AcPowerDivisor
              - OverloadAlarmsMask
              - VoltageOverload
              - CurrentOverload
              - AcOverloadAlarmsMask
              - AcVoltageOverload
              - AcCurrentOverload
              - AcActivePowerOverload
              - AcReactivePowerOverload
              - AverageRmsOverVoltage
              - AverageRmsUnderVoltage
              - RmsExtremeOverVoltage
              - RmsExtremeUnderVoltage
              - RmsVoltageSag
              - RmsVoltageSwell
              - LineCurrentPhaseB
              - ActiveCurrentPhaseB
              - ReactiveCurrentPhaseB
              - RmsVoltagePhaseB
              - RmsVoltageMinPhaseB
              - RmsVoltageMaxPhaseB
              - RmsCurrentPhaseB
              - RmsCurrentMinPhaseB
              - RmsCurrentMaxPhaseB
              - ActivePowerPhaseB
              - ActivePowerMinPhaseB
              - ActivePowerMaxPhaseB
              - ReactivePowerPhaseB
              - ApparentPowerPhaseB
              - PowerFactorPhaseB
              - AverageRmsVoltageMeasurementPeriodPhaseB
              - AverageRmsOverVoltageCounterPhaseB
              - AverageRmsUnderVoltageCounterPhaseB
              - RmsExtremeOverVoltagePeriodPhaseB
              - RmsExtremeUnderVoltagePeriodPhaseB
              - RmsVoltageSagPeriodPhaseB
              - RmsVoltageSwellPeriodPhaseB
              - LineCurrentPhaseC
              - ActiveCurrentPhaseC
              - ReactiveCurrentPhaseC
              - RmsVoltagePhaseC
              - RmsVoltageMinPhaseC
              - RmsVoltageMaxPhaseC
              - RmsCurrentPhaseC
              - RmsCurrentMinPhaseC
              - RmsCurrentMaxPhaseC
              - ActivePowerPhaseC
              - ActivePowerMinPhaseC
              - ActivePowerMaxPhaseC
              - ReactivePowerPhaseC
              - ApparentPowerPhaseC
              - PowerFactorPhaseC
              - AverageRmsVoltageMeasurementPeriodPhaseC
              - AverageRmsOverVoltageCounterPhaseC
              - AverageRmsUnderVoltageCounterPhaseC
              - RmsExtremeOverVoltagePeriodPhaseC
              - RmsExtremeUnderVoltagePeriodPhaseC
              - RmsVoltageSagPeriodPhaseC
              - RmsVoltageSwellPeriodPhaseC
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          TestCluster:
              - Boolean
              - Bitmap8
              - Bitmap16
              - Bitmap32
              - Bitmap64
              - Int8u
              - Int16u
              - Int24u
              - Int32u
              - Int40u
              - Int48u
              - Int56u
              - Int64u
              - Int8s
              - Int16s
              - Int24s
              - Int32s
              - Int40s
              - Int48s
              - Int56s
              - Int64s
              - Enum8
              - Enum16
              - FloatSingle
              - FloatDouble
              - OctetString
              - ListInt8u
              - ListOctetString
              - ListStructOctetString
              - LongOctetString
              - CharString
              - LongCharString
              - EpochUs
              - EpochS
              - VendorId
              - ListNullablesAndOptionalsStruct
              - EnumAttr
              - StructAttr
              - RangeRestrictedInt8u
              - RangeRestrictedInt8s
              - RangeRestrictedInt16u
              - RangeRestrictedInt16s
              - ListLongOctetString
              - ListFabricScoped
              - TimedWriteBoolean
              - GeneralErrorBoolean
              - ClusterErrorBoolean
              - Unsupported
              - NullableBoolean
              - NullableBitmap8
              - NullableBitmap16
              - NullableBitmap32
              - NullableBitmap64
              - NullableInt8u
              - NullableInt16u
              - NullableInt24u
              - NullableInt32u
              - NullableInt40u
              - NullableInt48u
              - NullableInt56u
              - NullableInt64u
              - NullableInt8s
              - NullableInt16s
              - NullableInt24s
              - NullableInt32s
              - NullableInt40s
              - NullableInt48s
              - NullableInt56s
              - NullableInt64s
              - NullableEnum8
              - NullableEnum16
              - NullableFloatSingle
              - NullableFloatDouble
              - NullableOctetString
              - NullableCharString
              - NullableEnumAttr
              - NullableStruct
              - NullableRangeRestrictedInt8u
              - NullableRangeRestrictedInt8s
              - NullableRangeRestrictedInt16u
              - NullableRangeRestrictedInt16s
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
      commands:
          Identify:
              - Identify
              - TriggerEffect
          Groups:
              - AddGroup
              - AddGroupResponse
              - ViewGroup
              - ViewGroupResponse
              - GetGroupMembership
              - GetGroupMembershipResponse
              - RemoveGroup
              - RemoveGroupResponse
              - RemoveAllGroups
              - AddGroupIfIdentifying
          Scenes:
              - AddScene
              - AddSceneResponse
              - ViewScene
              - ViewSceneResponse
              - RemoveScene
              - RemoveSceneResponse
              - RemoveAllScenes
              - RemoveAllScenesResponse
              - StoreScene
              - StoreSceneResponse
              - RecallScene
              - GetSceneMembership
              - GetSceneMembershipResponse
              - EnhancedAddScene
              - EnhancedAddSceneResponse
              - EnhancedViewScene
              - EnhancedViewSceneResponse
              - CopyScene
              - CopySceneResponse
          OnOff:
              - Off
              - On
              - Toggle
              - OffWithEffect
              - OnWithRecallGlobalScene
              - OnWithTimedOff
          LevelControl:
              - MoveToLevel
              - Move
              - Step
              - Stop
              - MoveToLevelWithOnOff
              - MoveWithOnOff
              - StepWithOnOff
              - StopWithOnOff
              - MoveToClosestFrequency
          Actions:
              - InstantAction
              - InstantActionWithTransition
              - StartAction
              - StartActionWithDuration
              - StopAction
              - PauseAction
              - PauseActionWithDuration
              - ResumeAction
              - EnableAction
              - EnableActionWithDuration
              - DisableAction
              - DisableActionWithDuration
          Basic:
              - MfgSpecificPing
          OtaSoftwareUpdateProvider:
              - QueryImage
              - QueryImageResponse
              - ApplyUpdateRequest
              - ApplyUpdateResponse
              - NotifyUpdateApplied
          OtaSoftwareUpdateRequestor:
              - AnnounceOtaProvider
          GeneralCommissioning:
              - ArmFailSafe
              - ArmFailSafeResponse
              - SetRegulatoryConfig
              - SetRegulatoryConfigResponse
              - CommissioningComplete
              - CommissioningCompleteResponse
          NetworkCommissioning:
              - ScanNetworks
              - ScanNetworksResponse
              - AddOrUpdateWiFiNetwork
              - AddOrUpdateThreadNetwork
              - RemoveNetwork
              - NetworkConfigResponse
              - ConnectNetwork
              - ConnectNetworkResponse
              - ReorderNetwork
          DiagnosticLogs:
              - RetrieveLogsRequest
              - RetrieveLogsResponse
          GeneralDiagnostics:
              - TestEventTrigger
          SoftwareDiagnostics:
              - ResetWatermarks
          ThreadNetworkDiagnostics:
              - ResetCounts
          WiFiNetworkDiagnostics:
              - ResetCounts
          EthernetNetworkDiagnostics:
              - ResetCounts
          AdministratorCommissioning:
              - OpenCommissioningWindow
              - OpenBasicCommissioningWindow
              - RevokeCommissioning
          OperationalCredentials:
              - AttestationRequest
              - AttestationResponse
              - CertificateChainRequest
              - CertificateChainResponse
              - CSRRequest
              - CSRResponse
              - AddNOC
              - UpdateNOC
              - NOCResponse
              - UpdateFabricLabel
              - RemoveFabric
              - AddTrustedRootCertificate
          GroupKeyManagement:
              - KeySetWrite
              - KeySetRead
              - KeySetReadResponse
              - KeySetRemove
              - KeySetReadAllIndices
              - KeySetReadAllIndicesResponse
          ModeSelect:
              - ChangeToMode
          DoorLock:
              - LockDoor
              - UnlockDoor
              - UnlockWithTimeout
              - SetWeekDaySchedule
              - GetWeekDaySchedule
              - GetWeekDayScheduleResponse
              - ClearWeekDaySchedule
              - SetYearDaySchedule
              - GetYearDaySchedule
              - GetYearDayScheduleResponse
              - ClearYearDaySchedule
              - SetHolidaySchedule
              - GetHolidaySchedule
              - GetHolidayScheduleResponse
              - ClearHolidaySchedule
              - SetUser
              - GetUser
              - GetUserResponse
              - ClearUser
              - SetCredential
              - SetCredentialResponse
              - GetCredentialStatus
              - GetCredentialStatusResponse
              - ClearCredential
          WindowCovering:
              - UpOrOpen
              - DownOrClose
              - StopMotion
              - GoToLiftValue
              - GoToLiftPercentage
              - GoToTiltValue
              - GoToTiltPercentage
          BarrierControl:
              - BarrierControlGoToPercent
              - BarrierControlStop
          Thermostat:
              - SetpointRaiseLower
              - GetWeeklyScheduleResponse
              - SetWeeklySchedule
              - GetWeeklySchedule
              - ClearWeeklySchedule
          ColorControl:
              - MoveToHue
              - MoveHue
              - StepHue
              - MoveToSaturation
              - MoveSaturation
              - StepSaturation
              - MoveToHueAndSaturation
              - MoveToColor
              - MoveColor
              - StepColor
              - MoveToColorTemperature
              - EnhancedMoveToHue
              - EnhancedMoveHue
              - EnhancedStepHue
              - EnhancedMoveToHueAndSaturation
              - ColorLoopSet
              - StopMoveStep
              - MoveColorTemperature
              - StepColorTemperature
          Channel:
              - ChangeChannel
              - ChangeChannelResponse
              - ChangeChannelByNumber
              - SkipChannel
          TargetNavigator:
              - NavigateTarget
              - NavigateTargetResponse
          MediaPlayback:
              - Play
              - Pause
              - StopPlayback
              - StartOver
              - Previous
              - Next
              - Rewind
              - FastForward
              - SkipForward
              - SkipBackward
              - PlaybackResponse
              - Seek
          MediaInput:
              - SelectInput
              - ShowInputStatus
              - HideInputStatus
              - RenameInput
          LowPower:
              - Sleep
          KeypadInput:
              - SendKey
              - SendKeyResponse
          ContentLauncher:
              - LaunchContent
              - LaunchURL
              - LaunchResponse
          AudioOutput:
              - SelectOutput
              - RenameOutput
          ApplicationLauncher:
              - LaunchApp
              - StopApp
              - HideApp
              - LauncherResponse
          AccountLogin:
              - GetSetupPIN
              - GetSetupPINResponse
              - Login
              - Logout
          ElectricalMeasurement:
              - GetProfileInfoResponseCommand
              - GetProfileInfoCommand
              - GetMeasurementProfileResponseCommand
              - GetMeasurementProfileCommand
          TestCluster:
              - Test
              - TestSpecificResponse
              - TestNotHandled
              - TestAddArgumentsResponse
              - TestSpecific
              - TestSimpleArgumentResponse
              - TestUnknownCommand
              - TestStructArrayArgumentResponse
              - TestAddArguments
              - TestListInt8UReverseResponse
              - TestSimpleArgumentRequest
              - TestEnumsResponse
              - TestStructArrayArgumentRequest
              - TestNullableOptionalResponse
              - TestStructArgumentRequest
              - TestComplexNullableOptionalResponse
              - TestNestedStructArgumentRequest
              - BooleanResponse
              - TestListStructArgumentRequest
              - SimpleStructResponse
              - TestListInt8UArgumentRequest
              - TestEmitTestEventResponse
              - TestNestedStructListArgumentRequest
              - TestEmitTestFabricScopedEventResponse
              - TestListNestedStructListArgumentRequest
              - TestListInt8UReverseRequest
              - TestEnumsRequest
              - TestNullableOptionalRequest
              - TestComplexNullableOptionalRequest
              - SimpleStructEchoRequest
              - TimedInvokeRequest
              - TestSimpleOptionalArgumentRequest
              - TestEmitTestEventRequest
              - TestEmitTestFabricScopedEventRequest
      command fields:
          Identify:
              Identify:
                  - identifyTime
              TriggerEffect:
                  - effectIdentifier
                  - effectVariant
          Groups:
              AddGroup:
                  - groupId
                  - groupName
              AddGroupResponse:
                  - status
                  - groupId
              ViewGroup:
                  - groupId
              ViewGroupResponse:
                  - status
                  - groupId
                  - groupName
              GetGroupMembership:
                  - groupList
              GetGroupMembershipResponse:
                  - capacity
                  - groupList
              RemoveGroup:
                  - groupId
              RemoveGroupResponse:
                  - status
                  - groupId
              AddGroupIfIdentifying:
                  - groupId
                  - groupName
          Scenes:
              AddScene:
                  - groupId
                  - sceneId
                  - transitionTime
                  - sceneName
                  - extensionFieldSets
              AddSceneResponse:
                  - status
                  - groupId
                  - sceneId
              ViewScene:
                  - groupId
                  - sceneId
              ViewSceneResponse:
                  - status
                  - groupId
                  - sceneId
                  - transitionTime
                  - sceneName
                  - extensionFieldSets
              RemoveScene:
                  - groupId
                  - sceneId
              RemoveSceneResponse:
                  - status
                  - groupId
                  - sceneId
              RemoveAllScenes:
                  - groupId
              RemoveAllScenesResponse:
                  - status
                  - groupId
              StoreScene:
                  - groupId
                  - sceneId
              StoreSceneResponse:
                  - status
                  - groupId
                  - sceneId
              RecallScene:
                  - groupId
                  - sceneId
                  - transitionTime
              GetSceneMembership:
                  - groupId
              GetSceneMembershipResponse:
                  - status
                  - capacity
                  - groupId
                  - sceneList
              EnhancedAddScene:
                  - groupId
                  - sceneId
                  - transitionTime
                  - sceneName
                  - extensionFieldSets
              EnhancedAddSceneResponse:
                  - status
                  - groupId
                  - sceneId
              EnhancedViewScene:
                  - groupId
                  - sceneId
              EnhancedViewSceneResponse:
                  - status
                  - groupId
                  - sceneId
                  - transitionTime
                  - sceneName
                  - extensionFieldSets
              CopyScene:
                  - mode
                  - groupIdFrom
                  - sceneIdFrom
                  - groupIdTo
                  - sceneIdTo
              CopySceneResponse:
                  - status
                  - groupIdFrom
                  - sceneIdFrom
          OnOff:
              OffWithEffect:
                  - effectId
                  - effectVariant
              OnWithTimedOff:
                  - onOffControl
                  - onTime
                  - offWaitTime
          LevelControl:
              MoveToLevel:
                  - level
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              Move:
                  - moveMode
                  - rate
                  - optionsMask
                  - optionsOverride
              Step:
                  - stepMode
                  - stepSize
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              Stop:
                  - optionsMask
                  - optionsOverride
              MoveToLevelWithOnOff:
                  - level
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveWithOnOff:
                  - moveMode
                  - rate
                  - optionsMask
                  - optionsOverride
              StepWithOnOff:
                  - stepMode
                  - stepSize
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              StopWithOnOff:
                  - optionsMask
                  - optionsOverride
              MoveToClosestFrequency:
                  - frequency
          Actions:
              InstantAction:
                  - actionID
                  - invokeID
              InstantActionWithTransition:
                  - actionID
                  - invokeID
                  - transitionTime
              StartAction:
                  - actionID
                  - invokeID
              StartActionWithDuration:
                  - actionID
                  - invokeID
                  - duration
              StopAction:
                  - actionID
                  - invokeID
              PauseAction:
                  - actionID
                  - invokeID
              PauseActionWithDuration:
                  - actionID
                  - invokeID
                  - duration
              ResumeAction:
                  - actionID
                  - invokeID
              EnableAction:
                  - actionID
                  - invokeID
              EnableActionWithDuration:
                  - actionID
                  - invokeID
                  - duration
              DisableAction:
                  - actionID
                  - invokeID
              DisableActionWithDuration:
                  - actionID
                  - invokeID
                  - duration
          OtaSoftwareUpdateProvider:
              QueryImage:
                  - vendorId
                  - productId
                  - softwareVersion
                  - protocolsSupported
                  - hardwareVersion
                  - location
                  - requestorCanConsent
                  - metadataForProvider
              QueryImageResponse:
                  - status
                  - delayedActionTime
                  - imageURI
                  - softwareVersion
                  - softwareVersionString
                  - updateToken
                  - userConsentNeeded
                  - metadataForRequestor
              ApplyUpdateRequest:
                  - updateToken
                  - newVersion
              ApplyUpdateResponse:
                  - action
                  - delayedActionTime
              NotifyUpdateApplied:
                  - updateToken
                  - softwareVersion
          OtaSoftwareUpdateRequestor:
              AnnounceOtaProvider:
                  - providerNodeId
                  - vendorId
                  - announcementReason
                  - metadataForNode
                  - endpoint
          GeneralCommissioning:
              ArmFailSafe:
                  - expiryLengthSeconds
                  - breadcrumb
              ArmFailSafeResponse:
                  - errorCode
                  - debugText
              SetRegulatoryConfig:
                  - newRegulatoryConfig
                  - countryCode
                  - breadcrumb
              SetRegulatoryConfigResponse:
                  - errorCode
                  - debugText
              CommissioningCompleteResponse:
                  - errorCode
                  - debugText
          NetworkCommissioning:
              ScanNetworks:
                  - ssid
                  - breadcrumb
              ScanNetworksResponse:
                  - networkingStatus
                  - debugText
                  - wiFiScanResults
                  - threadScanResults
              AddOrUpdateWiFiNetwork:
                  - ssid
                  - credentials
                  - breadcrumb
              AddOrUpdateThreadNetwork:
                  - operationalDataset
                  - breadcrumb
              RemoveNetwork:
                  - networkID
                  - breadcrumb
              NetworkConfigResponse:
                  - networkingStatus
                  - debugText
                  - networkIndex
              ConnectNetwork:
                  - networkID
                  - breadcrumb
              ConnectNetworkResponse:
                  - networkingStatus
                  - debugText
                  - errorValue
              ReorderNetwork:
                  - networkID
                  - networkIndex
                  - breadcrumb
          DiagnosticLogs:
              RetrieveLogsRequest:
                  - intent
                  - requestedProtocol
              RetrieveLogsResponse:
                  - status
                  - content
                  - timeStamp
                  - timeSinceBoot
          GeneralDiagnostics:
              TestEventTrigger:
                  - enableKey
                  - eventTrigger
          SoftwareDiagnostics:
          ThreadNetworkDiagnostics:
          WiFiNetworkDiagnostics:
          EthernetNetworkDiagnostics:
          TimeSynchronization:
              SetUtcTime:
                  - utcTime
                  - granularity
                  - timeSource
          AdministratorCommissioning:
              OpenCommissioningWindow:
                  - commissioningTimeout
                  - pakeVerifier
                  - discriminator
                  - iterations
                  - salt
              OpenBasicCommissioningWindow:
                  - commissioningTimeout
          OperationalCredentials:
              AttestationRequest:
                  - attestationNonce
              AttestationResponse:
                  - attestationElements
                  - signature
              CertificateChainRequest:
                  - certificateType
              CertificateChainResponse:
                  - certificate
              CSRRequest:
                  - csrNonce
                  - isForUpdateNOC
              CSRResponse:
                  - nocsrElements
                  - attestationSignature
              AddNOC:
                  - nocValue
                  - icacValue
                  - ipkValue
                  - caseAdminSubject
                  - adminVendorId
              UpdateNOC:
                  - nocValue
                  - icacValue
              NOCResponse:
                  - statusCode
                  - fabricIndex
                  - debugText
              UpdateFabricLabel:
                  - label
              RemoveFabric:
                  - fabricIndex
              AddTrustedRootCertificate:
                  - rootCertificate
          GroupKeyManagement:
              KeySetWrite:
                  - groupKeySet
              KeySetRead:
                  - groupKeySetID
              KeySetReadResponse:
                  - groupKeySet
              KeySetRemove:
                  - groupKeySetID
              KeySetReadAllIndices:
                  - groupKeySetIDs
              KeySetReadAllIndicesResponse:
                  - groupKeySetIDs
          ModeSelect:
              ChangeToMode:
                  - newMode
          DoorLock:
              LockDoor:
                  - pinCode
              UnlockDoor:
                  - pinCode
              UnlockWithTimeout:
                  - timeout
                  - pinCode
              SetWeekDaySchedule:
                  - weekDayIndex
                  - userIndex
                  - daysMask
                  - startHour
                  - startMinute
                  - endHour
                  - endMinute
              GetWeekDaySchedule:
                  - weekDayIndex
                  - userIndex
              GetWeekDayScheduleResponse:
                  - weekDayIndex
                  - userIndex
                  - status
                  - daysMask
                  - startHour
                  - startMinute
                  - endHour
                  - endMinute
              ClearWeekDaySchedule:
                  - weekDayIndex
                  - userIndex
              SetYearDaySchedule:
                  - yearDayIndex
                  - userIndex
                  - localStartTime
                  - localEndTime
              GetYearDaySchedule:
                  - yearDayIndex
                  - userIndex
              GetYearDayScheduleResponse:
                  - yearDayIndex
                  - userIndex
                  - status
                  - localStartTime
                  - localEndTime
              ClearYearDaySchedule:
                  - yearDayIndex
                  - userIndex
              SetHolidaySchedule:
                  - holidayIndex
                  - localStartTime
                  - localEndTime
                  - operatingMode
              GetHolidaySchedule:
                  - holidayIndex
              GetHolidayScheduleResponse:
                  - holidayIndex
                  - status
                  - localStartTime
                  - localEndTime
                  - operatingMode
              ClearHolidaySchedule:
                  - holidayIndex
              SetUser:
                  - operationType
                  - userIndex
                  - userName
                  - userUniqueId
                  - userStatus
                  - userType
                  - credentialRule
              GetUser:
                  - userIndex
              GetUserResponse:
                  - userIndex
                  - userName
                  - userUniqueId
                  - userStatus
                  - userType
                  - credentialRule
                  - credentials
                  - creatorFabricIndex
                  - lastModifiedFabricIndex
                  - nextUserIndex
              ClearUser:
                  - userIndex
              SetCredential:
                  - operationType
                  - credential
                  - credentialData
                  - userIndex
                  - userStatus
                  - userType
              SetCredentialResponse:
                  - status
                  - userIndex
                  - nextCredentialIndex
              GetCredentialStatus:
                  - credential
              GetCredentialStatusResponse:
                  - credentialExists
                  - userIndex
                  - creatorFabricIndex
                  - lastModifiedFabricIndex
                  - nextCredentialIndex
              ClearCredential:
                  - credential
          WindowCovering:
              GoToLiftValue:
                  - liftValue
              GoToLiftPercentage:
                  - liftPercent100thsValue
              GoToTiltValue:
                  - tiltValue
              GoToTiltPercentage:
                  - tiltPercent100thsValue
          BarrierControl:
              BarrierControlGoToPercent:
                  - percentOpen
          Thermostat:
              SetpointRaiseLower:
                  - mode
                  - amount
              GetWeeklyScheduleResponse:
                  - numberOfTransitionsForSequence
                  - dayOfWeekForSequence
                  - modeForSequence
                  - transitions
              SetWeeklySchedule:
                  - numberOfTransitionsForSequence
                  - dayOfWeekForSequence
                  - modeForSequence
                  - transitions
              GetWeeklySchedule:
                  - daysToReturn
                  - modeToReturn
          ColorControl:
              MoveToHue:
                  - hue
                  - direction
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveHue:
                  - moveMode
                  - rate
                  - optionsMask
                  - optionsOverride
              StepHue:
                  - stepMode
                  - stepSize
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveToSaturation:
                  - saturation
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveSaturation:
                  - moveMode
                  - rate
                  - optionsMask
                  - optionsOverride
              StepSaturation:
                  - stepMode
                  - stepSize
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveToHueAndSaturation:
                  - hue
                  - saturation
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveToColor:
                  - colorX
                  - colorY
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveColor:
                  - rateX
                  - rateY
                  - optionsMask
                  - optionsOverride
              StepColor:
                  - stepX
                  - stepY
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              MoveToColorTemperature:
                  - colorTemperature
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              EnhancedMoveToHue:
                  - enhancedHue
                  - direction
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              EnhancedMoveHue:
                  - moveMode
                  - rate
                  - optionsMask
                  - optionsOverride
              EnhancedStepHue:
                  - stepMode
                  - stepSize
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              EnhancedMoveToHueAndSaturation:
                  - enhancedHue
                  - saturation
                  - transitionTime
                  - optionsMask
                  - optionsOverride
              ColorLoopSet:
                  - updateFlags
                  - action
                  - direction
                  - time
                  - startHue
                  - optionsMask
                  - optionsOverride
              StopMoveStep:
                  - optionsMask
                  - optionsOverride
              MoveColorTemperature:
                  - moveMode
                  - rate
                  - colorTemperatureMinimumMireds
                  - colorTemperatureMaximumMireds
                  - optionsMask
                  - optionsOverride
              StepColorTemperature:
                  - stepMode
                  - stepSize
                  - transitionTime
                  - colorTemperatureMinimumMireds
                  - colorTemperatureMaximumMireds
                  - optionsMask
                  - optionsOverride
          Channel:
              ChangeChannel:
                  - match
              ChangeChannelResponse:
                  - status
                  - data
              ChangeChannelByNumber:
                  - majorNumber
                  - minorNumber
              SkipChannel:
                  - count
          TargetNavigator:
              NavigateTarget:
                  - target
                  - data
              NavigateTargetResponse:
                  - status
                  - data
          MediaPlayback:
              SkipForward:
                  - deltaPositionMilliseconds
              SkipBackward:
                  - deltaPositionMilliseconds
              PlaybackResponse:
                  - status
                  - data
              Seek:
                  - position
          MediaInput:
              SelectInput:
                  - index
              RenameInput:
                  - index
                  - name
          LowPower:
          KeypadInput:
              SendKey:
                  - keyCode
              SendKeyResponse:
                  - status
          ContentLauncher:
              LaunchContent:
                  - search
                  - autoPlay
                  - data
              LaunchURL:
                  - contentURL
                  - displayString
                  - brandingInformation
              LaunchResponse:
                  - status
                  - data
          AudioOutput:
              SelectOutput:
                  - index
              RenameOutput:
                  - index
                  - name
          ApplicationLauncher:
              LaunchApp:
                  - application
                  - data
              StopApp:
                  - application
              HideApp:
                  - application
              LauncherResponse:
                  - status
                  - data
          AccountLogin:
              GetSetupPIN:
                  - tempAccountIdentifier
              GetSetupPINResponse:
                  - setupPIN
              Login:
                  - tempAccountIdentifier
                  - setupPIN
          ElectricalMeasurement:
              GetProfileInfoResponseCommand:
                  - profileCount
                  - profileIntervalPeriod
                  - maxNumberOfIntervals
                  - listOfAttributes
              GetMeasurementProfileResponseCommand:
                  - startTime
                  - status
                  - profileIntervalPeriod
                  - numberOfIntervalsDelivered
                  - attributeId
                  - intervals
              GetMeasurementProfileCommand:
                  - attributeId
                  - startTime
                  - numberOfIntervals
          TestCluster:
              TestSpecificResponse:
                  - returnValue
              TestAddArgumentsResponse:
                  - returnValue
              TestSimpleArgumentResponse:
                  - returnValue
              TestStructArrayArgumentResponse:
                  - arg1
                  - arg2
                  - arg3
                  - arg4
                  - arg5
                  - arg6
              TestAddArguments:
                  - arg1
                  - arg2
              TestListInt8UReverseResponse:
                  - arg1
              TestSimpleArgumentRequest:
                  - arg1
              TestEnumsResponse:
                  - arg1
                  - arg2
              TestStructArrayArgumentRequest:
                  - arg1
                  - arg2
                  - arg3
                  - arg4
                  - arg5
                  - arg6
              TestNullableOptionalResponse:
                  - wasPresent
                  - wasNull
                  - value
                  - originalValue
              TestStructArgumentRequest:
                  - arg1
              TestComplexNullableOptionalResponse:
                  - nullableIntWasNull
                  - nullableIntValue
                  - optionalIntWasPresent
                  - optionalIntValue
                  - nullableOptionalIntWasPresent
                  - nullableOptionalIntWasNull
                  - nullableOptionalIntValue
                  - nullableStringWasNull
                  - nullableStringValue
                  - optionalStringWasPresent
                  - optionalStringValue
                  - nullableOptionalStringWasPresent
                  - nullableOptionalStringWasNull
                  - nullableOptionalStringValue
                  - nullableStructWasNull
                  - nullableStructValue
                  - optionalStructWasPresent
                  - optionalStructValue
                  - nullableOptionalStructWasPresent
                  - nullableOptionalStructWasNull
                  - nullableOptionalStructValue
                  - nullableListWasNull
                  - nullableListValue
                  - optionalListWasPresent
                  - optionalListValue
                  - nullableOptionalListWasPresent
                  - nullableOptionalListWasNull
                  - nullableOptionalListValue
              TestNestedStructArgumentRequest:
                  - arg1
              BooleanResponse:
                  - value
              TestListStructArgumentRequest:
                  - arg1
              SimpleStructResponse:
                  - arg1
              TestListInt8UArgumentRequest:
                  - arg1
              TestEmitTestEventResponse:
                  - value
              TestNestedStructListArgumentRequest:
                  - arg1
              TestEmitTestFabricScopedEventResponse:
                  - value
              TestListNestedStructListArgumentRequest:
                  - arg1
              TestListInt8UReverseRequest:
                  - arg1
              TestEnumsRequest:
                  - arg1
                  - arg2
              TestNullableOptionalRequest:
                  - arg1
              TestComplexNullableOptionalRequest:
                  - nullableInt
                  - optionalInt
                  - nullableOptionalInt
                  - nullableString
                  - optionalString
                  - nullableOptionalString
                  - nullableStruct
                  - optionalStruct
                  - nullableOptionalStruct
                  - nullableList
                  - optionalList
                  - nullableOptionalList
              SimpleStructEchoRequest:
                  - arg1
              TestSimpleOptionalArgumentRequest:
                  - arg1
              TestEmitTestEventRequest:
                  - arg1
                  - arg2
                  - arg3
              TestEmitTestFabricScopedEventRequest:
                  - arg1
          FaultInjection:
              FailAtFault:
                  - type
                  - id
                  - numCallsToSkip
                  - numCallsToFail
                  - takeMutex
              FailRandomlyAtFault:
                  - type
                  - id
                  - percentage
      structs:
          Scenes:
              - AttributeValuePair
              - ExtensionFieldSet
          Descriptor:
              - DeviceType
          Binding:
              - TargetStruct
          AccessControl:
              - Target
              - AccessControlEntry
              - ExtensionEntry
          Actions:
              - ActionStruct
              - EndpointListStruct
          Basic:
              - CapabilityMinimaStruct
          OtaSoftwareUpdateRequestor:
              - ProviderLocation
          PowerSource:
              - BatChargeFaultChangeType
              - BatFaultChangeType
              - WiredFaultChangeType
          GeneralCommissioning:
              - BasicCommissioningInfo
          NetworkCommissioning:
              - NetworkInfo
              - ThreadInterfaceScanResult
              - WiFiInterfaceScanResult
          GeneralDiagnostics:
              - NetworkInterfaceType
          SoftwareDiagnostics:
              - ThreadMetrics
          ThreadNetworkDiagnostics:
              - NeighborTable
              - OperationalDatasetComponents
              - RouteTable
              - SecurityPolicy
          TimeSynchronization:
              - DstOffsetType
              - TimeZoneType
          OperationalCredentials:
              - FabricDescriptor
              - NOCStruct
          GroupKeyManagement:
              - GroupInfoMapStruct
              - GroupKeyMapStruct
              - GroupKeySetStruct
          FixedLabel:
              - LabelStruct
          UserLabel:
              - LabelStruct
          ModeSelect:
              - SemanticTag
              - ModeOptionStruct
          DoorLock:
              - DlCredential
          Thermostat:
              - ThermostatScheduleTransition
          Channel:
              - ChannelInfo
              - LineupInfo
          TargetNavigator:
              - TargetInfo
          MediaPlayback:
              - PlaybackPosition
          MediaInput:
              - InputInfo
          ContentLauncher:
              - Dimension
              - AdditionalInfo
              - Parameter
              - ContentSearch
              - StyleInformation
              - BrandingInformation
          AudioOutput:
              - OutputInfo
          ApplicationLauncher:
              - Application
              - ApplicationEP
          ApplicationBasic:
              - ApplicationBasicApplication
          TestCluster:
              - SimpleStruct
              - TestFabricScoped
              - NullablesAndOptionalsStruct
              - NestedStruct
              - NestedStructList
              - DoubleNestedStructList
              - TestListStructOctet
      struct fields:
          Scenes:
              AttributeValuePair:
                  - attributeId
                  - attributeValue
              ExtensionFieldSet:
                  - clusterId
                  - attributeValueList
          Descriptor:
              DeviceType:
                  - type
                  - revision
          Binding:
              TargetStruct:
                  - node
                  - group
                  - endpoint
                  - cluster
                  - fabricIndex
          AccessControl:
              Target:
                  - cluster
                  - endpoint
                  - deviceType
              AccessControlEntry:
                  - privilege
                  - authMode
                  - subjects
                  - targets
                  - fabricIndex
              ExtensionEntry:
                  - data
                  - fabricIndex
          Actions:
              ActionStruct:
                  - actionID
                  - name
                  - type
                  - endpointListID
                  - supportedCommands
                  - state
              EndpointListStruct:
                  - endpointListID
                  - name
                  - type
                  - endpoints
          Basic:
              CapabilityMinimaStruct:
                  - caseSessionsPerFabric
                  - subscriptionsPerFabric
          OtaSoftwareUpdateRequestor:
              ProviderLocation:
                  - providerNodeID
                  - endpoint
                  - fabricIndex
          PowerSource:
              BatChargeFaultChangeType:
                  - current
                  - previous
              BatFaultChangeType:
                  - current
                  - previous
              WiredFaultChangeType:
                  - current
                  - previous
          GeneralCommissioning:
              BasicCommissioningInfo:
                  - failSafeExpiryLengthSeconds
                  - maxCumulativeFailsafeSeconds
          NetworkCommissioning:
              NetworkInfo:
                  - networkID
                  - connected
              ThreadInterfaceScanResult:
                  - panId
                  - extendedPanId
                  - networkName
                  - channel
                  - version
                  - extendedAddress
                  - rssi
                  - lqi
              WiFiInterfaceScanResult:
                  - security
                  - ssid
                  - bssid
                  - channel
                  - wiFiBand
                  - rssi
          GeneralDiagnostics:
              NetworkInterfaceType:
                  - name
                  - isOperational
                  - offPremiseServicesReachableIPv4
                  - offPremiseServicesReachableIPv6
                  - hardwareAddress
                  - iPv4Addresses
                  - iPv6Addresses
                  - type
          SoftwareDiagnostics:
              ThreadMetrics:
                  - id
                  - name
                  - stackFreeCurrent
                  - stackFreeMinimum
                  - stackSize
          ThreadNetworkDiagnostics:
              NeighborTable:
                  - extAddress
                  - age
                  - rloc16
                  - linkFrameCounter
                  - mleFrameCounter
                  - lqi
                  - averageRssi
                  - lastRssi
                  - frameErrorRate
                  - messageErrorRate
                  - rxOnWhenIdle
                  - fullThreadDevice
                  - fullNetworkData
                  - isChild
              OperationalDatasetComponents:
                  - activeTimestampPresent
                  - pendingTimestampPresent
                  - masterKeyPresent
                  - networkNamePresent
                  - extendedPanIdPresent
                  - meshLocalPrefixPresent
                  - delayPresent
                  - panIdPresent
                  - channelPresent
                  - pskcPresent
                  - securityPolicyPresent
                  - channelMaskPresent
              RouteTable:
                  - extAddress
                  - rloc16
                  - routerId
                  - nextHop
                  - pathCost
                  - lqiIn
                  - lqiOut
                  - age
                  - allocated
                  - linkEstablished
              SecurityPolicy:
                  - rotationTime
                  - flags
          TimeSynchronization:
              DstOffsetType:
                  - offset
                  - validStarting
                  - validUntil
              TimeZoneType:
                  - offset
                  - validAt
                  - name
          OperationalCredentials:
              FabricDescriptor:
                  - rootPublicKey
                  - vendorId
                  - fabricId
                  - nodeId
                  - label
                  - fabricIndex
              NOCStruct:
                  - noc
                  - icac
                  - fabricIndex
          GroupKeyManagement:
              GroupInfoMapStruct:
                  - groupId
                  - endpoints
                  - groupName
                  - fabricIndex
              GroupKeyMapStruct:
                  - groupId
                  - groupKeySetID
                  - fabricIndex
              GroupKeySetStruct:
                  - groupKeySetID
                  - groupKeySecurityPolicy
                  - epochKey0
                  - epochStartTime0
                  - epochKey1
                  - epochStartTime1
                  - epochKey2
                  - epochStartTime2
          FixedLabel:
              LabelStruct:
                  - label
                  - value
          UserLabel:
              LabelStruct:
                  - label
                  - value
          ModeSelect:
              SemanticTag:
                  - mfgCode
                  - value
              ModeOptionStruct:
                  - label
                  - mode
                  - semanticTags
          DoorLock:
              DlCredential:
                  - credentialType
                  - credentialIndex
          Thermostat:
              ThermostatScheduleTransition:
                  - transitionTime
                  - heatSetpoint
                  - coolSetpoint
          Channel:
              ChannelInfo:
                  - majorNumber
                  - minorNumber
                  - name
                  - callSign
                  - affiliateCallSign
              LineupInfo:
                  - operatorName
                  - lineupName
                  - postalCode
                  - lineupInfoType
          TargetNavigator:
              TargetInfo:
                  - identifier
                  - name
          MediaPlayback:
              PlaybackPosition:
                  - updatedAt
                  - position
          MediaInput:
              InputInfo:
                  - index
                  - inputType
                  - name
                  - descriptionString
          ContentLauncher:
              Dimension:
                  - width
                  - height
                  - metric
              AdditionalInfo:
                  - name
                  - value
              Parameter:
                  - type
                  - value
                  - externalIDList
              ContentSearch:
                  - parameterList
              StyleInformation:
                  - imageUrl
                  - color
                  - size
              BrandingInformation:
                  - providerName
                  - background
                  - logo
                  - progressBar
                  - splash
                  - waterMark
          AudioOutput:
              OutputInfo:
                  - index
                  - outputType
                  - name
          ApplicationLauncher:
              Application:
                  - catalogVendorId
                  - applicationId
              ApplicationEP:
                  - application
                  - endpoint
          ApplicationBasic:
              ApplicationBasicApplication:
                  - catalogVendorId
                  - applicationId
          TestCluster:
              SimpleStruct:
                  - a
                  - b
                  - c
                  - d
                  - e
                  - f
                  - g
                  - h
              TestFabricScoped:
                  - fabricSensitiveInt8u
                  - optionalFabricSensitiveInt8u
                  - nullableFabricSensitiveInt8u
                  - nullableOptionalFabricSensitiveInt8u
                  - fabricSensitiveCharString
                  - fabricSensitiveStruct
                  - fabricSensitiveInt8uList
                  - fabricIndex
              NullablesAndOptionalsStruct:
                  - nullableInt
                  - optionalInt
                  - nullableOptionalInt
                  - nullableString
                  - optionalString
                  - nullableOptionalString
                  - nullableStruct
                  - optionalStruct
                  - nullableOptionalStruct
                  - nullableList
                  - optionalList
                  - nullableOptionalList
              NestedStruct:
                  - a
                  - b
                  - c
              NestedStructList:
                  - a
                  - b
                  - c
                  - d
                  - e
                  - f
                  - g
              DoubleNestedStructList:
                  - a
              TestListStructOctet:
                  - member1
                  - member2
      events:
          AccessControl:
              - AccessControlEntryChanged
              - AccessControlExtensionChanged
          Actions:
              - StateChanged
              - ActionFailed
          Basic:
              - StartUp
              - ShutDown
              - Leave
              - ReachableChanged
          OtaSoftwareUpdateRequestor:
              - StateTransition
              - VersionApplied
              - DownloadError
          GeneralDiagnostics:
              - HardwareFaultChange
              - RadioFaultChange
              - NetworkFaultChange
              - BootReason
          SoftwareDiagnostics:
              - SoftwareFault
          ThreadNetworkDiagnostics:
              - ConnectionStatus
              - NetworkFaultChange
          WiFiNetworkDiagnostics:
              - Disconnection
              - AssociationFailure
              - ConnectionStatus
          BridgedDeviceBasic:
              - StartUp
              - ShutDown
              - Leave
              - ReachableChanged
          Switch:
              - SwitchLatched
              - InitialPress
              - LongPress
              - ShortRelease
              - LongRelease
              - MultiPressOngoing
              - MultiPressComplete
          BooleanState:
              - StateChange
          DoorLock:
              - DoorLockAlarm
              - DoorStateChange
              - LockOperation
              - LockOperationError
              - LockUserChange
          PumpConfigurationAndControl:
              - SupplyVoltageLow
              - SupplyVoltageHigh
              - PowerMissingPhase
              - SystemPressureLow
              - SystemPressureHigh
              - DryRunning
              - MotorTemperatureHigh
              - PumpMotorFatalFailure
              - ElectronicTemperatureHigh
              - PumpBlocked
              - SensorFailure
              - ElectronicNonFatalFailure
              - ElectronicFatalFailure
              - GeneralFault
              - Leakage
              - AirDetection
              - TurbineOperation
          TestCluster:
              - TestEvent
              - TestFabricScopedEvent
      event fields:
          AccessControl:
              AccessControlEntryChanged:
                  - adminNodeID
                  - adminPasscodeID
                  - changeType
                  - latestValue
                  - fabricIndex
              AccessControlExtensionChanged:
                  - adminNodeID
                  - adminPasscodeID
                  - changeType
                  - latestValue
                  - fabricIndex
          Actions:
              StateChanged:
                  - actionID
                  - invokeID
                  - newState
              ActionFailed:
                  - actionID
                  - invokeID
                  - newState
                  - error
          Basic:
              StartUp:
                  - softwareVersion
              Leave:
                  - fabricIndex
              ReachableChanged:
                  - reachableNewValue
          OtaSoftwareUpdateRequestor:
              StateTransition:
                  - previousState
                  - newState
                  - reason
                  - targetSoftwareVersion
              VersionApplied:
                  - softwareVersion
                  - productID
              DownloadError:
                  - softwareVersion
                  - bytesDownloaded
                  - progressPercent
                  - platformCode
          GeneralDiagnostics:
              HardwareFaultChange:
                  - current
                  - previous
              RadioFaultChange:
                  - current
                  - previous
              NetworkFaultChange:
                  - current
                  - previous
              BootReason:
                  - bootReason
          SoftwareDiagnostics:
              SoftwareFault:
                  - id
                  - name
                  - faultRecording
          ThreadNetworkDiagnostics:
              ConnectionStatus:
                  - connectionStatus
              NetworkFaultChange:
                  - current
                  - previous
          WiFiNetworkDiagnostics:
              Disconnection:
                  - reasonCode
              AssociationFailure:
                  - associationFailure
                  - status
              ConnectionStatus:
                  - connectionStatus
          BridgedDeviceBasic:
              StartUp:
                  - softwareVersion
              ReachableChanged:
                  - reachableNewValue
          Switch:
              SwitchLatched:
                  - newPosition
              InitialPress:
                  - newPosition
              LongPress:
                  - newPosition
              ShortRelease:
                  - previousPosition
              LongRelease:
                  - previousPosition
              MultiPressOngoing:
                  - newPosition
                  - currentNumberOfPressesCounted
              MultiPressComplete:
                  - newPosition
                  - totalNumberOfPressesCounted
          BooleanState:
              StateChange:
                  - stateValue
          DoorLock:
              DoorLockAlarm:
                  - alarmCode
              DoorStateChange:
                  - doorState
              LockOperation:
                  - lockOperationType
                  - operationSource
                  - userIndex
                  - fabricIndex
                  - sourceNode
                  - credentials
              LockOperationError:
                  - lockOperationType
                  - operationSource
                  - operationError
                  - userIndex
                  - fabricIndex
                  - sourceNode
                  - credentials
              LockUserChange:
                  - lockDataType
                  - dataOperationType
                  - operationSource
                  - userIndex
                  - fabricIndex
                  - sourceNode
                  - dataIndex
          PumpConfigurationAndControl:
          TestCluster:
              TestEvent:
                  - arg1
                  - arg2
                  - arg3
                  - arg4
                  - arg5
                  - arg6
              TestFabricScopedEvent:
                  - fabricIndex
      enums:
          Identify:
              - IdentifyEffectIdentifier
              - IdentifyEffectVariant
              - IdentifyIdentifyType
          OnOff:
              - OnOffDelayedAllOffEffectVariant
              - OnOffDyingLightEffectVariant
              - OnOffEffectIdentifier
              - OnOffStartUpOnOff
          LevelControl:
              - MoveMode
              - StepMode
          AccessControl:
              - AuthMode
              - ChangeTypeEnum
              - Privilege
          Actions:
              - ActionErrorEnum
              - ActionStateEnum
              - ActionTypeEnum
              - EndpointListTypeEnum
          OtaSoftwareUpdateProvider:
              - OTAApplyUpdateAction
              - OTADownloadProtocol
              - OTAQueryStatus
          OtaSoftwareUpdateRequestor:
              - OTAAnnouncementReason
              - OTAChangeReasonEnum
              - OTAUpdateStateEnum
          TimeFormatLocalization:
              # CalendarTypeEnum and HourFormatEnum were originally just named
              # CalendarType and HourFormat, but we generate the same API for
              # the names with/without "Enum" at the end, so the name can just
              # change here.
              - CalendarTypeEnum
              - HourFormatEnum
          UnitLocalization:
              # TempUnitEnum was originally just named TempUnit, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - TempUnitEnum
          PowerSource:
              # All the PowerSource enums originally did not have the "Enum"
              # suffix, but we generate the same API whether that suffix is
              # there or not, so the names can just change here.
              - BatChargeFaultEnum
              - BatChargeLevelEnum
              - BatChargeStateEnum
              - BatFaultEnum
              - BatReplaceabilityEnum
              - PowerSourceStatusEnum
              - WiredCurrentTypeEnum
              - WiredFaultEnum
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              - CommissioningErrorEnum
              # RegulatoryLocationTypeEnum was originally just named
              # RegulatoryLocationType, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              - RegulatoryLocationTypeEnum
          NetworkCommissioning:
              - NetworkCommissioningStatus
              - WiFiBand
          DiagnosticLogs:
              - LogsIntent
              - LogsStatus
              - LogsTransferProtocol
          GeneralDiagnostics:
              - BootReasonType
              - HardwareFaultType
              # InterfaceTypeEnum was originally just named InterfaceType, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - InterfaceTypeEnum
              - NetworkFaultType
              - RadioFaultType
          ThreadNetworkDiagnostics:
              - NetworkFault
              - RoutingRole
              - ThreadConnectionStatus
          WiFiNetworkDiagnostics:
              # AssociationFailureCauseEnum was originally just named
              # AssociationFailureCause, but we generate the same API for both
              # of those names, so the name can just change here.
              - AssociationFailureCauseEnum
              # SecurityTypeEnum was originally just named SecurityType, but we
              # generate the same API for both of those names, so the name can
              # just change here.
              - SecurityTypeEnum
              - WiFiConnectionStatus
              - WiFiVersionType
          EthernetNetworkDiagnostics:
              - PHYRateType
          TimeSynchronization:
              - GranularityEnum
              - TimeSourceEnum
          AdministratorCommissioning:
              # CommissioningWindowStatusEnum was originally just named
              # CommissioningWindowStatus, but we generate the same API for both
              # of those names, so the name can just change here.
              - CommissioningWindowStatusEnum
              - StatusCode
          OperationalCredentials:
              - OperationalCertStatus
          GroupKeyManagement:
              # GroupKeySecurityPolicyEnum was originally just named
              # GroupKeySecurityPolicy, but we generate the same API for both of
              # those names, so the name can just change here.
              - GroupKeySecurityPolicyEnum
          DoorLock:
              - DlAlarmCode
              - DlCredentialRule
              - DlCredentialType
              - DlDataOperationType
              - DlDoorState
              - DlLockDataType
              - DlLockOperationType
              - DlLockState
              - DlLockType
              - DlOperatingMode
              - DlOperationError
              - DlOperationSource
              - DlStatus
              - DlUserStatus
              - DlUserType
              - DoorLockOperationEventCode
              - DoorLockProgrammingEventCode
              - DoorLockSetPinOrIdStatus
              - DoorLockUserStatus
              - DoorLockUserType
              # UserTypeEnum and UserStatusEnum use the same generated name as
              # DoorLockUserStatus and DoorLockUserType, so need to be
              # considered as introduced at the same time.
              - UserStatusEnum
              - UserTypeEnum
          WindowCovering:
              - EndProductType
              - Type
          PumpConfigurationAndControl:
              - PumpControlMode
              - PumpOperationMode
          Thermostat:
              - SetpointAdjustMode
              - ThermostatControlSequence
              - ThermostatRunningMode
              - ThermostatSystemMode
          FanControl:
              - FanModeSequenceType
              - FanModeType
          ColorControl:
              - ColorLoopAction
              - ColorLoopDirection
              - ColorMode
              - HueDirection
              - HueMoveMode
              - HueStepMode
              - SaturationMoveMode
              - SaturationStepMode
          IlluminanceMeasurement:
              - LightSensorType
          Channel:
              - ChannelStatusEnum
              - LineupInfoTypeEnum
          TargetNavigator:
              - TargetNavigatorStatusEnum
          MediaPlayback:
              - MediaPlaybackStatusEnum
              - PlaybackStateEnum
          MediaInput:
              - InputTypeEnum
          KeypadInput:
              - CecKeyCode
              - KeypadInputStatusEnum
          ContentLauncher:
              - ContentLaunchStatusEnum
              - MetricTypeEnum
              - ParameterEnum
          AudioOutput:
              - OutputTypeEnum
          ApplicationLauncher:
              - ApplicationLauncherStatusEnum
          ApplicationBasic:
              - ApplicationStatusEnum
          TestCluster:
              - SimpleEnum
          FaultInjection:
              - FaultType
      enum values:
          Identify:
              IdentifyEffectIdentifier:
                  - Blink
                  - Breathe
                  - Okay
                  - ChannelChange
                  - FinishEffect
                  - StopEffect
              IdentifyEffectVariant:
                  - Default
              IdentifyIdentifyType:
                  - None
                  - VisibleLight
                  - VisibleLED
                  - AudibleBeep
                  - Display
                  - Actuator
          OnOff:
              OnOffDelayedAllOffEffectVariant:
                  - FadeToOffIn0p8Seconds
                  - NoFade
                  - 50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds
              OnOffDyingLightEffectVariant:
                  - 20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second
              OnOffEffectIdentifier:
                  - DelayedAllOff
                  - DyingLight
              OnOffStartUpOnOff:
                  - Off
                  - On
                  - TogglePreviousOnOff
          LevelControl:
              MoveMode:
                  - Up
                  - Down
              StepMode:
                  - Up
                  - Down
          AccessControl:
              AuthMode:
                  - PASE
                  - CASE
                  - Group
              ChangeTypeEnum:
                  - Changed
                  - Added
                  - Removed
              Privilege:
                  - View
                  - ProxyView
                  - Operate
                  - Manage
                  - Administer
          Actions:
              ActionErrorEnum:
                  - Unknown
                  - Interrupted
              ActionStateEnum:
                  - Inactive
                  - Active
                  - Paused
                  - Disabled
              ActionTypeEnum:
                  - Other
                  - Scene
                  - Sequence
                  - Automation
                  - Exception
                  - Notification
                  - Alarm
              EndpointListTypeEnum:
                  - Other
                  - Room
                  - Zone
          OtaSoftwareUpdateProvider:
              OTAApplyUpdateAction:
                  - Proceed
                  - AwaitNextAction
                  - Discontinue
              OTADownloadProtocol:
                  - BDXSynchronous
                  - BDXAsynchronous
                  - HTTPS
                  - VendorSpecific
              OTAQueryStatus:
                  - UpdateAvailable
                  - Busy
                  - NotAvailable
                  - DownloadProtocolNotSupported
          OtaSoftwareUpdateRequestor:
              OTAAnnouncementReason:
                  - SimpleAnnouncement
                  - UpdateAvailable
                  - UrgentUpdateAvailable
              OTAChangeReasonEnum:
                  - Unknown
                  - Success
                  - Failure
                  - TimeOut
                  - DelayByProvider
              OTAUpdateStateEnum:
                  - Unknown
                  - Idle
                  - Querying
                  - DelayedOnQuery
                  - Downloading
                  - Applying
                  - DelayedOnApply
                  - RollingBack
                  - DelayedOnUserConsent
          TimeFormatLocalization:
              # CalendarTypeEnum and HourFormatEnum were originally just named
              # CalendarType and HourFormat, but we generate the same API for
              # the names with/without "Enum" at the end, so the name can just
              # change here.
              CalendarTypeEnum:
                  - Buddhist
                  - Chinese
                  - Coptic
                  - Ethiopian
                  - Gregorian
                  - Hebrew
                  - Indian
                  - Islamic
                  - Japanese
                  - Korean
                  - Persian
                  - Taiwanese
              HourFormatEnum:
                  - 12hr
                  - 24hr
          UnitLocalization:
              # TempUnitEnum was originally just named TempUnit, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              TempUnitEnum:
                  - Fahrenheit
                  - Celsius
                  - Kelvin
          PowerSource:
              # All the PowerSource enums originally did not have the "Enum"
              # suffix, but we generate the same API whether that suffix is
              # there or not, so the names can just change here.
              BatChargeFaultEnum:
                  - Unspecfied
                  - AmbientTooHot
                  - AmbientTooCold
                  - BatteryTooHot
                  - BatteryTooCold
                  - BatteryAbsent
                  - BatteryOverVoltage
                  - BatteryUnderVoltage
                  - ChargerOverVoltage
                  - ChargerUnderVoltage
                  - SafetyTimeout
              BatChargeLevelEnum:
                  - Ok
                  - Warning
                  - Critical
              BatChargeStateEnum:
                  - Unknown
                  - IsCharging
                  - IsAtFullCharge
                  - IsNotCharging
              BatFaultEnum:
                  - Unspecfied
                  - OverTemp
                  - UnderTemp
              BatReplaceabilityEnum:
                  - Unspecified
                  - NotReplaceable
                  - UserReplaceable
                  - FactoryReplaceable
              PowerSourceStatusEnum:
                  - Unspecfied
                  - Active
                  - Standby
                  - Unavailable
              WiredCurrentTypeEnum:
                  - AC
                  - DC
              WiredFaultEnum:
                  - Unspecfied
                  - OverVoltage
                  - UnderVoltage
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  - Ok
                  - ValueOutsideRange
                  - InvalidAuthentication
                  - NoFailSafe
                  - BusyWithOtherAdmin
              # RegulatoryLocationTypeEnum was originally just named
              # RegulatoryLocationType, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              RegulatoryLocationTypeEnum:
                  - Indoor
                  - Outdoor
                  - IndoorOutdoor
          NetworkCommissioning:
              NetworkCommissioningStatus:
                  - Success
                  - OutOfRange
                  - BoundsExceeded
                  - NetworkIDNotFound
                  - DuplicateNetworkID
                  - NetworkNotFound
                  - RegulatoryError
                  - AuthFailure
                  - UnsupportedSecurity
                  - OtherConnectionFailure
                  - IPV6Failed
                  - IPBindFailed
                  - UnknownError
              WiFiBand:
                  - 2G4
                  - 3G65
                  - 5G
                  - 6G
                  - 60G
          DiagnosticLogs:
              LogsIntent:
                  - EndUserSupport
                  - NetworkDiag
                  - CrashLogs
              LogsStatus:
                  - Success
                  - Exhausted
                  - NoLogs
                  - Busy
                  - Denied
              LogsTransferProtocol:
                  - ResponsePayload
                  - BDX
          GeneralDiagnostics:
              BootReasonType:
                  - Unspecified
                  - PowerOnReboot
                  - BrownOutReset
                  - SoftwareWatchdogReset
                  - HardwareWatchdogReset
                  - SoftwareUpdateCompleted
                  - SoftwareReset
              HardwareFaultType:
                  - Unspecified
                  - Radio
                  - Sensor
                  - ResettableOverTemp
                  - NonResettableOverTemp
                  - PowerSource
                  - VisualDisplayFault
                  - AudioOutputFault
                  - UserInterfaceFault
                  - NonVolatileMemoryError
                  - TamperDetected
              # InterfaceTypeEnum was originally just named InterfaceType, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              InterfaceTypeEnum:
                  - Unspecified
                  - WiFi
                  - Ethernet
                  - Cellular
                  - Thread
              NetworkFaultType:
                  - Unspecified
                  - HardwareFailure
                  - NetworkJammed
                  - ConnectionFailed
              RadioFaultType:
                  - Unspecified
                  - WiFiFault
                  - CellularFault
                  - ThreadFault
                  - NFCFault
                  - BLEFault
                  - EthernetFault
          ThreadNetworkDiagnostics:
              NetworkFault:
                  - Unspecified
                  - LinkDown
                  - HardwareFailure
                  - NetworkJammed
              RoutingRole:
                  - Unspecified
                  - Unassigned
                  - SleepyEndDevice
                  - EndDevice
                  - REED
                  - Router
                  - Leader
              ThreadConnectionStatus:
                  - Connected
                  - NotConnected
          WiFiNetworkDiagnostics:
              # AssociationFailureCauseEnum was originally just named
              # AssociationFailureCause, but we generate the same API for both
              # of those names, so the name can just change here.
              AssociationFailureCauseEnum:
                  - Unknown
                  - AssociationFailed
                  - AuthenticationFailed
                  - SsidNotFound
              # SecurityTypeEnum was originally just named SecurityType, but we
              # generate the same API for both of those names, so the name can
              # just change here.
              SecurityTypeEnum:
                  - Unspecified
                  - None
                  - WEP
                  - WPA
                  - WPA2
                  - WPA3
              WiFiConnectionStatus:
                  - Connected
                  - NotConnected
              WiFiVersionType:
                  - 80211a
                  - 80211b
                  - 80211g
                  - 80211n
                  - 80211ac
                  - 80211ax
          EthernetNetworkDiagnostics:
              PHYRateType:
                  - 10M
                  - 100M
                  - 1000M
                  - 25G
                  - 5G
                  - 10G
                  - 40G
                  - 100G
                  - 200G
                  - 400G
          TimeSynchronization:
              GranularityEnum:
                  - NoTimeGranularity
                  - MinutesGranularity
                  - SecondsGranularity
                  - MillisecondsGranularity
                  - MicrosecondsGranularity
              TimeSourceEnum:
                  - None
                  - Unknown
                  - Admin
                  - NodeTimeCluster
                  - NonFabricSntp
                  - NonFabricNtp
                  - FabricSntp
                  - FabricNtp
                  - MixedNtp
                  - NonFabricSntpNts
                  - NonFabricNtpNts
                  - FabricSntpNts
                  - FabricNtpNts
                  - MixedNtpNts
                  - CloudSource
                  - Ptp
                  - Gnss
          AdministratorCommissioning:
              # CommissioningWindowStatusEnum was originally just named
              # CommissioningWindowStatus, but we generate the same API for both
              # of those names, so the name can just change here.
              CommissioningWindowStatusEnum:
                  - WindowNotOpen
                  - EnhancedWindowOpen
                  - BasicWindowOpen
              StatusCode:
                  - Busy
                  - PAKEParameterError
                  - WindowNotOpen
          OperationalCredentials:
              OperationalCertStatus:
                  - SUCCESS
                  - InvalidPublicKey
                  - InvalidNodeOpId
                  - InvalidNOC
                  - MissingCsr
                  - TableFull
                  - InvalidAdminSubject
                  - FabricConflict
                  - LabelConflict
                  - InvalidFabricIndex
          GroupKeyManagement:
              # GroupKeySecurityPolicyEnum was originally just named
              # GroupKeySecurityPolicy, but we generate the same API for both of
              # those names, so the name can just change here.
              GroupKeySecurityPolicyEnum:
                  - TrustFirst
                  - CacheAndSync
          DoorLock:
              DlAlarmCode:
                  - LockJammed
                  - LockFactoryReset
                  - LockRadioPowerCycled
                  - WrongCodeEntryLimit
                  - FrontEsceutcheonRemoved
                  - DoorForcedOpen
                  - DoorAjar
                  - ForcedUser
              DlCredentialRule:
                  - Single
                  - Double
                  - Tri
              DlCredentialType:
                  - ProgrammingPIN
                  - PIN
                  - RFID
                  - Fingerprint
                  - FingerVein
                  - Face
              DlDataOperationType:
                  - Add
                  - Clear
                  - Modify
              DlDoorState:
                  - DoorOpen
                  - DoorClosed
                  - DoorJammed
                  - DoorForcedOpen
                  - DoorUnspecifiedError
                  - DoorAjar
              DlLockDataType:
                  - Unspecified
                  - ProgrammingCode
                  - UserIndex
                  - WeekDaySchedule
                  - YearDaySchedule
                  - HolidaySchedule
                  - PIN
                  - RFID
                  - Fingerprint
              DlLockOperationType:
                  - Lock
                  - Unlock
                  - NonAccessUserEvent
                  - ForcedUserEvent
              DlLockState:
                  - NotFullyLocked
                  - Locked
                  - Unlocked
              DlLockType:
                  - DeadBolt
                  - Magnetic
                  - Other
                  - Mortise
                  - Rim
                  - LatchBolt
                  - CylindricalLock
                  - TubularLock
                  - InterconnectedLock
                  - DeadLatch
                  - DoorFurniture
              DlOperatingMode:
                  - Normal
                  - Vacation
                  - Privacy
                  - NoRemoteLockUnlock
                  - Passage
              DlOperationError:
                  - Unspecified
                  - InvalidCredential
                  - DisabledUserDenied
                  - Restricted
                  - InsufficientBattery
              DlOperationSource:
                  - Unspecified
                  - Manual
                  - ProprietaryRemote
                  - Keypad
                  - Auto
                  - Button
                  - Schedule
                  - Remote
                  - RFID
                  - Biometric
              DlStatus:
                  - Success
                  - Failure
                  - Duplicate
                  - Occupied
                  - InvalidField
                  - ResourceExhausted
                  - NotFound
              DlUserStatus:
                  - Available
                  - OccupiedEnabled
                  - OccupiedDisabled
              DlUserType:
                  - UnrestrictedUser
                  - YearDayScheduleUser
                  - WeekDayScheduleUser
                  - ProgrammingUser
                  - NonAccessUser
                  - ForcedUser
                  - DisposableUser
                  - ExpiringUser
                  - ScheduleRestrictedUser
                  - RemoteOnlyUser
              DoorLockOperationEventCode:
                  - UnknownOrMfgSpecific
                  - Lock
                  - Unlock
                  - LockInvalidPinOrId
                  - LockInvalidSchedule
                  - UnlockInvalidPinOrId
                  - UnlockInvalidSchedule
                  - OneTouchLock
                  - KeyLock
                  - KeyUnlock
                  - AutoLock
                  - ScheduleLock
                  - ScheduleUnlock
                  - ManualLock
                  - ManualUnlock
              DoorLockProgrammingEventCode:
                  - UnknownOrMfgSpecific
                  - MasterCodeChanged
                  - PinAdded
                  - PinDeleted
                  - PinChanged
                  - IdAdded
                  - IdDeleted
              DoorLockSetPinOrIdStatus:
                  - Success
                  - GeneralFailure
                  - MemoryFull
                  - DuplicateCodeError
              DoorLockUserStatus:
                  - Available
                  - OccupiedEnabled
                  - OccupiedDisabled
                  - NotSupported
              DoorLockUserType:
                  - Unrestricted
                  - YearDayScheduleUser
                  - WeekDayScheduleUser
                  - MasterUser
                  - NonAccessUser
                  - NotSupported
              # UserTypeEnum and UserStatusEnum use the same generated name as
              # DoorLockUserStatus and DoorLockUserType, so need to be
              # considered as introduced at the same time, with the enum value
              # names that match DoorLockUserStatus and DoorLockUserType.
              UserStatusEnum:
                  - Available
                  - OccupiedEnabled
                  - OccupiedDisabled
                  - NotSupported
              UserTypeEnum:
                  - Unrestricted
                  - YearDayScheduleUser
                  - WeekDayScheduleUser
                  - MasterUser
                  - NonAccessUser
                  - NotSupported
          WindowCovering:
              EndProductType:
                  - RollerShade
                  - RomanShade
                  - BalloonShade
                  - WovenWood
                  - PleatedShade
                  - CellularShade
                  - LayeredShade
                  - LayeredShade2D
                  - SheerShade
                  - TiltOnlyInteriorBlind
                  - InteriorBlind
                  - VerticalBlindStripCurtain
                  - InteriorVenetianBlind
                  - ExteriorVenetianBlind
                  - LateralLeftCurtain
                  - LateralRightCurtain
                  - CentralCurtain
                  - RollerShutter
                  - ExteriorVerticalScreen
                  - AwningTerracePatio
                  - AwningVerticalScreen
                  - TiltOnlyPergola
                  - SwingingShutter
                  - SlidingShutter
                  - Unknown
              Type:
                  - RollerShade
                  - RollerShade2Motor
                  - RollerShadeExterior
                  - RollerShadeExterior2Motor
                  - Drapery
                  - Awning
                  - Shutter
                  - TiltBlindTiltOnly
                  - TiltBlindLiftAndTilt
                  - ProjectorScreen
                  - Unknown
          PumpConfigurationAndControl:
              PumpControlMode:
                  - ConstantSpeed
                  - ConstantPressure
                  - ProportionalPressure
                  - ConstantFlow
                  - ConstantTemperature
                  - Automatic
              PumpOperationMode:
                  - Normal
                  - Minimum
                  - Maximum
                  - Local
          Thermostat:
              SetpointAdjustMode:
                  - HeatSetpoint
                  - CoolSetpoint
                  - HeatAndCoolSetpoints
              ThermostatControlSequence:
                  - CoolingOnly
                  - CoolingWithReheat
                  - HeatingOnly
                  - HeatingWithReheat
                  - CoolingAndHeating
                  - CoolingAndHeatingWithReheat
              ThermostatRunningMode:
                  - Off
                  - Cool
                  - Heat
              ThermostatSystemMode:
                  - Off
                  - Auto
                  - Cool
                  - Heat
                  - EmergencyHeating
                  - Precooling
                  - FanOnly
          FanControl:
              FanModeSequenceType:
                  - OffLowMedHigh
                  - OffLowHigh
                  - OffLowMedHighAuto
                  - OffLowHighAuto
                  - OffOnAuto
                  - OffOn
              FanModeType:
                  - Off
                  - Low
                  - Medium
                  - High
                  - On
                  - Auto
                  - Smart
          ColorControl:
              ColorLoopAction:
                  - Deactivate
                  - ActivateFromColorLoopStartEnhancedHue
                  - ActivateFromEnhancedCurrentHue
              ColorLoopDirection:
                  - DecrementHue
                  - IncrementHue
              ColorMode:
                  - CurrentHueAndCurrentSaturation
                  - CurrentXAndCurrentY
                  - ColorTemperature
              HueDirection:
                  - ShortestDistance
                  - LongestDistance
                  - Up
                  - Down
              HueMoveMode:
                  - Stop
                  - Up
                  - Down
              HueStepMode:
                  - Up
                  - Down
              SaturationMoveMode:
                  - Stop
                  - Up
                  - Down
              SaturationStepMode:
                  - Up
                  - Down
          IlluminanceMeasurement:
              LightSensorType:
                  - Photodiode
                  - CMOS
          Channel:
              ChannelStatusEnum:
                  - Success
                  - MultipleMatches
                  - NoMatches
              LineupInfoTypeEnum:
                  - Mso
          TargetNavigator:
              TargetNavigatorStatusEnum:
                  - Success
                  - TargetNotFound
                  - NotAllowed
          MediaPlayback:
              MediaPlaybackStatusEnum:
                  - Success
                  - InvalidStateForCommand
                  - NotAllowed
                  - NotActive
                  - SpeedOutOfRange
                  - SeekOutOfRange
              PlaybackStateEnum:
                  - Playing
                  - Paused
                  - NotPlaying
                  - Buffering
          MediaInput:
              InputTypeEnum:
                  - Internal
                  - Aux
                  - Coax
                  - Composite
                  - Hdmi
                  - Input
                  - Line
                  - Optical
                  - Video
                  - Scart
                  - Usb
                  - Other
          KeypadInput:
              CecKeyCode:
                  - Select
                  - Up
                  - Down
                  - Left
                  - Right
                  - RightUp
                  - RightDown
                  - LeftUp
                  - LeftDown
                  - RootMenu
                  - SetupMenu
                  - ContentsMenu
                  - FavoriteMenu
                  - Exit
                  - MediaTopMenu
                  - MediaContextSensitiveMenu
                  - NumberEntryMode
                  - Number11
                  - Number12
                  - Number0OrNumber10
                  - Numbers1
                  - Numbers2
                  - Numbers3
                  - Numbers4
                  - Numbers5
                  - Numbers6
                  - Numbers7
                  - Numbers8
                  - Numbers9
                  - Dot
                  - Enter
                  - Clear
                  - NextFavorite
                  - ChannelUp
                  - ChannelDown
                  - PreviousChannel
                  - SoundSelect
                  - InputSelect
                  - DisplayInformation
                  - Help
                  - PageUp
                  - PageDown
                  - Power
                  - VolumeUp
                  - VolumeDown
                  - Mute
                  - Play
                  - Stop
                  - Pause
                  - Record
                  - Rewind
                  - FastForward
                  - Eject
                  - Forward
                  - Backward
                  - StopRecord
                  - PauseRecord
                  - Reserved
                  - Angle
                  - SubPicture
                  - VideoOnDemand
                  - ElectronicProgramGuide
                  - TimerProgramming
                  - InitialConfiguration
                  - SelectBroadcastType
                  - SelectSoundPresentation
                  - PlayFunction
                  - PausePlayFunction
                  - RecordFunction
                  - PauseRecordFunction
                  - StopFunction
                  - MuteFunction
                  - RestoreVolumeFunction
                  - TuneFunction
                  - SelectMediaFunction
                  - SelectAvInputFunction
                  - SelectAudioInputFunction
                  - PowerToggleFunction
                  - PowerOffFunction
                  - PowerOnFunction
                  - F1Blue
                  - F2Red
                  - F3Green
                  - F4Yellow
                  - F5
                  - Data
              KeypadInputStatusEnum:
                  - Success
                  - UnsupportedKey
                  - InvalidKeyInCurrentState
          ContentLauncher:
              ContentLaunchStatusEnum:
                  - Success
                  - UrlNotAvailable
                  - AuthFailed
              MetricTypeEnum:
                  - PIXELS
                  - PERCENTAGE
              ParameterEnum:
                  - Actor
                  - Channel
                  - Character
                  - Director
                  - Event
                  - Franchise
                  - Genre
                  - League
                  - Popularity
                  - Provider
                  - Sport
                  - SportsTeam
                  - Type
          AudioOutput:
              OutputTypeEnum:
                  - Hdmi
                  - Bt
                  - Optical
                  - Headphone
                  - Internal
                  - Other
          ApplicationLauncher:
              ApplicationLauncherStatusEnum:
                  - Success
                  - AppNotAvailable
                  - SystemBusy
          ApplicationBasic:
              ApplicationStatusEnum:
                  - Stopped
                  - ActiveVisibleFocus
                  - ActiveHidden
                  - ActiveVisibleNotFocus
          TestCluster:
              SimpleEnum:
                  - Unspecified
                  - ValueA
                  - ValueB
                  - ValueC
          FaultInjection:
              FaultType:
                  - Unspecified
                  - SystemFault
                  - InetFault
                  - ChipFault
                  - CertFault
      bitmaps:
          Groups:
              - GroupClusterFeature
          Scenes:
              - ScenesCopyMode
          OnOff:
              - OnOffControl
              # Feature was originally named OnOffFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          LevelControl:
              # Feature was originally named LevelControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          Actions:
              - CommandBits
          UnitLocalization:
              # Feature was originally named UnitLocalizationFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          PowerSource:
              # Feature was originally named PowerSourceFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          NetworkCommissioning:
              # Feature was originally named NetworkCommissioningFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
              - WiFiSecurity
          SoftwareDiagnostics:
              # Feature was originally named SoftwareDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          ThreadNetworkDiagnostics:
              # Feature was originally named ThreadNetworkDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          ModeSelect:
              # Feature was originally named ModeSelectFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          DoorLock:
              - DlCredentialRuleMask
              - DlCredentialRulesSupport
              - DlDaysMaskMap
              - DlDefaultConfigurationRegister
              - DlKeypadOperationEventMask
              - DlKeypadProgrammingEventMask
              - DlLocalProgrammingFeatures
              - DlManualOperationEventMask
              - DlRFIDOperationEventMask
              - DlRFIDProgrammingEventMask
              - DlRemoteOperationEventMask
              - DlRemoteProgrammingEventMask
              - DlSupportedOperatingModes
              - DoorLockDayOfWeek
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          WindowCovering:
              - ConfigStatus
              - Feature
              - Mode
              - OperationalStatus
              - SafetyStatus
          PumpConfigurationAndControl:
              - PumpStatus
          Thermostat:
              - DayOfWeek
              - ModeForSequence
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          FanControl:
              # Feature was originally named FanControlFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
              - RockSupportMask
              - WindSettingMask
              - WindSupportMask
          ColorControl:
              - ColorCapabilities
              # Feature was originally named ColorControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
              - ColorLoopUpdateFlags
          PressureMeasurement:
              - PressureFeature
          Channel:
              # Feature was originally named ChannelFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          MediaInput:
              # Feature was originally named MediaInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          KeypadInput:
              # Feature was originally named KeypadInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          ContentLauncher:
              # Feature was originally named ContentLauncherFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
              - SupportedStreamingProtocol
          AudioOutput:
              # Feature was originally named AudioOutputFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
          ApplicationLauncher:
              # Feature was originally named ApplicationLauncherFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
          TestCluster:
              - Bitmap16MaskMap
              - Bitmap32MaskMap
              - Bitmap64MaskMap
              - Bitmap8MaskMap
              - SimpleBitmap
      bitmap values:
          Groups:
              GroupClusterFeature:
                  - GroupNames
          Scenes:
              ScenesCopyMode:
                  - CopyAllScenes
          OnOff:
              OnOffControl:
                  - AcceptOnlyWhenOn
              # Feature was originally named OnOffFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Lighting
          LevelControl:
              # Feature was originally named LevelControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - OnOff
                  - Lighting
                  - Frequency
          Actions:
              CommandBits:
                  - InstantAction
                  - InstantActionWithTransition
                  - StartAction
                  - StartActionWithDuration
                  - StopAction
                  - PauseAction
                  - PauseActionWithDuration
                  - ResumeAction
                  - EnableAction
                  - EnableActionWithDuration
                  - DisableAction
                  - DisableActionWithDuration
          UnitLocalization:
              # Feature was originally named UnitLocalizationFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - TemperatureUnit
          PowerSource:
              # Feature was originally named PowerSourceFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Wired
                  - Battery
                  - Rechargeable
                  - Replaceable
          NetworkCommissioning:
              # Feature was originally named NetworkCommissioningFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - WiFiNetworkInterface
                  - ThreadNetworkInterface
                  - EthernetNetworkInterface
              WiFiSecurity:
                  - Unencrypted
                  - WepPersonal
                  - WpaPersonal
                  - Wpa2Personal
                  - Wpa3Personal
          SoftwareDiagnostics:
              # Feature was originally named SoftwareDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - WaterMarks
          ThreadNetworkDiagnostics:
              # Feature was originally named ThreadNetworkDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - PacketCounts
                  - ErrorCounts
                  - MLECounts
                  - MACCounts
          ModeSelect:
              # Feature was originally named ModeSelectFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - DEPONOFF
          DoorLock:
              DlCredentialRuleMask:
                  - Single
                  - Dual
                  - Tri
              DlCredentialRulesSupport:
                  - Single
                  - Dual
                  - Tri
              DlDaysMaskMap:
                  - Sunday
                  - Monday
                  - Tuesday
                  - Wednesday
                  - Thursday
                  - Friday
                  - Saturday
              DlDefaultConfigurationRegister:
                  - EnableLocalProgrammingEnabled
                  - KeypadInterfaceDefaultAccessEnabled
                  - RemoteInterfaceDefaultAccessIsEnabled
                  - SoundEnabled
                  - AutoRelockTimeSet
                  - LEDSettingsSet
              DlKeypadOperationEventMask:
                  - Unknown
                  - Lock
                  - Unlock
                  - LockInvalidPIN
                  - LockInvalidSchedule
                  - UnlockInvalidCode
                  - UnlockInvalidSchedule
                  - NonAccessUserOpEvent
              DlKeypadProgrammingEventMask:
                  - Unknown
                  - ProgrammingPINChanged
                  - PINAdded
                  - PINCleared
                  - PINChanged
              DlLocalProgrammingFeatures:
                  - AddUsersCredentialsSchedulesLocally
                  - ModifyUsersCredentialsSchedulesLocally
                  - ClearUsersCredentialsSchedulesLocally
                  - AdjustLockSettingsLocally
              DlManualOperationEventMask:
                  - Unknown
                  - ThumbturnLock
                  - ThumbturnUnlock
                  - OneTouchLock
                  - KeyLock
                  - KeyUnlock
                  - AutoLock
                  - ScheduleLock
                  - ScheduleUnlock
                  - ManualLock
                  - ManualUnlock
              DlRFIDOperationEventMask:
                  - Unknown
                  - Lock
                  - Unlock
                  - LockInvalidRFID
                  - LockInvalidSchedule
                  - UnlockInvalidRFID
                  - UnlockInvalidSchedule
              DlRFIDProgrammingEventMask:
                  - Unknown
                  - RFIDCodeAdded
                  - RFIDCodeCleared
              DlRemoteOperationEventMask:
                  - Unknown
                  - Lock
                  - Unlock
                  - LockInvalidCode
                  - LockInvalidSchedule
                  - UnlockInvalidCode
                  - UnlockInvalidSchedule
              DlRemoteProgrammingEventMask:
                  - Unknown
                  - ProgrammingPINChanged
                  - PINAdded
                  - PINCleared
                  - PINChanged
                  - RFIDCodeAdded
                  - RFIDCodeCleared
              DlSupportedOperatingModes:
                  - Normal
                  - Vacation
                  - Privacy
                  - NoRemoteLockUnlock
                  - Passage
              DoorLockDayOfWeek:
                  - Sunday
                  - Monday
                  - Tuesday
                  - Wednesday
                  - Thursday
                  - Friday
                  - Saturday
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - PINCredentials
                  - RFIDCredentials
                  - FingerCredentials
                  - Logging
                  - WeekDaySchedules
                  - DoorPositionSensor
                  - FaceCredentials
                  - CredentialsOTA
                  - UsersManagement
                  - Notifications
                  - YearDaySchedules
                  - HolidaySchedules
          WindowCovering:
              ConfigStatus:
                  - Operational
                  - OnlineReserved
                  - LiftMovementReversed
                  - LiftPositionAware
                  - TiltPositionAware
                  - LiftEncoderControlled
                  - TiltEncoderControlled
              Feature:
                  - Lift
                  - Tilt
                  - PositionAwareLift
                  - AbsolutePosition
                  - PositionAwareTilt
              Mode:
                  - MotorDirectionReversed
                  - CalibrationMode
                  - MaintenanceMode
                  - LedFeedback
              OperationalStatus:
                  - Global
                  - Lift
                  - Tilt
              SafetyStatus:
                  - RemoteLockout
                  - TamperDetection
                  - FailedCommunication
                  - PositionFailure
                  - ThermalProtection
                  - ObstacleDetected
                  - Power
                  - StopInput
                  - MotorJammed
                  - HardwareFailure
                  - ManualOperation
                  - Protection
          PumpConfigurationAndControl:
              PumpStatus:
                  - DeviceFault
                  - Supplyfault
                  - SpeedLow
                  - SpeedHigh
                  - LocalOverride
                  - Running
                  - RemotePressure
                  - RemoteFlow
                  - RemoteTemperature
          Thermostat:
              DayOfWeek:
                  - Sunday
                  - Monday
                  - Tuesday
                  - Wednesday
                  - Thursday
                  - Friday
                  - Saturday
                  - AwayOrVacation
              ModeForSequence:
                  - HeatSetpointFieldPresent
                  - CoolSetpointFieldPresent
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Heating
                  - Cooling
                  - Occupancy
                  - Schedule
                  - Setback
                  - Automode
          FanControl:
              # Feature was originally named FanControlFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - MultiSpeed
                  - Auto
                  - Rocking
                  - Wind
              RockSupportMask:
                  - RockLeftRight
                  - RockUpDown
                  - RockRound
              WindSettingMask:
                  - SleepWind
                  - NaturalWind
              WindSupportMask:
                  - SleepWind
                  - NaturalWind
          ColorControl:
              ColorCapabilities:
                  - HueSaturationSupported
                  - EnhancedHueSupported
                  - ColorLoopSupported
                  - XYAttributesSupported
                  - ColorTemperatureSupported
              # Feature was originally named ColorControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - HueAndSaturation
                  - EnhancedHue
                  - ColorLoop
                  - XY
                  - ColorTemperature
              ColorLoopUpdateFlags:
                  - UpdateAction
                  - UpdateDirection
                  - UpdateTime
                  - UpdateStartHue
          PressureMeasurement:
              PressureFeature:
                  - EXT
          Channel:
              # Feature was originally named ChannelFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - ChannelList
                  - LineupInfo
          MediaInput:
              # Feature was originally named MediaInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - NameUpdates
          KeypadInput:
              # Feature was originally named KeypadInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - NavigationKeyCodes
                  - LocationKeys
                  - NumberKeys
          ContentLauncher:
              # Feature was originally named ContentLauncherFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - ContentSearch
                  - URLPlayback
              SupportedStreamingProtocol:
                  - DASH
                  - HLS
          AudioOutput:
              # Feature was originally named AudioOutputFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - NameUpdates
          ApplicationLauncher:
              # Feature was originally named ApplicationLauncherFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - ApplicationPlatform
          TestCluster:
              Bitmap16MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              Bitmap32MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              Bitmap64MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              Bitmap8MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              SimpleBitmap:
                  - ValueA
                  - ValueB
                  - ValueC
      ids:
          clusters:
              - PulseWidthModulation
              - TimeSynchronization
              - ProxyConfiguration
              - ProxyDiscovery
              - ProxyValid
              - FaultInjection
          attributes:
              PulseWidthModulation:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
              TimeSynchronization:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
                  - UTCTime
                  - Granularity
                  - TimeSource
                  - TrustedTimeNodeId
                  - DefaultNtp
                  - TimeZone
                  - DstOffset
                  - LocalTime
                  - TimeZoneDatabase
                  - NtpServerPort
              ProxyConfiguration:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
              ProxyDiscovery:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
              ProxyValid:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
              FaultInjection:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
          commands:
              FaultInjection:
                  - FailAtFault
                  - FailRandomlyAtFault
              TimeSynchronization:
                  - SetUtcTime
      command payloads:
          FaultInjection:
              - FailAtFault
              - FailRandomlyAtFault
          TimeSynchronization:
              - SetUtcTime
      global attributes:
          - FeatureMap
          - ClusterRevision
          - AttributeList
          - GeneratedCommandList
          - AcceptedCommandList
      apis:
          - Timed Invoke for server to client commands
          - Deprecated global attribute names
  provisional:
      clusters:
          - PulseWidthModulation
          - TimeSynchronization
          - ProxyConfiguration
          - ProxyDiscovery
          - ProxyValid
          - FaultInjection

- release: "First dot-release"
  versions:
      ios: "16.2"
      macos: "13.1"
      watchos: "9.2"
      tvos: "16.2"
  introduced:
      attributes:
          TestCluster:
              - WriteOnlyInt8u
      structs:
          Descriptor:
              - DeviceTypeStruct
      struct fields:
          Descriptor:
              DeviceTypeStruct:
                  - type
                  - revision
      bitmaps:
          Switch:
              # Feature was originally named SwitchFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          MediaPlayback:
              # Feature was originally named MediaPlaybackFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
      bitmap values:
          Switch:
              # Feature was originally named SwitchFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - LatchingSwitch
                  - MomentarySwitch
                  - MomentarySwitchRelease
                  - MomentarySwitchLongPress
                  - MomentarySwitchMultiPress
          MediaPlayback:
              # Feature was originally named MediaPlaybackFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - AdvancedSeek
                  - VariableSpeed
      ids:
          attributes:
              Descriptor:
                  - DeviceTypeList
  renames:
      structs:
          Descriptor:
              DeviceTypeStruct: DeviceType

- release: "First major API revamp"
  versions:
      ios: "16.4"
      macos: "13.3"
      watchos: "9.4"
      tvos: "16.4"
  introduced:
      clusters:
          - OTASoftwareUpdateProvider
          - OTASoftwareUpdateRequestor
          - UnitTesting
          - WakeOnLAN
          - BasicInformation
          - BridgedDeviceBasicInformation
      attributes:
          Descriptor:
              # We really only started treating DeviceTypeList as DeviceTypeList in the API revamp,
              # except in the list of attribute ids.
              - DeviceTypeList
          AccessControl:
              - ACL
          BallastConfiguration:
              - IntrinsicBallastFactor
          OccupancySensing:
              - PIROccupiedToUnoccupiedDelay
              - PIRUnoccupiedToOccupiedDelay
              - PIRUnoccupiedToOccupiedThreshold
          UnitTesting:
              - Boolean
              - Bitmap8
              - Bitmap16
              - Bitmap32
              - Bitmap64
              - Int8u
              - Int16u
              - Int24u
              - Int32u
              - Int40u
              - Int48u
              - Int56u
              - Int64u
              - Int8s
              - Int16s
              - Int24s
              - Int32s
              - Int40s
              - Int48s
              - Int56s
              - Int64s
              - Enum8
              - Enum16
              - FloatSingle
              - FloatDouble
              - OctetString
              - ListInt8u
              - ListOctetString
              - ListStructOctetString
              - LongOctetString
              - CharString
              - LongCharString
              - EpochUs
              - EpochS
              - VendorId
              - ListNullablesAndOptionalsStruct
              - EnumAttr
              - StructAttr
              - RangeRestrictedInt8u
              - RangeRestrictedInt8s
              - RangeRestrictedInt16u
              - RangeRestrictedInt16s
              - ListLongOctetString
              - ListFabricScoped
              - TimedWriteBoolean
              - GeneralErrorBoolean
              - ClusterErrorBoolean
              - Unsupported
              - NullableBoolean
              - NullableBitmap8
              - NullableBitmap16
              - NullableBitmap32
              - NullableBitmap64
              - NullableInt8u
              - NullableInt16u
              - NullableInt24u
              - NullableInt32u
              - NullableInt40u
              - NullableInt48u
              - NullableInt56u
              - NullableInt64u
              - NullableInt8s
              - NullableInt16s
              - NullableInt24s
              - NullableInt32s
              - NullableInt40s
              - NullableInt48s
              - NullableInt56s
              - NullableInt64s
              - NullableEnum8
              - NullableEnum16
              - NullableFloatSingle
              - NullableFloatDouble
              - NullableOctetString
              - NullableCharString
              - NullableEnumAttr
              - NullableStruct
              - NullableRangeRestrictedInt8u
              - NullableRangeRestrictedInt8s
              - NullableRangeRestrictedInt16u
              - NullableRangeRestrictedInt16s
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
              - WriteOnlyInt8u
          OTASoftwareUpdateProvider:
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OTASoftwareUpdateRequestor:
              - DefaultOTAProviders
              - UpdatePossible
              - UpdateState
              - UpdateStateProgress
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          WakeOnLAN:
              - MACAddress
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          BasicInformation:
              - DataModelRevision
              - VendorName
              - VendorID
              - ProductName
              - ProductID
              - NodeLabel
              - Location
              - HardwareVersion
              - HardwareVersionString
              - SoftwareVersion
              - SoftwareVersionString
              - ManufacturingDate
              - PartNumber
              - ProductURL
              - ProductLabel
              - SerialNumber
              - LocalConfigDisabled
              - Reachable
              - UniqueID
              - CapabilityMinima
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ThreadNetworkDiagnostics:
              - NeighborTable
              - RouteTable
          WiFiNetworkDiagnostics:
              - BSSID
              - RSSI
          GeneralDiagnostics:
              - BootReason
          BridgedDeviceBasicInformation:
              - VendorName
              - VendorID
              - ProductName
              - NodeLabel
              - HardwareVersion
              - HardwareVersionString
              - SoftwareVersion
              - SoftwareVersionString
              - ManufacturingDate
              - PartNumber
              - ProductURL
              - ProductLabel
              - SerialNumber
              - Reachable
              - UniqueID
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
      commands:
          OTASoftwareUpdateProvider:
              - QueryImage
              - QueryImageResponse
              - ApplyUpdateRequest
              - ApplyUpdateResponse
              - NotifyUpdateApplied
          OTASoftwareUpdateRequestor:
              - AnnounceOTAProvider
          UnitTesting:
              - Test
              - TestSpecificResponse
              - TestNotHandled
              - TestAddArgumentsResponse
              - TestSpecific
              - TestSimpleArgumentResponse
              - TestUnknownCommand
              - TestStructArrayArgumentResponse
              - TestAddArguments
              - TestListInt8UReverseResponse
              - TestSimpleArgumentRequest
              - TestEnumsResponse
              - TestStructArrayArgumentRequest
              - TestNullableOptionalResponse
              - TestStructArgumentRequest
              - TestComplexNullableOptionalResponse
              - TestNestedStructArgumentRequest
              - BooleanResponse
              - TestListStructArgumentRequest
              - SimpleStructResponse
              - TestListInt8UArgumentRequest
              - TestEmitTestEventResponse
              - TestNestedStructListArgumentRequest
              - TestEmitTestFabricScopedEventResponse
              - TestListNestedStructListArgumentRequest
              - TestListInt8UReverseRequest
              - TestEnumsRequest
              - TestNullableOptionalRequest
              - TestComplexNullableOptionalRequest
              - SimpleStructEchoRequest
              - TimedInvokeRequest
              - TestSimpleOptionalArgumentRequest
              - TestEmitTestEventRequest
              - TestEmitTestFabricScopedEventRequest
          ContentLauncher:
              - LauncherResponse
          MediaPlayback:
              - Stop
      command fields:
          UnitTesting:
              TestSpecificResponse:
                  - returnValue
              TestAddArgumentsResponse:
                  - returnValue
              TestSimpleArgumentResponse:
                  - returnValue
              TestStructArrayArgumentResponse:
                  - arg1
                  - arg2
                  - arg3
                  - arg4
                  - arg5
                  - arg6
              TestAddArguments:
                  - arg1
                  - arg2
              TestListInt8UReverseResponse:
                  - arg1
              TestSimpleArgumentRequest:
                  - arg1
              TestEnumsResponse:
                  - arg1
                  - arg2
              TestStructArrayArgumentRequest:
                  - arg1
                  - arg2
                  - arg3
                  - arg4
                  - arg5
                  - arg6
              TestNullableOptionalResponse:
                  - wasPresent
                  - wasNull
                  - value
                  - originalValue
              TestStructArgumentRequest:
                  - arg1
              TestComplexNullableOptionalResponse:
                  - nullableIntWasNull
                  - nullableIntValue
                  - optionalIntWasPresent
                  - optionalIntValue
                  - nullableOptionalIntWasPresent
                  - nullableOptionalIntWasNull
                  - nullableOptionalIntValue
                  - nullableStringWasNull
                  - nullableStringValue
                  - optionalStringWasPresent
                  - optionalStringValue
                  - nullableOptionalStringWasPresent
                  - nullableOptionalStringWasNull
                  - nullableOptionalStringValue
                  - nullableStructWasNull
                  - nullableStructValue
                  - optionalStructWasPresent
                  - optionalStructValue
                  - nullableOptionalStructWasPresent
                  - nullableOptionalStructWasNull
                  - nullableOptionalStructValue
                  - nullableListWasNull
                  - nullableListValue
                  - optionalListWasPresent
                  - optionalListValue
                  - nullableOptionalListWasPresent
                  - nullableOptionalListWasNull
                  - nullableOptionalListValue
              TestNestedStructArgumentRequest:
                  - arg1
              BooleanResponse:
                  - value
              TestListStructArgumentRequest:
                  - arg1
              SimpleStructResponse:
                  - arg1
              TestListInt8UArgumentRequest:
                  - arg1
              TestEmitTestEventResponse:
                  - value
              TestNestedStructListArgumentRequest:
                  - arg1
              TestEmitTestFabricScopedEventResponse:
                  - value
              TestListNestedStructListArgumentRequest:
                  - arg1
              TestListInt8UReverseRequest:
                  - arg1
              TestEnumsRequest:
                  - arg1
                  - arg2
              TestNullableOptionalRequest:
                  - arg1
              TestComplexNullableOptionalRequest:
                  - nullableInt
                  - optionalInt
                  - nullableOptionalInt
                  - nullableString
                  - optionalString
                  - nullableOptionalString
                  - nullableStruct
                  - optionalStruct
                  - nullableOptionalStruct
                  - nullableList
                  - optionalList
                  - nullableOptionalList
              SimpleStructEchoRequest:
                  - arg1
              TestSimpleOptionalArgumentRequest:
                  - arg1
              TestEmitTestEventRequest:
                  - arg1
                  - arg2
                  - arg3
              TestEmitTestFabricScopedEventRequest:
                  - arg1
          OTASoftwareUpdateProvider:
              QueryImage:
                  - vendorID
                  - productID
                  - softwareVersion
                  - protocolsSupported
                  - hardwareVersion
                  - location
                  - requestorCanConsent
                  - metadataForProvider
                  # Next two were introduced and deprecated at the same time, effectively
                  - vendorId
                  - productId
              QueryImageResponse:
                  - status
                  - delayedActionTime
                  - imageURI
                  - softwareVersion
                  - softwareVersionString
                  - updateToken
                  - userConsentNeeded
                  - metadataForRequestor
              ApplyUpdateRequest:
                  - updateToken
                  - newVersion
              ApplyUpdateResponse:
                  - action
                  - delayedActionTime
              NotifyUpdateApplied:
                  - updateToken
                  - softwareVersion
          OTASoftwareUpdateRequestor:
              AnnounceOTAProvider:
                  - providerNodeID
                  - vendorID
                  - announcementReason
                  - metadataForNode
                  - endpoint
                  # Next two were introduced and deprecated at the same time, effectively
                  - providerNodeId
                  - vendorId
          Groups:
              AddGroup:
                  - groupID
              AddGroupIfIdentifying:
                  - groupID
              AddGroupResponse:
                  - groupID
              RemoveGroup:
                  - groupID
              RemoveGroupResponse:
                  - groupID
              ViewGroup:
                  - groupID
              ViewGroupResponse:
                  - groupID
          OnOff:
              OffWithEffect:
                  - effectIdentifier
          DiagnosticLogs:
              RetrieveLogsResponse:
                  - logContent
                  - utcTimeStamp
          AdministratorCommissioning:
              OpenCommissioningWindow:
                  - pakePasscodeVerifier
          OperationalCredentials:
              AttestationResponse:
                  - attestationSignature
              AddTrustedRootCertificate:
                  - rootCACertificate
          DoorLock:
              SetUser:
                  - userUniqueID
              GetUserResponse:
                  - userUniqueID
          ColorControl:
              MoveToColorTemperature:
                  - colorTemperatureMireds
          ContentLauncher:
              LauncherResponse:
                  - status
                  - data
          Scenes:
              AddScene:
                  - groupID
                  - sceneID
              ViewScene:
                  - groupID
                  - sceneID
              RemoveScene:
                  - groupID
                  - sceneID
              RemoveAllScenes:
                  - groupID
              StoreScene:
                  - groupID
                  - sceneID
              RecallScene:
                  - groupID
                  - sceneID
              GetSceneMembership:
                  - groupID
              EnhancedAddScene:
                  - groupID
                  - sceneID
              EnhancedViewScene:
                  - groupID
                  - sceneID
              CopyScene:
                  - groupIdentifierFrom
                  - sceneIdentifierFrom
                  - groupIdentifierTo
                  - sceneIdentifierTo
              AddSceneResponse:
                  - groupID
                  - sceneID
              ViewSceneResponse:
                  - groupID
                  - sceneID
              RemoveSceneResponse:
                  - groupID
                  - sceneID
              RemoveAllScenesResponse:
                  - groupID
              StoreSceneResponse:
                  - groupID
                  - sceneID
              GetSceneMembershipResponse:
                  - groupID
              EnhancedAddSceneResponse:
                  - groupID
                  - sceneID
              EnhancedViewSceneResponse:
                  - groupID
                  - sceneID
              CopySceneResponse:
                  - groupIdentifierFrom
                  - sceneIdentifierFrom
      structs:
          OTASoftwareUpdateRequestor:
              - ProviderLocation
          UnitTesting:
              - SimpleStruct
              - TestFabricScoped
              - NullablesAndOptionalsStruct
              - NestedStruct
              - NestedStructList
              - DoubleNestedStructList
              - TestListStructOctet
          BasicInformation:
              - CapabilityMinimaStruct
          AccessControl:
              - AccessControlEntryStruct
              - AccessControlExtensionStruct
          SoftwareDiagnostics:
              - ThreadMetricsStruct
          GeneralDiagnostics:
              - NetworkInterface
          ModeSelect:
              - SemanticTagStruct
          OperationalCredentials:
              - FabricDescriptorStruct
          DoorLock:
              - CredentialStruct
          MediaPlayback:
              - PlaybackPositionStruct
          TargetNavigator:
              - TargetInfoStruct
          MediaInput:
              - InputInfoStruct
          AudioOutput:
              - OutputInfoStruct
          Channel:
              - ChannelInfoStruct
              - LineupInfoStruct
          ContentLauncher:
              - DimensionStruct
              - AdditionalInfoStruct
              - ParameterStruct
              - ContentSearchStruct
              - StyleInformationStruct
              - BrandingInformationStruct
          ApplicationLauncher:
              - ApplicationStruct
              - ApplicationEPStruct
          ApplicationBasic:
              - ApplicationStruct
      struct fields:
          UnitTesting:
              SimpleStruct:
                  - a
                  - b
                  - c
                  - d
                  - e
                  - f
                  - g
                  - h
              TestFabricScoped:
                  - fabricSensitiveInt8u
                  - optionalFabricSensitiveInt8u
                  - nullableFabricSensitiveInt8u
                  - nullableOptionalFabricSensitiveInt8u
                  - fabricSensitiveCharString
                  - fabricSensitiveStruct
                  - fabricSensitiveInt8uList
                  - fabricIndex
              NullablesAndOptionalsStruct:
                  - nullableInt
                  - optionalInt
                  - nullableOptionalInt
                  - nullableString
                  - optionalString
                  - nullableOptionalString
                  - nullableStruct
                  - optionalStruct
                  - nullableOptionalStruct
                  - nullableList
                  - optionalList
                  - nullableOptionalList
              NestedStruct:
                  - a
                  - b
                  - c
              NestedStructList:
                  - a
                  - b
                  - c
                  - d
                  - e
                  - f
                  - g
              DoubleNestedStructList:
                  - a
              TestListStructOctet:
                  - member1
                  - member2
          OTASoftwareUpdateRequestor:
              ProviderLocation:
                  - providerNodeID
                  - endpoint
                  - fabricIndex
          BasicInformation:
              CapabilityMinimaStruct:
                  - caseSessionsPerFabric
                  - subscriptionsPerFabric
          Descriptor:
              DeviceTypeStruct:
                  - deviceType
          AccessControl:
              AccessControlEntryStruct:
                  - privilege
                  - authMode
                  - subjects
                  - targets
                  - fabricIndex
              AccessControlExtensionStruct:
                  - data
                  - fabricIndex
          SoftwareDiagnostics:
              ThreadMetricsStruct:
                  - id
                  - name
                  - stackFreeCurrent
                  - stackFreeMinimum
                  - stackSize
          GeneralDiagnostics:
              NetworkInterface:
                  - name
                  - isOperational
                  - offPremiseServicesReachableIPv4
                  - offPremiseServicesReachableIPv6
                  - hardwareAddress
                  - iPv4Addresses
                  - iPv6Addresses
                  - type
          ModeSelect:
              SemanticTagStruct:
                  - mfgCode
                  - value
          OperationalCredentials:
              FabricDescriptorStruct:
                  - rootPublicKey
                  - vendorID
                  - fabricID
                  - nodeID
                  - label
                  - fabricIndex
                  # Values that are actually deprecated, but we effectively
                  # introduced them in this release.
                  - vendorId
                  - fabricId
                  - nodeId
          DoorLock:
              CredentialStruct:
                  - credentialType
                  - credentialIndex
          MediaPlayback:
              PlaybackPositionStruct:
                  - updatedAt
                  - position
          TargetNavigator:
              TargetInfoStruct:
                  - identifier
                  - name
          MediaInput:
              InputInfoStruct:
                  - index
                  - inputType
                  - name
                  - descriptionString
          AudioOutput:
              OutputInfoStruct:
                  - index
                  - outputType
                  - name
          Channel:
              ChannelInfoStruct:
                  - majorNumber
                  - minorNumber
                  - name
                  - callSign
                  - affiliateCallSign
              LineupInfoStruct:
                  - operatorName
                  - lineupName
                  - postalCode
                  - lineupInfoType
          ContentLauncher:
              DimensionStruct:
                  - width
                  - height
                  - metric
              AdditionalInfoStruct:
                  - name
                  - value
              ParameterStruct:
                  - type
                  - value
                  - externalIDList
              ContentSearchStruct:
                  - parameterList
              StyleInformationStruct:
                  - imageURL
                  - color
                  - size
                  # Member that is actually deprecated, but we effectively
                  # introduced it in this release.
                  - imageUrl
              BrandingInformationStruct:
                  - providerName
                  - background
                  - logo
                  - progressBar
                  - splash
                  - waterMark
          ApplicationLauncher:
              ApplicationStruct:
                  - catalogVendorID
                  - applicationID
                  # Values that are actually deprecated, but we effectively
                  # introduced them in this release.
                  - catalogVendorId
                  - applicationId
              ApplicationEPStruct:
                  - application
                  - endpoint
          ApplicationBasic:
              ApplicationStruct:
                  - catalogVendorID
                  - applicationID
                  # Values that are actually deprecated, but we effectively
                  # introduced them in this release.
                  - catalogVendorId
                  - applicationId
          Scenes:
              AttributeValuePair:
                  - attributeID
              ExtensionFieldSet:
                  - clusterID
      events:
          OTASoftwareUpdateRequestor:
              - StateTransition
              - VersionApplied
              - DownloadError
          UnitTesting:
              - TestEvent
              - TestFabricScopedEvent
          BasicInformation:
              - StartUp
              - ShutDown
              - Leave
              - ReachableChanged
          PowerSource:
              - WiredFaultChange
              - BatFaultChange
              - BatChargeFaultChange
          BridgedDeviceBasicInformation:
              - StartUp
              - ShutDown
              - Leave
              - ReachableChanged
      event fields:
          Switch:
              MultiPressComplete:
                  - previousPosition
          UnitTesting:
              TestEvent:
                  - arg1
                  - arg2
                  - arg3
                  - arg4
                  - arg5
                  - arg6
              TestFabricScopedEvent:
                  - fabricIndex
          OTASoftwareUpdateRequestor:
              StateTransition:
                  - previousState
                  - newState
                  - reason
                  - targetSoftwareVersion
              VersionApplied:
                  - softwareVersion
                  - productID
              DownloadError:
                  - softwareVersion
                  - bytesDownloaded
                  - progressPercent
                  - platformCode
          BasicInformation:
              StartUp:
                  - softwareVersion
              Leave:
                  - fabricIndex
              ReachableChanged:
                  - reachableNewValue
          PowerSource:
              WiredFaultChange:
                  - current
                  - previous
              BatFaultChange:
                  - current
                  - previous
              BatChargeFaultChange:
                  - current
                  - previous
          BridgedDeviceBasicInformation:
              StartUp:
                  - softwareVersion
              ReachableChanged:
                  - reachableNewValue
      enums:
          OTASoftwareUpdateProvider:
              - OTAApplyUpdateAction
              - OTADownloadProtocol
              - OTAQueryStatus
          OTASoftwareUpdateRequestor:
              - OTAAnnouncementReason
              - OTAChangeReasonEnum
              - OTAUpdateStateEnum
          UnitTesting:
              - SimpleEnum
          AccessControl:
              - AccessControlEntryPrivilegeEnum
              - AccessControlEntryAuthModeEnum
          ThreadNetworkDiagnostics:
              - ConnectionStatusEnum
          EthernetNetworkDiagnostics:
              - PHYRateEnum
          GeneralDiagnostics:
              - HardwareFaultEnum
              - RadioFaultEnum
              - BootReasonEnum
              - NetworkFaultEnum
          OperationalCredentials:
              - NodeOperationalCertStatusEnum
              - CertificateChainTypeEnum
          DoorLock:
              - AlarmCodeEnum
              - CredentialRuleEnum
              - CredentialTypeEnum
              - DataOperationTypeEnum
              - DoorStateEnum
              - LockDataTypeEnum
              - LockOperationTypeEnum
              - OperationErrorEnum
              - OperatingModeEnum
              - OperationSourceEnum
      enum values:
          OTASoftwareUpdateProvider:
              OTAApplyUpdateAction:
                  - Proceed
                  - AwaitNextAction
                  - Discontinue
              OTADownloadProtocol:
                  - BDXSynchronous
                  - BDXAsynchronous
                  - HTTPS
                  - VendorSpecific
              OTAQueryStatus:
                  - UpdateAvailable
                  - Busy
                  - NotAvailable
                  - DownloadProtocolNotSupported
          OTASoftwareUpdateRequestor:
              OTAAnnouncementReason:
                  - SimpleAnnouncement
                  - UpdateAvailable
                  - UrgentUpdateAvailable
              OTAChangeReasonEnum:
                  - Unknown
                  - Success
                  - Failure
                  - TimeOut
                  - DelayByProvider
              OTAUpdateStateEnum:
                  - Unknown
                  - Idle
                  - Querying
                  - DelayedOnQuery
                  - Downloading
                  - Applying
                  - DelayedOnApply
                  - RollingBack
                  - DelayedOnUserConsent
          UnitTesting:
              SimpleEnum:
                  - Unspecified
                  - ValueA
                  - ValueB
                  - ValueC
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  - OK
          AccessControl:
              AccessControlEntryPrivilegeEnum:
                  - View
                  - ProxyView
                  - Operate
                  - Manage
                  - Administer
              AccessControlEntryAuthModeEnum:
                  - PASE
                  - CASE
                  - Group
          PowerSource:
              BatChargeLevelEnum:
                  - OK
              BatChargeFaultEnum:
                  - Unspecified
              PowerSourceStatusEnum:
                  - Unspecified
          ThreadNetworkDiagnostics:
              ConnectionStatusEnum:
                  - Connected
                  - NotConnected
          WiFiNetworkDiagnostics:
              WiFiVersionType:
                  - A
                  - B
                  - G
                  - N
                  - Ac
                  - Ax
          EthernetNetworkDiagnostics:
              PHYRateEnum:
                  - Rate10M
                  - Rate100M
                  - Rate1G
                  - Rate25G
                  - Rate5G
                  - Rate10G
                  - Rate40G
                  - Rate100G
                  - Rate200G
                  - Rate400G
          GeneralDiagnostics:
              HardwareFaultEnum:
                  - Unspecified
                  - Radio
                  - Sensor
                  - ResettableOverTemp
                  - NonResettableOverTemp
                  - PowerSource
                  - VisualDisplayFault
                  - AudioOutputFault
                  - UserInterfaceFault
                  - NonVolatileMemoryError
                  - TamperDetected
              RadioFaultEnum:
                  - Unspecified
                  - WiFiFault
                  - CellularFault
                  - ThreadFault
                  - NFCFault
                  - BLEFault
                  - EthernetFault
              BootReasonEnum:
                  - Unspecified
                  - PowerOnReboot
                  - BrownOutReset
                  - SoftwareWatchdogReset
                  - HardwareWatchdogReset
                  - SoftwareUpdateCompleted
                  - SoftwareReset
              NetworkFaultEnum:
                  - Unspecified
                  - HardwareFailure
                  - NetworkJammed
                  - ConnectionFailed
          OperationalCredentials:
              NodeOperationalCertStatusEnum:
                  - OK
                  - InvalidPublicKey
                  - InvalidNodeOpId
                  - InvalidNOC
                  - MissingCsr
                  - TableFull
                  - InvalidAdminSubject
                  - FabricConflict
                  - LabelConflict
                  - InvalidFabricIndex
              CertificateChainTypeEnum:
                  - DACCertificate
                  - PAICertificate
          DoorLock:
              AlarmCodeEnum:
                  - LockJammed
                  - LockFactoryReset
                  - LockRadioPowerCycled
                  - WrongCodeEntryLimit
                  - FrontEsceutcheonRemoved
                  - DoorForcedOpen
                  - DoorAjar
                  - ForcedUser
              CredentialRuleEnum:
                  - Single
                  - Dual
                  - Tri
              CredentialTypeEnum:
                  - ProgrammingPIN
                  - PIN
                  - RFID
                  - Fingerprint
                  - FingerVein
                  - Face
              DataOperationTypeEnum:
                  - Add
                  - Clear
                  - Modify
              DoorStateEnum:
                  - DoorOpen
                  - DoorClosed
                  - DoorJammed
                  - DoorForcedOpen
                  - DoorUnspecifiedError
                  - DoorAjar
              LockDataTypeEnum:
                  - Unspecified
                  - ProgrammingCode
                  - UserIndex
                  - WeekDaySchedule
                  - YearDaySchedule
                  - HolidaySchedule
                  - PIN
                  - RFID
                  - Fingerprint
              LockOperationTypeEnum:
                  - Lock
                  - Unlock
                  - NonAccessUserEvent
                  - ForcedUserEvent
              OperationErrorEnum:
                  - Unspecified
                  - InvalidCredential
                  - DisabledUserDenied
                  - Restricted
                  - InsufficientBattery
              OperatingModeEnum:
                  - Normal
                  - Vacation
                  - Privacy
                  - NoRemoteLockUnlock
                  - Passage
              OperationSourceEnum:
                  - Unspecified
                  - Manual
                  - ProprietaryRemote
                  - Keypad
                  - Auto
                  - Button
                  - Schedule
                  - Remote
                  - RFID
                  - Biometric
              UserTypeEnum:
                  - UnrestrictedUser
                  - ProgrammingUser
                  - ForcedUser
                  - DisposableUser
                  - ExpiringUser
                  - ScheduleRestrictedUser
                  - RemoteOnlyUser
          MediaInput:
              InputTypeEnum:
                  - HDMI
                  - SCART
                  - USB
          AudioOutput:
              OutputTypeEnum:
                  - HDMI
                  - BT
          Channel:
              LineupInfoTypeEnum:
                  - MSO
          ContentLauncher:
              MetricTypeEnum:
                  - Pixels
                  - Percentage
              ParameterEnum:
                  - Video
          Thermostat:
              ThermostatSystemMode:
                  - EmergencyHeat
                  - Dry
                  - Sleep
              SetpointAdjustMode:
                  - Heat
                  - Cool
                  - Both
      bitmaps:
          UnitTesting:
              - Bitmap8MaskMap
              - Bitmap16MaskMap
              - Bitmap32MaskMap
              - Bitmap64MaskMap
              - SimpleBitmap
          LevelControl:
              - LevelControlOptions
          DoorLock:
              - DaysMaskMap
          PumpConfigurationAndControl:
              - PumpFeature
          WiFiNetworkDiagnostics:
              # Feature was originally named WiFiNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
          EthernetNetworkDiagnostics:
              # Feature was originally named EthernetNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
      bitmap values:
          UnitTesting:
              Bitmap8MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              Bitmap16MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              Bitmap32MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              Bitmap64MaskMap:
                  - MaskVal1
                  - MaskVal2
                  - MaskVal3
                  - MaskVal4
              SimpleBitmap:
                  - ValueA
                  - ValueB
                  - ValueC
          LevelControl:
              LevelControlOptions:
                  - ExecuteIfOff
                  - CoupleColorTempToLevel
          NetworkCommissioning:
              WiFiSecurity:
                  - WEP
                  - WPAPersonal
                  - WPA2Personal
                  - WPA3Personal
          PressureMeasurement:
              PressureFeature:
                  - Extended
          DoorLock:
              DaysMaskMap:
                  - Sunday
                  - Monday
                  - Tuesday
                  - Wednesday
                  - Thursday
                  - Friday
                  - Saturday
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - PINCredential
                  - RFIDCredential
                  - WeekDayAccessSchedules
                  - CredentialsOverTheAirAccess
                  - User
                  - Notification
                  - YearDayAccessSchedules
          PumpConfigurationAndControl:
              PumpFeature:
                  - ConstantPressure
                  - CompensatedPressure
                  - ConstantFlow
                  - ConstantSpeed
                  - ConstantTemperature
                  - Automatic
                  - Local
          Thermostat:
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - ScheduleConfiguration
                  - AutoMode
              DayOfWeek:
                  - Away
              ModeForSequence:
                  - HeatSetpointPresent
                  - CoolSetpointPresent
          WiFiNetworkDiagnostics:
              # Feature was originally named WiFiNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - PacketCounts
                  - ErrorCounts
          EthernetNetworkDiagnostics:
              # Feature was originally named EthernetNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - PacketCounts
                  - ErrorCounts
  deprecated:
      clusters:
          - OtaSoftwareUpdateProvider
          - OtaSoftwareUpdateRequestor
          - TestCluster
          - WakeOnLan
          - Basic
      attributes:
          Descriptor:
              - DeviceList
          AccessControl:
              - Acl
          BallastConfiguration:
              - IntrinsicBalanceFactor
          OccupancySensing:
              - PirOccupiedToUnoccupiedDelay
              - PirUnoccupiedToOccupiedDelay
              - PirUnoccupiedToOccupiedThreshold
          ThreadNetworkDiagnostics:
              - NeighborTableList
              - RouteTableList
          WiFiNetworkDiagnostics:
              - Bssid
              - Rssi
          GeneralDiagnostics:
              - BootReasons
      commands:
          ContentLauncher:
              - LaunchResponse
          MediaPlayback:
              - StopPlayback
      command fields:
          Groups:
              AddGroup:
                  - groupId
              AddGroupIfIdentifying:
                  - groupId
              AddGroupResponse:
                  - groupId
              RemoveGroup:
                  - groupId
              RemoveGroupResponse:
                  - groupId
              ViewGroup:
                  - groupId
              ViewGroupResponse:
                  - groupId
          OnOff:
              OffWithEffect:
                  - effectId
          DiagnosticLogs:
              RetrieveLogsResponse:
                  - content
                  - timeStamp
          AdministratorCommissioning:
              OpenCommissioningWindow:
                  - pakeVerifier
          OperationalCredentials:
              AttestationResponse:
                  - signature
              AddTrustedRootCertificate:
                  - rootCertificate
          DoorLock:
              SetUser:
                  - userUniqueId
              GetUserResponse:
                  - userUniqueId
          ColorControl:
              MoveToColorTemperature:
                  - colorTemperature
          OTASoftwareUpdateProvider:
              QueryImage:
                  - vendorId
                  - productId
          OTASoftwareUpdateRequestor:
              AnnounceOTAProvider:
                  - providerNodeId
                  - vendorId
          Scenes:
              AddScene:
                  - groupId
                  - sceneId
              ViewScene:
                  - groupId
                  - sceneId
              RemoveScene:
                  - groupId
                  - sceneId
              RemoveAllScenes:
                  - groupId
              StoreScene:
                  - groupId
                  - sceneId
              RecallScene:
                  - groupId
                  - sceneId
              GetSceneMembership:
                  - groupId
              EnhancedAddScene:
                  - groupId
                  - sceneId
              EnhancedViewScene:
                  - groupId
                  - sceneId
              CopyScene:
                  - groupIdFrom
                  - sceneIdFrom
                  - groupIdTo
                  - sceneIdTo
              AddSceneResponse:
                  - groupId
                  - sceneId
              ViewSceneResponse:
                  - groupId
                  - sceneId
              RemoveSceneResponse:
                  - groupId
                  - sceneId
              RemoveAllScenesResponse:
                  - groupId
              StoreSceneResponse:
                  - groupId
                  - sceneId
              GetSceneMembershipResponse:
                  - groupId
              EnhancedAddSceneResponse:
                  - groupId
                  - sceneId
              EnhancedViewSceneResponse:
                  - groupId
                  - sceneId
              CopySceneResponse:
                  - groupIdFrom
                  - sceneIdFrom
      structs:
          Descriptor:
              - DeviceType
          AccessControl:
              - AccessControlEntry
              - ExtensionEntry
          PowerSource:
              - WiredFaultChangeType
              - BatFaultChangeType
              - BatChargeFaultChangeType
          SoftwareDiagnostics:
              - ThreadMetrics
          GeneralDiagnostics:
              - NetworkInterfaceType
          ModeSelect:
              - SemanticTag
          OperationalCredentials:
              - FabricDescriptor
          DoorLock:
              - DlCredential
          MediaPlayback:
              - PlaybackPosition
          TargetNavigator:
              - TargetInfo
          MediaInput:
              - InputInfo
          AudioOutput:
              - OutputInfo
          Channel:
              - ChannelInfo
              - LineupInfo
          ContentLauncher:
              - Dimension
              - AdditionalInfo
              - Parameter
              - ContentSearch
              - StyleInformation
              - BrandingInformation
          ApplicationLauncher:
              - Application
              - ApplicationEP
          ApplicationBasic:
              - ApplicationBasicApplication
      struct fields:
          Descriptor:
              DeviceTypeStruct:
                  - type
          OperationalCredentials:
              FabricDescriptorStruct:
                  - vendorId
                  - fabricId
                  - nodeId
          ContentLauncher:
              StyleInformationStruct:
                  - imageUrl
          ApplicationLauncher:
              ApplicationStruct:
                  - catalogVendorId
                  - applicationId
          ApplicationBasic:
              ApplicationStruct:
                  - catalogVendorId
                  - applicationId
          Scenes:
              AttributeValuePair:
                  - attributeId
              ExtensionFieldSet:
                  - clusterId
      event fields:
          Switch:
              MultiPressComplete:
                  - newPosition
      enums:
          AccessControl:
              - Privilege
              - AuthMode
          ThreadNetworkDiagnostics:
              - ThreadConnectionStatus
          EthernetNetworkDiagnostics:
              - PHYRateType
          GeneralDiagnostics:
              - HardwareFaultType
              - RadioFaultType
              - BootReasonType
              - NetworkFaultType
          OperationalCredentials:
              - OperationalCertStatus
          DoorLock:
              - DlAlarmCode
              - DlCredentialRule
              - DlCredentialType
              - DlDataOperationType
              - DlDoorState
              - DlLockDataType
              - DlLockOperationType
              - DlOperationError
              - DlOperatingMode
              - DlOperationSource
              - DlUserStatus
              - DlUserType
              # The enums after this come from the draft/types/door-lock.xml, not the
              # door lock cluster XML
              #
              # DoorLockUserStatus is not marked deprecated here because the
              # UserStatusEnum from the spec ends up with the same enum name
              # (MTRDoorLockUserStatus) but is missing one of the values
              # compared to DoorLockUserStatus.  So we have to keep
              # DoorLockUserStatus for now and just deprecate its one extra name.
              - DoorLockUserStatus
              - DoorLockUserType
              - DoorLockDayOfWeek
              - DoorLockSetPinOrIdStatus
              - DoorLockOperationEventCode
              - DoorLockProgrammingEventCode
      enum values:
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  - Ok
          PowerSource:
              BatChargeLevelEnum:
                  - Ok
              BatChargeFaultEnum:
                  - Unspecfied
              PowerSourceStatusEnum:
                  - Unspecfied
          WiFiNetworkDiagnostics:
              WiFiVersionType:
                  - 80211a
                  - 80211b
                  - 80211g
                  - 80211n
                  - 80211ac
                  - 80211ax
          DoorLock:
              UserStatusEnum:
                  - NotSupported
              UserTypeEnum:
                  - NotSupported
                  - Unrestricted
                  - MasterUser
          MediaInput:
              InputTypeEnum:
                  - Hdmi
                  - Scart
                  - Usb
          AudioOutput:
              OutputTypeEnum:
                  - Hdmi
                  - Bt
          Channel:
              LineupInfoTypeEnum:
                  - Mso
          ContentLauncher:
              MetricTypeEnum:
                  - PIXELS
                  - PERCENTAGE
          Thermostat:
              ThermostatSystemMode:
                  - EmergencyHeating
              SetpointAdjustMode:
                  - HeatSetpoint
                  - CoolSetpoint
                  - HeatAndCoolSetpoints
      bitmaps:
          DoorLock:
              - DlDaysMaskMap
      bitmap values:
          NetworkCommissioning:
              WiFiSecurity:
                  - WepPersonal
                  - WpaPersonal
                  - Wpa2Personal
                  - Wpa3Personal
          PressureMeasurement:
              PressureFeature:
                  - EXT
          DoorLock:
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - PINCredentials
                  - RFIDCredentials
                  - WeekDaySchedules
                  - CredentialsOTA
                  - UsersManagement
                  - Notifications
                  - YearDaySchedules
          Thermostat:
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Schedule
                  - Automode
              DayOfWeek:
                  - AwayOrVacation
              ModeForSequence:
                  - HeatSetpointFieldPresent
                  - CoolSetpointFieldPresent
      apis:
          - Timed Invoke for server to client commands
          - Deprecated global attribute names
  removed:
      commands:
          BasicInformation:
              - MfgSpecificPing
      enums:
          # DoorLockUserStatus (non-spec) and UserStatusEnum (from the spec) end
          # up with the same enum name (MTRDoorLockUserStatus), so just remove
          # the non-spec one.
          DoorLock:
              - DoorLockUserStatus
              - DoorLockUserType
      enum values:
          EthernetNetworkDiagnostics:
              # Both the enum and the values got renamed, so don't output the
              # old values with the new enum name.
              PHYRateEnum:
                  - 10M
                  - 100M
                  - 1000M
                  - 25G
                  - 5G
                  - 10G
                  - 40G
                  - 100G
                  - 200G
                  - 400G
          OperationalCredentials:
              # Both the enum and the value got renamed, so don't output the
              # old value with the new enum name.
              NodeOperationalCertStatusEnum:
                  - SUCCESS
          DoorLock:
              # Both the enum and the values got renamed, so don't output the
              # old value with the new enum name.
              CredentialRuleEnum:
                  - Double
  renames:
      clusters:
          UnitTesting: TestCluster
          BasicInformation: Basic
          OTASoftwareUpdateProvider: OtaSoftwareUpdateProvider
          OTASoftwareUpdateRequestor: OtaSoftwareUpdateRequestor
          WakeOnLAN: WakeOnLan
          BridgedDeviceBasicInformation: BridgedDeviceBasic
      attributes:
          Descriptor:
              DeviceTypeList: DeviceList
          AccessControl:
              ACL: Acl
          BallastConfiguration:
              IntrinsicBallastFactor: IntrinsicBalanceFactor
          OccupancySensing:
              PIROccupiedToUnoccupiedDelay: PirOccupiedToUnoccupiedDelay
              PIRUnoccupiedToOccupiedDelay: PirUnoccupiedToOccupiedDelay
              PIRUnoccupiedToOccupiedThreshold: PirUnoccupiedToOccupiedThreshold
          OTASoftwareUpdateRequestor:
              DefaultOTAProviders: DefaultOtaProviders
          ThreadNetworkDiagnostics:
              NeighborTable: NeighborTableList
              RouteTable: RouteTableList
          WiFiNetworkDiagnostics:
              BSSID: Bssid
              RSSI: Rssi
          GeneralDiagnostics:
              BootReason: BootReasons
      commands:
          OTASoftwareUpdateRequestor:
              AnnounceOTAProvider: AnnounceOtaProvider
          ContentLauncher:
              LauncherResponse: LaunchResponse
          MediaPlayback:
              Stop: StopPlayback
      command fields:
          OTASoftwareUpdateProvider:
              QueryImage:
                  vendorID: vendorId
                  productID: productId
          OTASoftwareUpdateRequestor:
              AnnounceOTAProvider:
                  providerNodeID: providerNodeId
                  vendorID: vendorId
          Groups:
              AddGroup:
                  groupID: groupId
              AddGroupIfIdentifying:
                  groupID: groupId
              AddGroupResponse:
                  groupID: groupId
              RemoveGroup:
                  groupID: groupId
              RemoveGroupResponse:
                  groupID: groupId
              ViewGroup:
                  groupID: groupId
              ViewGroupResponse:
                  groupID: groupId
          OnOff:
              OffWithEffect:
                  effectIdentifier: effectId
          DiagnosticLogs:
              RetrieveLogsResponse:
                  logContent: content
                  utcTimeStamp: timeStamp
          AdministratorCommissioning:
              OpenCommissioningWindow:
                  pakePasscodeVerifier: pakeVerifier
          OperationalCredentials:
              AttestationResponse:
                  attestationSignature: signature
              AddTrustedRootCertificate:
                  rootCACertificate: rootCertificate
          DoorLock:
              SetUser:
                  userUniqueID: userUniqueId
              GetUserResponse:
                  userUniqueID: userUniqueId
          ColorControl:
              MoveToColorTemperature:
                  colorTemperatureMireds: colorTemperature
          Scenes:
              AddScene:
                  groupID: groupId
                  sceneID: sceneId
              ViewScene:
                  groupID: groupId
                  sceneID: sceneId
              RemoveScene:
                  groupID: groupId
                  sceneID: sceneId
              RemoveAllScenes:
                  groupID: groupId
              StoreScene:
                  groupID: groupId
                  sceneID: sceneId
              RecallScene:
                  groupID: groupId
                  sceneID: sceneId
              GetSceneMembership:
                  groupID: groupId
              EnhancedAddScene:
                  groupID: groupId
                  sceneID: sceneId
              EnhancedViewScene:
                  groupID: groupId
                  sceneID: sceneId
              CopyScene:
                  groupIdentifierFrom: groupIdFrom
                  sceneIdentifierFrom: sceneIdFrom
                  groupIdentifierTo: groupIdTo
                  sceneIdentifierTo: sceneIdTo
              AddSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              ViewSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              RemoveSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              RemoveAllScenesResponse:
                  groupID: groupId
              StoreSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              GetSceneMembershipResponse:
                  groupID: groupId
              EnhancedAddSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              EnhancedViewSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              CopySceneResponse:
                  groupIdentifierFrom: groupIdFrom
                  sceneIdentifierFrom: sceneIdFrom
      structs:
          AccessControl:
              AccessControlEntryStruct: AccessControlEntry
              AccessControlExtensionStruct: ExtensionEntry
          SoftwareDiagnostics:
              ThreadMetricsStruct: ThreadMetrics
          GeneralDiagnostics:
              NetworkInterface: NetworkInterfaceType
          ModeSelect:
              SemanticTagStruct: SemanticTag
          OperationalCredentials:
              FabricDescriptorStruct: FabricDescriptor
          DoorLock:
              CredentialStruct: DlCredential
          MediaPlayback:
              PlaybackPositionStruct: PlaybackPosition
          TargetNavigator:
              TargetInfoStruct: TargetInfo
          MediaInput:
              InputInfoStruct: InputInfo
          AudioOutput:
              OutputInfoStruct: OutputInfo
          Channel:
              ChannelInfoStruct: ChannelInfo
              LineupInfoStruct: LineupInfo
          ContentLauncher:
              DimensionStruct: Dimension
              AdditionalInfoStruct: AdditionalInfo
              ParameterStruct: Parameter
              ContentSearchStruct: ContentSearch
              StyleInformationStruct: StyleInformation
              BrandingInformationStruct: BrandingInformation
          ApplicationLauncher:
              ApplicationStruct: Application
              ApplicationEPStruct: ApplicationEP
          ApplicationBasic:
              ApplicationStruct: ApplicationBasicApplication
      struct fields:
          Descriptor:
              DeviceTypeStruct:
                  deviceType: type
          OperationalCredentials:
              FabricDescriptorStruct:
                  vendorID: vendorId
                  fabricID: fabricId
                  nodeID: nodeId
          ContentLauncher:
              StyleInformationStruct:
                  imageURL: imageUrl
          ApplicationLauncher:
              ApplicationStruct:
                  catalogVendorID: catalogVendorId
                  applicationID: applicationId
          ApplicationBasic:
              ApplicationStruct:
                  catalogVendorID: catalogVendorId
                  applicationID: applicationId
          Scenes:
              AttributeValuePair:
                  attributeID: attributeId
              ExtensionFieldSet:
                  clusterID: clusterId
      event fields:
          Switch:
              MultiPressComplete:
                  previousPosition: newPosition
      enums:
          AccessControl:
              AccessControlEntryPrivilegeEnum: Privilege
              AccessControlEntryAuthModeEnum: AuthMode
          ThreadNetworkDiagnostics:
              ConnectionStatusEnum: ThreadConnectionStatus
          EthernetNetworkDiagnostics:
              PHYRateEnum: PHYRateType
          GeneralDiagnostics:
              HardwareFaultEnum: HardwareFaultType
              RadioFaultEnum: RadioFaultType
              BootReasonEnum: BootReasonType
              NetworkFaultEnum: NetworkFaultType
          OperationalCredentials:
              NodeOperationalCertStatusEnum: OperationalCertStatus
          DoorLock:
              AlarmCodeEnum: DlAlarmCode
              CredentialRuleEnum: DlCredentialRule
              CredentialTypeEnum: DlCredentialType
              DataOperationTypeEnum: DlDataOperationType
              DoorStateEnum: DlDoorState
              LockDataTypeEnum: DlLockDataType
              LockOperationTypeEnum: DlLockOperationType
              OperationErrorEnum: DlOperationError
              OperatingModeEnum: DlOperatingMode
              OperationSourceEnum: DlOperationSource
              UserStatusEnum: DlUserStatus
              UserTypeEnum: DlUserType
      enum values:
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  OK: Ok
          PowerSource:
              BatChargeLevelEnum:
                  OK: Ok
              BatChargeFaultEnum:
                  Unspecified: Unspecfied
              PowerSourceStatusEnum:
                  Unspecified: Unspecfied
          WiFiNetworkDiagnostics:
              WiFiVersionType:
                  A: 80211a
                  B: 80211b
                  G: 80211g
                  N: 80211n
                  Ac: 80211ac
                  Ax: 80211ax
          EthernetNetworkDiagnostics:
              PHYRateEnum:
                  Rate10M: 10M
                  Rate100M: 100M
                  Rate1G: 1000M
                  Rate25G: 25G
                  Rate5G: 5G
                  Rate10G: 10G
                  Rate40G: 40G
                  Rate100G: 100G
                  Rate200G: 200G
                  Rate400G: 400G
              PHYRateType:
                  Rate10M: 10M
                  Rate100M: 100M
                  Rate1G: 1000M
                  Rate25G: 25G
                  Rate5G: 5G
                  Rate10G: 10G
                  Rate40G: 40G
                  Rate100G: 100G
                  Rate200G: 200G
                  Rate400G: 400G
          OperationalCredentials:
              NodeOperationalCertStatusEnum:
                  OK: SUCCESS
              OperationalCertStatus:
                  OK: SUCCESS
          DoorLock:
              CredentialRuleEnum:
                  Dual: Double
              UserTypeEnum:
                  UnrestrictedUser: Unrestricted
                  ProgrammingUser: MasterUser
          MediaInput:
              InputTypeEnum:
                  HDMI: Hdmi
                  SCART: Scart
                  USB: Usb
          AudioOutput:
              OutputTypeEnum:
                  HDMI: Hdmi
                  BT: Bt
          Channel:
              LineupInfoTypeEnum:
                  MSO: Mso
          ContentLauncher:
              MetricTypeEnum:
                  Pixels: PIXELS
                  Percentage: PERCENTAGE
          Thermostat:
              ThermostatSystemMode:
                  EmergencyHeat: EmergencyHeating
              SetpointAdjustMode:
                  Heat: HeatSetpoint
                  Cool: CoolSetpoint
                  Both: HeatAndCoolSetpoints
      bitmaps:
          DoorLock:
              DaysMaskMap: DlDaysMaskMap
      bitmap values:
          NetworkCommissioning:
              WiFiSecurity:
                  WEP: WepPersonal
                  WPAPersonal: WpaPersonal
                  WPA2Personal: Wpa2Personal
                  WPA3Personal: Wpa3Personal
          PressureMeasurement:
              PressureFeature:
                  Extended: EXT
          DoorLock:
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  PINCredential: PINCredentials
                  RFIDCredential: RFIDCredentials
                  WeekDayAccessSchedules: WeekDaySchedules
                  CredentialsOverTheAirAccess: CredentialsOTA
                  User: UsersManagement
                  Notification: Notifications
                  YearDayAccessSchedules: YearDaySchedules
          Thermostat:
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  ScheduleConfiguration: Schedule
                  AutoMode: Automode
              DayOfWeek:
                  Away: AwayOrVacation
              ModeForSequence:
                  HeatSetpointPresent: HeatSetpointFieldPresent
                  CoolSetpointPresent: CoolSetpointFieldPresent

- release: "First after major API revamp"
  versions:
      ios: "16.5"
      macos: "13.4"
      watchos: "9.5"
      tvos: "16.5"
  introduced:
      ids:
          attributes:
              TimeSynchronization:
                  - DSTOffset
      command fields:
          DiagnosticLogs:
              RetrieveLogsRequest:
                  # Not really usable in earlier releases: wrong type.
                  - transferFileDesignator
      structs:
          TimeSynchronization:
              - DSTOffsetStruct
              - TimeZoneStruct
      struct fields:
          TimeSynchronization:
              DSTOffsetStruct:
                  - offset
                  - validStarting
                  - validUntil
              TimeZoneStruct:
                  - offset
                  - validAt
                  - name
      enums:
          DiagnosticLogs:
              - IntentEnum
              - StatusEnum
              - TransferProtocolEnum
          OccupancySensing:
              - OccupancySensorTypeEnum
          WiFiNetworkDiagnostics:
              - ConnectionStatusEnum
              - WiFiVersionEnum
          PumpConfigurationAndControl:
              - ControlModeEnum
              - OperationModeEnum
          PowerSource:
              - BatCommonDesignationEnum
              - BatApprovedChemistryEnum
      enum values:
          DoorLock:
              LockDataTypeEnum:
                  - FingerVein
                  - Face
          DiagnosticLogs:
              IntentEnum:
                  - EndUserSupport
                  - NetworkDiag
                  - CrashLogs
              StatusEnum:
                  - Success
                  - Exhausted
                  - NoLogs
                  - Busy
                  - Denied
              TransferProtocolEnum:
                  - ResponsePayload
                  - BDX
          OccupancySensing:
              OccupancySensorTypeEnum:
                  - PIR
                  - Ultrasonic
                  - PIRAndUltrasonic
                  - PhysicalContact
          WiFiNetworkDiagnostics:
              ConnectionStatusEnum:
                  - Connected
                  - NotConnected
              WiFiVersionEnum:
                  - A
                  - B
                  - G
                  - N
                  - Ac
                  - Ax
          PumpConfigurationAndControl:
              ControlModeEnum:
                  - ConstantSpeed
                  - ConstantPressure
                  - ProportionalPressure
                  - ConstantFlow
                  - ConstantTemperature
                  - Automatic
              OperationModeEnum:
                  - Normal
                  - Minimum
                  - Maximum
                  - Local
          PowerSource:
              WiredFaultEnum:
                  - Unspecified
              BatFaultEnum:
                  - Unspecified
              BatCommonDesignationEnum:
                  - Unspecified
                  - AAA
                  - AA
                  - C
                  - D
                  - 4v5
                  - 6v0
                  - 9v0
                  - 12AA
                  - AAAA
                  - A
                  - B
                  - F
                  - N
                  - No6
                  - SubC
                  - A23
                  - A27
                  - BA5800
                  - Duplex
                  - 4SR44
                  - "523"
                  - "531"
                  - 15v0
                  - 22v5
                  - 30v0
                  - 45v0
                  - 67v5
                  - J
                  - CR123A
                  - CR2
                  - 2CR5
                  - CRP2
                  - CRV3
                  - SR41
                  - SR43
                  - SR44
                  - SR45
                  - SR48
                  - SR54
                  - SR55
                  - SR57
                  - SR58
                  - SR59
                  - SR60
                  - SR63
                  - SR64
                  - SR65
                  - SR66
                  - SR67
                  - SR68
                  - SR69
                  - SR516
                  - SR731
                  - SR712
                  - LR932
                  - A5
                  - A10
                  - A13
                  - A312
                  - A675
                  - AC41E
                  - "10180"
                  - "10280"
                  - "10440"
                  - "14250"
                  - "14430"
                  - "14500"
                  - "14650"
                  - "15270"
                  - "16340"
                  - RCR123A
                  - "17500"
                  - "17670"
                  - "18350"
                  - "18500"
                  - "18650"
                  - "19670"
                  - "25500"
                  - "26650"
                  - "32600"
              BatApprovedChemistryEnum:
                  - Unspecified
                  - Alkaline
                  - LithiumCarbonFluoride
                  - LithiumChromiumOxide
                  - LithiumCopperOxide
                  - LithiumIronDisulfide
                  - LithiumManganeseDioxide
                  - LithiumThionylChloride
                  - Magnesium
                  - MercuryOxide
                  - NickelOxyhydride
                  - SilverOxide
                  - ZincAir
                  - ZincCarbon
                  - ZincChloride
                  - ZincManganeseDioxide
                  - LeadAcid
                  - LithiumCobaltOxide
                  - LithiumIon
                  - LithiumIonPolymer
                  - LithiumIronPhosphate
                  - LithiumSulfur
                  - LithiumTitanate
                  - NickelCadmium
                  - NickelHydrogen
                  - NickelIron
                  - NickelMetalHydride
                  - NickelZinc
                  - SilverZinc
                  - SodiumIon
                  - SodiumSulfur
                  - ZincBromide
                  - ZincCerium
      bitmaps:
          OccupancySensing:
              - OccupancyBitmap
              - OccupancySensorTypeBitmap
          PumpConfigurationAndControl:
              - PumpStatusBitmap
      bitmap values:
          OccupancySensing:
              OccupancyBitmap:
                  - Occupied
              OccupancySensorTypeBitmap:
                  - PIR
                  - Ultrasonic
                  - PhysicalContact
          PumpConfigurationAndControl:
              PumpFeature:
                  - LocalOperation
              PumpStatusBitmap:
                  - DeviceFault
                  - Supplyfault
                  - SpeedLow
                  - SpeedHigh
                  - LocalOverride
                  - Running
                  - RemotePressure
                  - RemoteFlow
                  - RemoteTemperature
  deprecated:
      attributes:
          TimeSynchronization:
              - DstOffset
      structs:
          TimeSynchronization:
              - DstOffsetType
              - TimeZoneType
      enums:
          DiagnosticLogs:
              - LogsIntent
              - LogsStatus
              - LogsTransferProtocol
          WiFiNetworkDiagnostics:
              - WiFiConnectionStatus
              - WiFiVersionType
          PumpConfigurationAndControl:
              - PumpControlMode
              - PumpOperationMode
      enum values:
          PowerSource:
              WiredFaultEnum:
                  - Unspecfied
              BatFaultEnum:
                  - Unspecfied
      bitmaps:
          PumpConfigurationAndControl:
              - PumpStatus
      bitmap values:
          PumpConfigurationAndControl:
              PumpFeature:
                  - Local
  renames:
      attributes:
          TimeSynchronization:
              DSTOffset: DstOffset
      structs:
          TimeSynchronization:
              DSTOffsetStruct: DstOffsetType
              TimeZoneStruct: TimeZoneType
      enums:
          DiagnosticLogs:
              IntentEnum: LogsIntent
              StatusEnum: LogsStatus
              TransferProtocolEnum: LogsTransferProtocol
          WiFiNetworkDiagnostics:
              ConnectionStatusEnum: WiFiConnectionStatus
              WiFiVersionEnum: WiFiVersionType
          PumpConfigurationAndControl:
              ControlModeEnum: PumpControlMode
              OperationModeEnum: PumpOperationMode
      enum values:
          PowerSource:
              WiredFaultEnum:
                  Unspecified: Unspecfied
              BatFaultEnum:
                  Unspecified: Unspecfied
      bitmaps:
          PumpConfigurationAndControl:
              PumpStatusBitmap: PumpStatus
      bitmap values:
          PumpConfigurationAndControl:
              PumpFeature:
                  LocalOperation: Local

- release: "TBD"
  versions: "future"
  introduced:
      clusters:
          - AirQuality
          - HEPAFilterMonitoring
          - ActivatedCarbonFilterMonitoring
          - CeramicFilterMonitoring
          - ElectrostaticFilterMonitoring
          - UVFilterMonitoring
          - IonizingFilterMonitoring
          - ZeoliteFilterMonitoring
          - OzoneFilterMonitoring
          - WaterTankMonitoring
          - FuelTankMonitoring
          - InkCartridgeMonitoring
          - TonerCartridgeMonitoring
          - RefrigeratorAlarm
          - TemperatureControl
          - SmokeCOAlarm
      attributes:
          Scenes:
              - EventList
          OnOff:
              - EventList
          OnOffSwitchConfiguration:
              - EventList
          LevelControl:
              - EventList
          BinaryInputBasic:
              - EventList
          PulseWidthModulation:
              - EventList
          Descriptor:
              - EventList
          Binding:
              - EventList
          Identify:
              - EventList
          AccessControl:
              - EventList
          Actions:
              - EventList
          OTASoftwareUpdateProvider:
              - EventList
          OTASoftwareUpdateRequestor:
              - EventList
          LocalizationConfiguration:
              - EventList
          TimeFormatLocalization:
              - EventList
          UnitLocalization:
              - EventList
          PowerSourceConfiguration:
              - EventList
          PowerSource:
              - EventList
          GeneralCommissioning:
              - EventList
          NetworkCommissioning:
              - EventList
          DiagnosticLogs:
              - EventList
          GeneralDiagnostics:
              - EventList
          SoftwareDiagnostics:
              - EventList
          ThreadNetworkDiagnostics:
              - EventList
          WiFiNetworkDiagnostics:
              - EventList
          EthernetNetworkDiagnostics:
              - EventList
          TimeSynchronization:
              - EventList
          Switch:
              - EventList
          AdministratorCommissioning:
              - EventList
          OperationalCredentials:
              - EventList
          GroupKeyManagement:
              - EventList
          FixedLabel:
              - EventList
          UserLabel:
              - EventList
          ProxyConfiguration:
              - EventList
          ProxyDiscovery:
              - EventList
          ProxyValid:
              - EventList
          BooleanState:
              - EventList
          ModeSelect:
              - EventList
          DoorLock:
              - EventList
          WindowCovering:
              - EventList
          BarrierControl:
              - EventList
          PumpConfigurationAndControl:
              - EventList
          FanControl:
              - EventList
          ThermostatUserInterfaceConfiguration:
              - EventList
          ColorControl:
              - EventList
          BallastConfiguration:
              - EventList
          IlluminanceMeasurement:
              - EventList
          TemperatureMeasurement:
              - EventList
          PressureMeasurement:
              - EventList
          Thermostat:
              - EventList
          FlowMeasurement:
              - EventList
          RelativeHumidityMeasurement:
              - EventList
          OccupancySensing:
              - EventList
          WakeOnLAN:
              - EventList
          Channel:
              - EventList
          Groups:
              - EventList
          TargetNavigator:
              - EventList
          MediaPlayback:
              - EventList
          MediaInput:
              - EventList
          LowPower:
              - EventList
          KeypadInput:
              - EventList
          ContentLauncher:
              - EventList
          AudioOutput:
              - EventList
          ApplicationLauncher:
              - EventList
          ApplicationBasic:
              - EventList
          AccountLogin:
              - EventList
          ElectricalMeasurement:
              - EventList
          UnitTesting:
              - EventList
          FaultInjection:
              - EventList
          AirQuality:
              - AirQuality
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          BasicInformation:
              - EventList
              - ProductAppearance
          BridgedDeviceBasicInformation:
              - EventList
              - ProductAppearance
          HEPAFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          ActivatedCarbonFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          CeramicFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          ElectrostaticFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          UVFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          IonizingFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          ZeoliteFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          OzoneFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          WaterTankMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          FuelTankMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          InkCartridgeMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          TonerCartridgeMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          RefrigeratorAlarm:
              - Mask
              - Latch
              - State
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          TemperatureControl:
              - TemperatureSetpoint
              - MinTemperature
              - MaxTemperature
              - Step
              - CurrentTemperatureLevelIndex
              - SupportedTemperatureLevels
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
          SmokeCOAlarm:
              - ExpressedState
              - SmokeState
              - COState
              - BatteryAlert
              - DeviceMuted
              - TestInProgress
              - HardwareFaultAlert
              - EndOfServiceAlert
              - InterconnectSmokeAlarm
              - InterconnectCOAlarm
              - ContaminationState
              - SensitivityLevel
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - EventList
              - FeatureMap
              - ClusterRevision
      commands:
          HEPAFilterMonitoring:
              - ResetCondition
          ActivatedCarbonFilterMonitoring:
              - ResetCondition
          CeramicFilterMonitoring:
              - ResetCondition
          ElectrostaticFilterMonitoring:
              - ResetCondition
          UVFilterMonitoring:
              - ResetCondition
          IonizingFilterMonitoring:
              - ResetCondition
          ZeoliteFilterMonitoring:
              - ResetCondition
          OzoneFilterMonitoring:
              - ResetCondition
          WaterTankMonitoring:
              - ResetCondition
          FuelTankMonitoring:
              - ResetCondition
          InkCartridgeMonitoring:
              - ResetCondition
          TonerCartridgeMonitoring:
              - ResetCondition
          RefrigeratorAlarm:
              - Reset
          TemperatureControl:
              - SetTemperature
          DoorLock:
              - UnboltDoor
          SmokeCOAlarm:
              - SelfTestRequest
      command fields:
          DoorLock:
              UnboltDoor:
                  - pinCode
          RefrigeratorAlarm:
              Reset:
                  - alarms
                  - mask
          TemperatureControl:
              SetTemperature:
                  - targetTemperature
                  - targetTemperatureLevel
      structs:
          AccessControl:
              - AccessControlTargetStruct
          BasicInformation:
              - ProductAppearanceStruct
          BridgedDeviceBasicInformation:
              - ProductAppearanceStruct
          TemperatureControl:
              - TemperatureLevelStruct
      struct fields:
          AccessControl:
              AccessControlTargetStruct:
                  - cluster
                  - endpoint
                  - deviceType
          BasicInformation:
              ProductAppearanceStruct:
                  - finish
                  - primaryColor
          BridgedDeviceBasicInformation:
              ProductAppearanceStruct:
                  - finish
                  - primaryColor
          TemperatureControl:
              TemperatureLevelStruct:
                  - label
                  - temperatureLevel
      events:
          RefrigeratorAlarm:
              - Notify
          SmokeCOAlarm:
              - SmokeAlarm
              - COAlarm
              - LowBattery
              - HardwareFault
              - EndOfService
              - SelfTestComplete
              - AlarmMuted
              - MuteEnded
              - InterconnectSmokeAlarm
              - InterconnectCOAlarm
              - AllClear
      event fields:
          RefrigeratorAlarm:
              Notify:
                  - active
                  - inactive
                  - state
                  - mask
      enums:
          AirQuality:
              - AirQualityEnum
          BasicInformation:
              - ColorEnum
              - ProductFinishEnum
          BridgedDeviceBasicInformation:
              - ColorEnum
              - ProductFinishEnum
          HEPAFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          ActivatedCarbonFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          CeramicFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          ElectrostaticFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          UVFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          IonizingFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          ZeoliteFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          OzoneFilterMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          WaterTankMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          FuelTankMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          InkCartridgeMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          TonerCartridgeMonitoring:
              - ChangeIndicationEnum
              - DegradationDirectionEnum
          SmokeCOAlarm:
              - AlarmStateEnum
              - ContaminationStateEnum
              - EndOfServiceEnum
              - ExpressedStateEnum
              - MuteStateEnum
              - SensitivityEnum
      enum values:
          AirQuality:
              AirQualityEnum:
                  - Unknown
                  - Good
                  - Fair
                  - Moderate
                  - Poor
                  - VeryPoor
                  - ExtremelyPoor
          BasicInformation:
              ColorEnum:
                  - Black
                  - Navy
                  - Green
                  - Teal
                  - Maroon
                  - Purple
                  - Olive
                  - Gray
                  - Blue
                  - Lime
                  - Aqua
                  - Red
                  - Fuchsia
                  - Yellow
                  - White
                  - Nickel
                  - Chrome
                  - Brass
                  - Copper
                  - Silver
                  - Gold
              ProductFinishEnum:
                  - Matte
                  - Satin
                  - Polished
                  - Rugged
                  - Fabric
                  - Other
          BridgedDeviceBasicInformation:
              ColorEnum:
                  - Black
                  - Navy
                  - Green
                  - Teal
                  - Maroon
                  - Purple
                  - Olive
                  - Gray
                  - Blue
                  - Lime
                  - Aqua
                  - Red
                  - Fuchsia
                  - Yellow
                  - White
                  - Nickel
                  - Chrome
                  - Brass
                  - Copper
                  - Silver
                  - Gold
              ProductFinishEnum:
                  - Matte
                  - Satin
                  - Polished
                  - Rugged
                  - Fabric
                  - Other
          HEPAFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          ActivatedCarbonFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          CeramicFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          ElectrostaticFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          UVFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          IonizingFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          ZeoliteFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          OzoneFilterMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          WaterTankMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          FuelTankMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          InkCartridgeMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          TonerCartridgeMonitoring:
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              DegradationDirectionEnum:
                  - Up
                  - Down
          DoorLock:
              DlLockState:
                  - Unlatched
              DlLockType:
                  - Eurocylinder
              LockOperationTypeEnum:
                  - Unlatch
          SmokeCOAlarm:
              AlarmStateEnum:
                  - Normal
                  - Warning
                  - Critical
              ContaminationStateEnum:
                  - Normal
                  - Low
                  - Warning
                  - Critical
              EndOfServiceEnum:
                  - Expired
                  - Normal
              ExpressedStateEnum:
                  - Normal
                  - SmokeAlarm
                  - COAlarm
                  - BatteryAlert
                  - Testing
                  - HardwareFault
                  - EndOfService
                  - InterconnectSmoke
                  - InterconnectCO
              MuteStateEnum:
                  - NotMuted
                  - Muted
              SensitivityEnum:
                  - High
                  - Standard
                  - Low
      bitmaps:
          AirQuality:
              - Feature
          Groups:
              - Feature
          PressureMeasurement:
              - Feature
          PumpConfigurationAndControl:
              - Feature
          Scenes:
              - Feature
          HEPAFilterMonitoring:
              - Feature
          ActivatedCarbonFilterMonitoring:
              - Feature
          CeramicFilterMonitoring:
              - Feature
          ElectrostaticFilterMonitoring:
              - Feature
          UVFilterMonitoring:
              - Feature
          IonizingFilterMonitoring:
              - Feature
          ZeoliteFilterMonitoring:
              - Feature
          OzoneFilterMonitoring:
              - Feature
          WaterTankMonitoring:
              - Feature
          FuelTankMonitoring:
              - Feature
          InkCartridgeMonitoring:
              - Feature
          TonerCartridgeMonitoring:
              - Feature
          RefrigeratorAlarm:
              - AlarmMap
          TemperatureControl:
              - Feature
          SmokeCOAlarm:
              - Feature
      bitmap values:
          AirQuality:
              Feature:
                  - Fair
                  - Moderate
                  - VeryPoor
                  - ExtremelyPoor
          Groups:
              Feature:
                  - GroupNames
          PressureMeasurement:
              Feature:
                  - Extended
          PumpConfigurationAndControl:
              Feature:
                  - ConstantPressure
                  - CompensatedPressure
                  - ConstantFlow
                  - ConstantSpeed
                  - ConstantTemperature
                  - Automatic
                  - LocalOperation
          Scenes:
              Feature:
                  - SceneNames
          Thermostat:
              Feature:
                  - LocalTemperatureNotExposed
          HEPAFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          ActivatedCarbonFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          CeramicFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          ElectrostaticFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          UVFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          IonizingFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          ZeoliteFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          OzoneFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
          WaterTankMonitoring:
              Feature:
                  - Condition
                  - Warning
          FuelTankMonitoring:
              Feature:
                  - Condition
                  - Warning
          InkCartridgeMonitoring:
              Feature:
                  - Condition
                  - Warning
          TonerCartridgeMonitoring:
              Feature:
                  - Condition
                  - Warning
          DoorLock:
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Unbolt
          RefrigeratorAlarm:
              AlarmMap:
                  - DoorOpen
          TemperatureControl:
              Feature:
                  - TemperatureNumber
                  - TemperatureLevel
          SmokeCOAlarm:
              Feature:
                  - SmokeAlarm
                  - COAlarm
      ids:
          attributes:
              TimeSynchronization:
                  - TrustedTimeSource
                  - DefaultNTP
                  - NTPServerAvailable
      global attributes:
          - EventList
  deprecated:
      clusters:
          # We apparently forgot to deprecate BridgedDeviceBasic when we
          # introduced BridgedDeviceBasicInformation.
          - BridgedDeviceBasic
      structs:
          AccessControl:
              - Target
      bitmaps:
          Groups:
              - GroupClusterFeature
          PressureMeasurement:
              - PressureFeature
          PumpConfigurationAndControl:
              - PumpFeature
  renames:
      attributes:
          TimeSynchronization:
              TrustedTimeSource: TrustedTimeNodeId
              DefaultNTP: DefaultNtp
              NTPServerAvailable: NtpServerPort
      commands:
          TimeSynchronization:
              SetUTCTime: SetUtcTime
      structs:
          AccessControl:
              AccessControlTargetStruct: Target
      enum values:
          TimeSynchronization:
              TimeSourceEnum:
                  NonMatterSNTP: NonFabricSntp
                  NonMatterNTP: NonFabricNtp
                  MatterSNTP: FabricSntp
                  MatterNTP: FabricNtp
                  MixedNTP: MixedNtp
                  NonMatterSNTPNTS: NonFabricSntpNts
                  NonMatterNTPNTS: NonFabricNtpNts
                  MatterSNTPNTS: FabricSntpNts
                  MatterNTPNTS: FabricNtpNts
                  MixedNTPNTS: MixedNtpNts
                  PTP: Ptp
                  GNSS: Gnss
      bitmaps:
          Groups:
              Feature: GroupClusterFeature
          PressureMeasurement:
              Feature: PressureFeature
          PumpConfigurationAndControl:
              Feature: PumpFeature
  provisional:
      clusters:
          # Not ready to be public API yet.
          - ICDManagement
      # Once we actually unmark TimeSynchronization as provisional, all these bits should go away too, and we should instead
      # mark things as introduced/deprecated as needed.  The "ids" entries should go away, in particular.
      ids:
          attributes:
              TimeSynchronization:
                  - TimeZoneListMaxSize
                  - DSTOffsetListMaxSize
                  - SupportsDNSResolve
          commands:
              TimeSynchronization:
                  - SetUTCTime
                  - SetTrustedTimeSource
                  - SetTimeZone
                  - SetTimeZoneResponse
                  - SetDSTOffset
                  - SetDefaultNTP
          events:
              TimeSynchronization:
                  - DSTTableEmpty
                  - DSTStatus
                  - TimeZoneStatus
                  - TimeFailure
                  - MissingTrustedTimeSource
      enum values:
          TimeSynchronization:
              TimeSourceEnum:
                  - NonMatterSNTP
                  - NonMatterNTP
                  - MatterSNTP
                  - MatterNTP
                  - MixedNTP
                  - NonMatterSNTPNTS
                  - NonMatterNTPNTS
                  - MatterSNTPNTS
                  - MatterNTPNTS
                  - MixedNTPNTS
                  - PTP
                  - GNSS
