DM XMLs: Re-scrape from 0.9 spec. (#32418)

Notable changes:
- ICD management cluster revision has been updated and features added
  as provisional
- power source changes for energy have been removed
- thermostat changes for schedule have been removed as they are not
  landing for 1.3
- bunch of device type revision updates for scenes clusters
diff --git a/data_model/clusters/Binding-Cluster.xml b/data_model/clusters/Binding-Cluster.xml
index eca291a..937b916 100644
--- a/data_model/clusters/Binding-Cluster.xml
+++ b/data_model/clusters/Binding-Cluster.xml
@@ -78,6 +78,7 @@
             <attribute name="Endpoint"/>
           </notTerm>
         </mandatoryConform>
+        <constraint type="min" value="1"/>
       </field>
       <field id="3" name="Endpoint" type="endpoint-no">
         <mandatoryConform>
diff --git a/data_model/clusters/ColorControl.xml b/data_model/clusters/ColorControl.xml
index b913009..14d471b 100644
--- a/data_model/clusters/ColorControl.xml
+++ b/data_model/clusters/ColorControl.xml
@@ -107,6 +107,7 @@
     </attribute>
     <attribute id="0x0002" name="RemainingTime" type="uint16" default="0">
       <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="false"/>
       <optionalConform/>
       <constraint type="between" from="0" to="65534"/>
     </attribute>
diff --git a/data_model/clusters/GeneralCommissioningCluster.xml b/data_model/clusters/GeneralCommissioningCluster.xml
index 635a663..e787763 100644
--- a/data_model/clusters/GeneralCommissioningCluster.xml
+++ b/data_model/clusters/GeneralCommissioningCluster.xml
@@ -128,5 +128,62 @@
       <mandatoryConform/>
     </attribute>
   </attributes>
-  <commands/>
+  <commands>
+    <command id="0x00" name="ArmFailSafe" direction="commandToServer" response="ArmFailSafeResponse">
+      <access invokePrivilege="admin"/>
+      <mandatoryConform/>
+      <field id="0" name="ExpiryLengthSeconds" type="uint16" default="900">
+        <mandatoryConform/>
+      </field>
+      <field id="1" name="Breadcrumb" type="uint64">
+        <mandatoryConform/>
+      </field>
+    </command>
+    <command id="0x01" name="ArmFailSafeResponse" direction="responseFromServer">
+      <mandatoryConform/>
+      <field id="0" name="ErrorCode" type="CommissioningErrorEnum" default="OK">
+        <mandatoryConform/>
+      </field>
+      <field id="1" name="DebugText" type="String" default="&quot;">
+        <mandatoryConform/>
+        <constraint type="max" value="128"/>
+      </field>
+    </command>
+    <command id="0x02" name="SetRegulatoryConfig" direction="commandToServer" response="SetRegulatoryConfigResponse">
+      <access invokePrivilege="admin"/>
+      <mandatoryConform/>
+      <field id="0" name="NewRegulatoryConfig" type="RegulatoryLocationTypeEnum">
+        <mandatoryConform/>
+      </field>
+      <field id="1" name="CountryCode" type="string">
+        <mandatoryConform/>
+        <constraint type="maxLength" value="2"/>
+      </field>
+      <field id="2" name="Breadcrumb" type="uint64">
+        <mandatoryConform/>
+      </field>
+    </command>
+    <command id="0x03" name="SetRegulatoryConfigResponse" direction="responseFromServer">
+      <mandatoryConform/>
+      <field id="0" name="ErrorCode" type="CommissioningErrorEnum" default="OK">
+        <mandatoryConform/>
+      </field>
+      <field id="1" name="DebugText" type="String" default="&quot;">
+        <mandatoryConform/>
+      </field>
+    </command>
+    <command id="0x04" name="CommissioningComplete" direction="commandToServer" response="CommissioningCompleteResponse">
+      <access invokePrivilege="admin" fabricScoped="true"/>
+      <mandatoryConform/>
+    </command>
+    <command id="0x05" name="CommissioningCompleteResponse" direction="responseFromServer">
+      <mandatoryConform/>
+      <field id="0" name="ErrorCode" type="CommissioningErrorEnum" default="OK">
+        <mandatoryConform/>
+      </field>
+      <field id="1" name="DebugText" type="String" default="&quot;">
+        <mandatoryConform/>
+      </field>
+    </command>
+  </commands>
 </cluster>
\ No newline at end of file
diff --git a/data_model/clusters/ICDManagement.xml b/data_model/clusters/ICDManagement.xml
index 2de6842..534b834 100644
--- a/data_model/clusters/ICDManagement.xml
+++ b/data_model/clusters/ICDManagement.xml
@@ -57,9 +57,10 @@
 

 // Update Name

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0046" name="ICD Management" revision="1">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0046" name="ICD Management" revision="2">
   <revisionHistory>
     <revision revision="1" summary="Initial Release"/>
+    <revision revision="2" summary="Addition of LIT ICD support, UserActiveModeTrigger, ActiveModeDuration, StayActiveResponse; removal of field Key in MonitoringRegistrationStruct"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x0046" name="ICDManagement"/>
@@ -69,11 +70,30 @@
     <feature bit="0" code="CIP" name="CheckInProtocolSupport" summary="Device supports attributes and commands for the Check-In Protocol support.">
       <otherwiseConform>
         <provisionalConform/>
+        <mandatoryConform>
+          <feature name="LITS"/>
+        </mandatoryConform>
+        <optionalConform/>
+      </otherwiseConform>
+    </feature>
+    <feature bit="1" code="UAT" name="UserActiveModeTrigger" summary="Device supports the user active mode trigger feature.">
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform>
+          <feature name="LITS"/>
+        </mandatoryConform>
+        <optionalConform/>
+      </otherwiseConform>
+    </feature>
+    <feature bit="2" code="LITS" name="LongIdleTimeSupport" summary="Device supports operating as a Long Idle Time ICD.">
+      <otherwiseConform>
+        <provisionalConform/>
         <optionalConform/>
       </otherwiseConform>
     </feature>
   </features>
   <dataTypes>
+    <number name="UserActiveModeTriggerBitmap" type=""/>
     <enum name="OperatingModeEnum">
       <item value="0" name="SIT" summary="ICD is operating as a Short Idle Time ICD.">
         <mandatoryConform/>
@@ -138,6 +158,31 @@
       </mandatoryConform>
       <constraint type="min" value="1"/>
     </attribute>
+    <attribute id="0x0006" name="UserActiveModeTriggerHint" type="UserActiveModeTriggerBitmap" default="0">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform>
+          <feature name="UAT"/>
+        </mandatoryConform>
+      </otherwiseConform>
+      <constraint type="desc"/>
+    </attribute>
+    <attribute id="0x0007" name="UserActiveModeTriggerInstruction" type="string" default="&quot;">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
+      <constraint type="maxLength" value="128"/>
+    </attribute>
+    <attribute id="0x0008" name="OperatingMode" type="OperatingModeEnum">
+      <access read="true" readPrivilege="view"/>
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform>
+          <feature name="LITS"/>
+        </mandatoryConform>
+      </otherwiseConform>
+    </attribute>
   </attributes>
   <commands>
     <command id="0x00" name="RegisterClient" direction="commandToServer" response="RegisterClientResponse">
diff --git a/data_model/clusters/LevelControl.xml b/data_model/clusters/LevelControl.xml
index 6b2b3ca..13522bf 100644
--- a/data_model/clusters/LevelControl.xml
+++ b/data_model/clusters/LevelControl.xml
@@ -126,6 +126,7 @@
     </attribute>
     <attribute id="0x0001" name="RemainingTime" type="uint16" default="0">
       <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="false"/>
       <mandatoryConform>
         <feature name="LT"/>
       </mandatoryConform>
diff --git a/data_model/clusters/MediaPlayback.xml b/data_model/clusters/MediaPlayback.xml
index 0a457a4..e9194b6 100644
--- a/data_model/clusters/MediaPlayback.xml
+++ b/data_model/clusters/MediaPlayback.xml
@@ -202,6 +202,7 @@
       <field id="2" name="DisplayName" type="string" default="null">
         <quality nullable="true"/>
         <optionalConform/>
+        <constraint type="maxLength" value="256"/>
       </field>
     </struct>
     <struct name="TrackStruct">
@@ -389,12 +390,13 @@
       </mandatoryConform>
       <field id="0" name="TrackID" type="string">
         <mandatoryConform/>
-        <constraint type="desc"/>
+        <constraint type="maxLength" value="32"/>
       </field>
       <field id="1" name="AudioOutputIndex" type="uint8">
         <quality nullable="true"/>
-        <mandatoryConform/>
-        <constraint type="desc"/>
+        <mandatoryConform>
+          <feature name="AT"/>
+        </mandatoryConform>
       </field>
     </command>
     <command id="0x0D" name="ActivateTextTrack" direction="commandToServer" response="Y">
@@ -404,7 +406,7 @@
       </mandatoryConform>
       <field id="0" name="TrackID" type="string">
         <mandatoryConform/>
-        <constraint type="desc"/>
+        <constraint type="maxLength" value="32"/>
       </field>
     </command>
     <command id="0x0E" name="DeactivateTextTrack" direction="commandToServer" response="Y">
diff --git a/data_model/clusters/Messages.xml b/data_model/clusters/Messages.xml
index 5bc3ce8..61f21be 100644
--- a/data_model/clusters/Messages.xml
+++ b/data_model/clusters/Messages.xml
@@ -186,15 +186,11 @@
     </bitmap>
     <struct name="MessageResponseOptionStruct">
       <field id="0" name="MessageResponseID" type="uint32">
-        <mandatoryConform>
-          <feature name="RESP"/>
-        </mandatoryConform>
+        <mandatoryConform/>
         <constraint type="min" value="1"/>
       </field>
       <field id="1" name="Label" type="string">
-        <mandatoryConform>
-          <feature name="RPLY"/>
-        </mandatoryConform>
+        <mandatoryConform/>
         <constraint type="maxLength" value="32"/>
       </field>
     </struct>
@@ -268,18 +264,20 @@
         <quality nullable="true"/>
         <mandatoryConform/>
       </field>
-      <field id="4" name="Duration" type="uint16" default="0">
+      <field id="4" name="Duration" type="uint64" default="0">
         <quality nullable="true"/>
         <mandatoryConform/>
       </field>
       <field id="5" name="MessageText" type="string">
         <mandatoryConform/>
+        <constraint type="maxLength" value="256"/>
       </field>
       <field id="6" name="Responses" type="list" default="empty">
         <entry type="MessageResponseOptionStruct"/>
         <mandatoryConform>
           <feature name="RESP"/>
         </mandatoryConform>
+        <constraint type="maxCount" value="4"/>
       </field>
     </command>
     <command id="0x01" name="CancelMessagesRequest" direction="commandToServer" response="Y">
@@ -288,6 +286,7 @@
       <field id="0" name="MessageIDs" type="list">
         <entry type="MessageID"/>
         <mandatoryConform/>
+        <constraint type="maxCount" value="8"/>
       </field>
     </command>
   </commands>
diff --git a/data_model/clusters/NetworkIdentityManagement.xml b/data_model/clusters/NetworkIdentityManagement.xml
index 8769b68..20e2642 100644
--- a/data_model/clusters/NetworkIdentityManagement.xml
+++ b/data_model/clusters/NetworkIdentityManagement.xml
@@ -57,14 +57,14 @@
 

 :xrefstyle: basic

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Network Identity Management" revision="1">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0450" name="Network Identity Management" revision="1">
   <revisionHistory>
     <revision revision="1" summary="Initial Release"/>
   </revisionHistory>
   <clusterIds>
-    <clusterId name="Network Identity Management"/>
+    <clusterId id="0x0450" name="Network Identity Management"/>
   </clusterIds>
-  <classification hierarchy="base" role="application" picsCode="TODO" scope="Endpoint"/>
+  <classification hierarchy="base" role="application" picsCode="NETIM" scope="Endpoint"/>
   <dataTypes>
     <number name="Client Table" type=""/>
     <enum name="NetworkIdentityStatus">
diff --git a/data_model/clusters/OperationalState.xml b/data_model/clusters/OperationalState.xml
index 0062b38..37dc6b6 100644
--- a/data_model/clusters/OperationalState.xml
+++ b/data_model/clusters/OperationalState.xml
@@ -65,6 +65,17 @@
   </clusterIds>
   <classification hierarchy="base" role="application" picsCode="OPSTATE" scope="Endpoint"/>
   <dataTypes>
+    <enum name="ErrorStateEnum">
+      <item from="0x00" to="0x3F" name="GeneralErrors" summary="Generally applicable values for error, defined herein">
+        <mandatoryConform/>
+      </item>
+      <item from="0x40" to="0x7F" name="DerivedClusterErrors" summary="Derived Cluster defined errors">
+        <mandatoryConform/>
+      </item>
+      <item from="0x80" to="0xBF" name="ManufacturerError" summary="Vendor specific errors">
+        <mandatoryConform/>
+      </item>
+    </enum>
     <enum name="OperationalStateEnum">
       <item from="0x00" to="0x3F" name="GeneralStates" summary="Generally applicable values for state, defined herein">
         <mandatoryConform/>
@@ -77,18 +88,7 @@
       </item>
     </enum>
     <struct name="ErrorStateStruct">
-      <field id="0" name="ErrorStateID" type="enum8" default="0">
-        <enum>
-          <item from="0x00" to="0x3F" name="GeneralErrors" summary="Generally applicable values for error, defined herein">
-            <mandatoryConform/>
-          </item>
-          <item from="0x40" to="0x7F" name="DerivedClusterErrors" summary="Derived Cluster defined errors">
-            <mandatoryConform/>
-          </item>
-          <item from="0x80" to="0xBF" name="ManufacturerError" summary="Vendor specific errors">
-            <mandatoryConform/>
-          </item>
-        </enum>
+      <field id="0" name="ErrorStateID" type="ErrorStateEnum" default="0">
         <mandatoryConform/>
       </field>
       <field id="1" name="ErrorStateLabel" type="string" default="empty">
diff --git a/data_model/clusters/PowerSourceCluster.xml b/data_model/clusters/PowerSourceCluster.xml
index ffd628d..28a9154 100644
--- a/data_model/clusters/PowerSourceCluster.xml
+++ b/data_model/clusters/PowerSourceCluster.xml
@@ -55,11 +55,10 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x002F" name="Power Source" revision="3">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x002F" name="Power Source" revision="2">
   <revisionHistory>
     <revision revision="1" summary="Initial Release"/>
     <revision revision="2" summary="Added EndpointList attribute that maps a power source to a list of endpoints"/>
-    <revision revision="3" summary="Added features CHGM and DCHGM, related attributes (0x0020..0x002A) and related updates to enums"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x002F" name="Power Source"/>
@@ -82,16 +81,6 @@
         <feature name="BAT"/>
       </optionalConform>
     </feature>
-    <feature bit="4" code="CHGM" name="ChargeManagement" summary="A battery with charging management">
-      <optionalConform>
-        <feature name="BAT"/>
-      </optionalConform>
-    </feature>
-    <feature bit="5" code="DCHGM" name="DischargeManagement" summary="A battery with discharging management">
-      <optionalConform>
-        <feature name="BAT"/>
-      </optionalConform>
-    </feature>
   </features>
   <dataTypes>
     <enum name="BatApprovedChemistryEnum">
@@ -229,24 +218,6 @@
       <item value="10" name="SafetyTimeout" summary="The Node detects a charging safety timeout for this battery source.">
         <mandatoryConform/>
       </item>
-      <item value="11" name="ChargerOverCurrent" summary="The Node detects the charger for this battery source is over current.">
-        <mandatoryConform/>
-      </item>
-      <item value="12" name="UnexpectedVoltage" summary="The Node detects a voltage when it expected none.">
-        <mandatoryConform/>
-      </item>
-      <item value="13" name="ExpectedVoltage" summary="The Node detects no voltage when it expected one.">
-        <mandatoryConform/>
-      </item>
-      <item value="14" name="GroundFault" summary="The Node detects an unbalanced current supply.">
-        <mandatoryConform/>
-      </item>
-      <item value="15" name="ChargeSignalFailure" summary="The Node detects a failure in the signal to control charging.">
-        <mandatoryConform/>
-      </item>
-      <item value="16" name="SafetyTimeout" summary="The Node detects a charging safety timeout for this battery source.">
-        <mandatoryConform/>
-      </item>
     </enum>
     <enum name="BatChargeLevelEnum">
       <item value="0" name="OK" summary="Charge level is nominal">
@@ -259,23 +230,6 @@
         <mandatoryConform/>
       </item>
     </enum>
-    <enum name="BatChargePermissionsEnum">
-      <item value="0" name="Disabled" summary="The battery is not currently allowed to charge or discharge">
-        <mandatoryConform/>
-      </item>
-      <item value="1" name="ChargingEnabled" summary="The battery is currently allowed to charge">
-        <mandatoryConform/>
-      </item>
-      <item value="2" name="DischargingEnabled" summary="The battery is currently allowed to discharge">
-        <mandatoryConform/>
-      </item>
-      <item value="3" name="DisabledError" summary="The battery is not currently allowed to charge or discharge due to an error.">
-        <mandatoryConform/>
-      </item>
-      <item value="4" name="DisabledDiagnostics" summary="The battery is not currently allowed to charge or discharge due to Diagnostics Mode.">
-        <mandatoryConform/>
-      </item>
-    </enum>
     <enum name="BatChargeStateEnum">
       <item value="0" name="Unknown" summary="Unable to determine the charging state">
         <mandatoryConform/>
@@ -289,12 +243,6 @@
       <item value="3" name="IsNotCharging" summary="The battery is not charging">
         <mandatoryConform/>
       </item>
-      <item value="4" name="IsDischarging" summary="The battery is discharging">
-        <mandatoryConform/>
-      </item>
-      <item value="5" name="IsTransitioning" summary="The battery is transitioning from one charging state to another">
-        <mandatoryConform/>
-      </item>
     </enum>
     <enum name="BatCommonDesignationEnum">
       <item value="0" name="Unspecified" summary="Common type is unknown or unspecified">
@@ -541,17 +489,6 @@
         <mandatoryConform/>
       </item>
     </enum>
-    <enum name="BatEnergyTransferStopReasonEnum">
-      <item value="0" name="BatteryStopped" summary="The battery stopped the energy transfer">
-        <mandatoryConform/>
-      </item>
-      <item value="1" name="PowerSourceStopped" summary="The power source stopped the energy transfer">
-        <mandatoryConform/>
-      </item>
-      <item value="255" name="Other" summary="The energy transfer stopped for some unknown reason">
-        <mandatoryConform/>
-      </item>
-    </enum>
     <enum name="BatFaultEnum">
       <item value="0" name="Unspecified" summary="The Node detects an unspecified fault on this battery power source.">
         <mandatoryConform/>
@@ -838,125 +775,7 @@
       <access read="true" readPrivilege="view"/>
       <mandatoryConform/>
     </attribute>
-    <attribute id="0x0020" name="BatAbsMaxChargeCurrent" type="uint32" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="CHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0021" name="BatAbsMinChargeCurrent" type="uint32" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="CHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0022" name="BatAbsMaxDischargeCurrent" type="uint32" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="DCHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0023" name="BatMaxChargeCurrent" type="uint32" default="null">
-      <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="CHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0024" name="BatMinChargeCurrent" type="uint32" default="null">
-      <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="CHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0025" name="BatMaxDischargeCurrent" type="uint32" default="null">
-      <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="DCHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0026" name="BatChargePermissions" type="BatChargePermissionsEnum">
-      <access read="true" readPrivilege="view"/>
-      <mandatoryConform/>
-    </attribute>
-    <attribute id="0x0027" name="BatEnableChargeTime" type="uint16" default="null">
-      <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="CHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0028" name="BatEnableDischargeTime" type="uint16" default="null">
-      <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="DCHGM"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0029" name="WiredMaxAmperage" type="uint32" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/>
-      <optionalConform>
-        <feature name="WIRED"/>
-      </optionalConform>
-    </attribute>
-    <attribute id="0x002A" name="WiredAbsMaxAmperage" type="uint32" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
-      <optionalConform>
-        <feature name="WIRED"/>
-      </optionalConform>
-    </attribute>
   </attributes>
-  <commands>
-    <command id="0x01" name="DisableBattery" direction="commandToServer" response="Y">
-      <access invokePrivilege="operate"/>
-      <mandatoryConform>
-        <feature name="CHGM"/>
-      </mandatoryConform>
-    </command>
-    <command id="0x02" name="EnableBatteryCharging" direction="commandToServer" response="Y">
-      <access invokePrivilege="operate"/>
-      <mandatoryConform>
-        <feature name="CHGM"/>
-      </mandatoryConform>
-      <field id="0" name="EnableTime" type="uint16" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="1" name="MinimumChargeCurrent" type="uint16">
-        <mandatoryConform/>
-        <constraint type="allowed" value="6-32"/>
-      </field>
-      <field id="2" name="MaximumChargeCurrent" type="uint16">
-        <mandatoryConform/>
-        <constraint type="allowed" value="6-32"/>
-      </field>
-    </command>
-    <command id="0x03" name="EnableBatteryDischarging" direction="commandToServer" response="Y">
-      <access invokePrivilege="operate"/>
-      <mandatoryConform>
-        <feature name="DCHGM"/>
-      </mandatoryConform>
-      <field id="0" name="EnableTime" type="uint16" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="1" name="MaximumDischargeCurrent" type="uint16">
-        <mandatoryConform/>
-        <constraint type="allowed" value="6-32"/>
-      </field>
-    </command>
-    <command id="0x04" name="StartBatteryDiagnostics" direction="commandToServer" response="Y">
-      <access invokePrivilege="operate"/>
-      <optionalConform/>
-    </command>
-  </commands>
   <events>
     <event id="0x00" name="WiredFaultChange" priority="info">
       <access readPrivilege="view"/>
@@ -1006,77 +825,5 @@
         <constraint type="maxCount" value="16"/>
       </field>
     </event>
-    <event id="0x03" name="BatConnected" priority="info">
-      <access readPrivilege="view"/>
-      <optionalConform>
-        <feature name="BAT"/>
-      </optionalConform>
-      <field id="0" name="SessionID" type="uint32" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="1" name="ChargeState" type="BatChargeStateEnum">
-        <mandatoryConform/>
-      </field>
-    </event>
-    <event id="0x04" name="BatDisconnected" priority="info">
-      <access readPrivilege="view"/>
-      <optionalConform>
-        <feature name="BAT"/>
-      </optionalConform>
-      <field id="0" name="SessionID" type="uint32" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="1" name="ChargeState" type="BatChargeStateEnum">
-        <mandatoryConform/>
-      </field>
-      <field id="2" name="SessionDuration" type="elapsed-s" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="3" name="SessionEnergyCharged" type="int64" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="4" name="SessionEnergyDischarged" type="int64" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-    </event>
-    <event id="0x05" name="BatEnergyTransferStarted" priority="info">
-      <access readPrivilege="view"/>
-      <optionalConform>
-        <feature name="RECHG"/>
-      </optionalConform>
-      <field id="0" name="SessionID" type="uint32" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="1" name="ChargeState" type="BatChargeStateEnum">
-        <mandatoryConform/>
-      </field>
-    </event>
-    <event id="0x06" name="BatEnergyTransferStopped" priority="info">
-      <access readPrivilege="view"/>
-      <optionalConform>
-        <feature name="RECHG"/>
-      </optionalConform>
-      <field id="0" name="SessionID" type="uint32" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="1" name="ChargeState" type="BatChargeStateEnum">
-        <mandatoryConform/>
-      </field>
-      <field id="2" name="Reason" type="BatEnergyTransferStopReasonEnum" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-      <field id="3" name="EnergyTransferred" type="int64" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-    </event>
   </events>
 </cluster>
\ No newline at end of file
diff --git a/data_model/clusters/Thermostat.xml b/data_model/clusters/Thermostat.xml
index 756e279..71a0c48 100644
--- a/data_model/clusters/Thermostat.xml
+++ b/data_model/clusters/Thermostat.xml
@@ -55,7 +55,7 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0201" name="Thermostat" revision="7">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0201" name="Thermostat" revision="6">
   <revisionHistory>
     <revision revision="1" summary="Mandatory global ClusterRevision attribute added; fixed some defaults; CCB 1823, 1480"/>
     <revision revision="2" summary="CCB 1981 2186 2249 2250 2251; NFR Thermostat Setback"/>
@@ -63,7 +63,6 @@
     <revision revision="4" summary="All Hubs changes"/>
     <revision revision="5" summary="New data model format and notation, added FeatureMap, collapsed attribute sets, clarified edge cases around limits, default value of xxxSetpointLimit now respects AbsxxxSetpointLimit"/>
     <revision revision="6" summary="Introduced the LTNE feature and adapted text (spec issue #5778)"/>
-    <revision revision="7" summary="Introduced the Presets and Matter Schedules features"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x0201" name="Thermostat"/>
@@ -106,17 +105,6 @@
     <feature bit="6" code="LTNE" name="LocalTemperatureNotExposed" summary="Thermostat does not expose the LocalTemperature Value in the LocalTemperature attribute">
       <optionalConform/>
     </feature>
-    <feature bit="7" code="MSCH" name="MatterScheduleConfiguration" summary="Supports enhanced schedules">
-      <optionalConform/>
-    </feature>
-    <feature bit="8" code="PRES" name="Presets" summary="Thermostat supports setpoint presets">
-      <optionalConform/>
-    </feature>
-    <feature bit="9" code="QDPRES" name="QueuedPresetsSupported" summary="Thermostat supports queued Presets with a delay">
-      <optionalConform>
-        <feature name="PRES"/>
-      </optionalConform>
-    </feature>
   </features>
   <dataTypes>
     <number name="SignedTemperature" type=""/>
@@ -227,36 +215,13 @@
         </optionalConform>
       </item>
     </enum>
-    <enum name="PresetScenarioEnum">
-      <item value="1" name="Occupied" summary="The thermostat-controlled area is occupied">
-        <mandatoryConform/>
-      </item>
-      <item value="2" name="Unoccupied" summary="The thermostat-controlled area is unoccupied">
-        <mandatoryConform/>
-      </item>
-      <item value="3" name="Sleep" summary="Users are likely to be sleeping">
-        <mandatoryConform/>
-      </item>
-      <item value="4" name="Wake" summary="Users are likely to be waking up">
-        <mandatoryConform/>
-      </item>
-      <item value="5" name="Vacation" summary="Users are on vacation">
-        <mandatoryConform/>
-      </item>
-      <item value="6" name="UserDefined" summary="Custom presets">
-        <mandatoryConform/>
-      </item>
-    </enum>
     <enum name="SetpointChangeSourceEnum">
       <item value="0" name="Manual" summary="Manual, user-initiated setpoint change via the thermostat">
         <optionalConform/>
       </item>
       <item value="1" name="Schedule" summary="Schedule/internal programming-initiated setpoint change">
         <optionalConform>
-          <orTerm>
-            <feature name="SCH"/>
-            <feature name="MSCH"/>
-          </orTerm>
+          <feature name="SCH"/>
         </optionalConform>
       </item>
       <item value="2" name="External" summary="Externally-initiated setpoint change (e.g., DRLC cluster command, attribute write)">
@@ -410,14 +375,6 @@
         <mandatoryConform/>
       </bitfield>
     </bitmap>
-    <bitmap name="PresetTypeFeaturesBitmap">
-      <bitfield name="Automatic" bit="0" summary="Preset may be automatically activated by the thermostat">
-        <mandatoryConform/>
-      </bitfield>
-      <bitfield name="SupportsNames" bit="1" summary="Preset supports user-provided names">
-        <mandatoryConform/>
-      </bitfield>
-    </bitmap>
     <bitmap name="ProgrammingOperationModeBitmap">
       <bitfield name="ScheduleActive" bit="0" summary="Schedule programming mode. This enables any programmed weekly schedule configurations.">
         <mandatoryConform/>
@@ -497,149 +454,6 @@
         <mandatoryConform/>
       </bitfield>
     </bitmap>
-    <bitmap name="ScheduleTypeFeaturesBitmap">
-      <bitfield name="SupportsPresets" bit="0" summary="Supports presets">
-        <optionalConform choice="a" more="true">
-          <feature name="PRES"/>
-        </optionalConform>
-      </bitfield>
-      <bitfield name="SupportsSetpoints" bit="1" summary="Supports setpoints">
-        <optionalConform choice="a" more="true"/>
-      </bitfield>
-      <bitfield name="SupportsNames" bit="2" summary="Supports user-provided names">
-        <optionalConform/>
-      </bitfield>
-      <bitfield name="SupportsOff" bit="3" summary="Supports transitioning to SystemModeOff">
-        <optionalConform/>
-      </bitfield>
-    </bitmap>
-    <struct name="PresetStruct">
-      <field id="0" name="PresetHandle" type="octstr">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-        <constraint type="maxLength" value="16"/>
-      </field>
-      <field id="1" name="PresetScenario" type="PresetScenarioEnum">
-        <mandatoryConform/>
-      </field>
-      <field id="2" name="Name" type="string" default="null">
-        <quality nullable="true"/>
-        <optionalConform/>
-        <constraint type="maxLength" value="64"/>
-      </field>
-      <field id="3" name="CoolingSetpoint" type="temperature" default="26°C">
-        <mandatoryConform>
-          <feature name="COOL"/>
-        </mandatoryConform>
-        <constraint type="desc"/>
-      </field>
-      <field id="4" name="HeatingSetpoint" type="temperature" default="20°C">
-        <mandatoryConform>
-          <feature name="HEAT"/>
-        </mandatoryConform>
-        <constraint type="desc"/>
-      </field>
-      <field id="5" name="BuiltIn" type="bool" default="false">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-    </struct>
-    <struct name="PresetTypeStruct">
-      <field id="0" name="PresetScenario" type="PresetScenarioEnum">
-        <mandatoryConform/>
-      </field>
-      <field id="1" name="NumberOfPresets" type="uint8" default="0">
-        <mandatoryConform/>
-      </field>
-      <field id="2" name="PresetTypeFeatures" type="PresetTypeFeaturesBitmap" default="0">
-        <mandatoryConform/>
-      </field>
-    </struct>
-    <struct name="QueuedPresetStruct">
-      <field id="0" name="PresetHandle" type="octstr">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-        <constraint type="maxLength" value="16"/>
-      </field>
-      <field id="1" name="TransitionTimestamp" type="utc" default="null">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-    </struct>
-    <struct name="ScheduleStruct">
-      <field id="0" name="ScheduleHandle" type="octstr">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-        <constraint type="maxLength" value="16"/>
-      </field>
-      <field id="1" name="SystemMode" type="SystemModeEnum">
-        <mandatoryConform/>
-        <constraint type="desc"/>
-      </field>
-      <field id="2" name="Name" type="string">
-        <optionalConform/>
-        <constraint type="maxLength" value="64"/>
-      </field>
-      <field id="3" name="PresetHandle" type="octstr">
-        <optionalConform/>
-        <constraint type="maxLength" value="16"/>
-      </field>
-      <field id="4" name="Transitions" type="list" default="empty">
-        <entry type="ScheduleTransitionStruct"/>
-        <mandatoryConform/>
-        <constraint type="countBetween" from="1" to="NumberOfScheduleTransitions Attribute"/>
-      </field>
-      <field id="5" name="BuiltIn" type="bool" default="false">
-        <quality nullable="true"/>
-        <mandatoryConform/>
-      </field>
-    </struct>
-    <struct name="ScheduleTransitionStruct">
-      <field id="0" name="DayOfWeek" type="ScheduleDayOfWeekBitmap">
-        <mandatoryConform/>
-        <constraint type="desc"/>
-      </field>
-      <field id="1" name="TransitionTime" type="uint16">
-        <mandatoryConform/>
-        <constraint type="between" from="0" to="1439"/>
-      </field>
-      <field id="2" name="PresetHandle" type="octstr">
-        <optionalConform>
-          <feature name="PRES"/>
-        </optionalConform>
-        <constraint type="maxLength" value="16"/>
-      </field>
-      <field id="3" name="SystemMode" type="SystemModeEnum">
-        <optionalConform/>
-        <constraint type="desc"/>
-      </field>
-      <field id="4" name="CoolingSetpoint" type="temperature">
-        <optionalConform>
-          <feature name="COOL"/>
-        </optionalConform>
-        <constraint type="desc"/>
-      </field>
-      <field id="5" name="HeatingSetpoint" type="temperature">
-        <optionalConform>
-          <feature name="HEAT"/>
-        </optionalConform>
-        <constraint type="desc"/>
-      </field>
-    </struct>
-    <struct name="ScheduleTypeStruct">
-      <field id="0" name="SystemMode" type="SystemModeEnum">
-        <mandatoryConform/>
-        <constraint type="desc"/>
-      </field>
-      <field id="1" name="NumberOfSchedules" type="uint8" default="0">
-        <mandatoryConform/>
-        <constraint type="max" value="NumberOfSchedules Attribute"/>
-      </field>
-      <field id="2" name="ScheduleTypeFeatures" type="ScheduleTypeFeaturesBitmap" default="0">
-        <mandatoryConform/>
-        <constraint type="desc"/>
-      </field>
-    </struct>
     <struct name="WeeklyScheduleTransitionStruct">
       <field id="0" name="TransitionTime" type="uint16">
         <mandatoryConform/>
@@ -1012,107 +826,6 @@
       <optionalConform/>
       <constraint type="desc"/>
     </attribute>
-    <attribute id="0x0048" name="PresetTypes" type="list" default="MS">
-      <entry type="PresetTypeStruct"/>
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
-      <mandatoryConform>
-        <feature name="PRES"/>
-      </mandatoryConform>
-      <constraint type="desc"/>
-    </attribute>
-    <attribute id="0x0049" name="ScheduleTypes" type="list" default="MS">
-      <entry type="ScheduleTypeStruct"/>
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
-      <mandatoryConform>
-        <feature name="MSCH"/>
-      </mandatoryConform>
-      <constraint type="desc"/>
-    </attribute>
-    <attribute id="0x004A" name="NumberOfPresets" type="uint8" default="0">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
-      <mandatoryConform>
-        <feature name="PRES"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x004B" name="NumberOfSchedules" type="uint8" default="0">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
-      <mandatoryConform>
-        <feature name="MSCH"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x004C" name="NumberOfScheduleTransitions" type="uint8" default="0">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
-      <mandatoryConform>
-        <feature name="MSCH"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x004D" name="NumberOfScheduleTransitionPerDay" type="uint8" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/>
-      <mandatoryConform>
-        <feature name="MSCH"/>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x004E" name="ActivePresetHandle" type="octstr" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="true" persistence="nonVolatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="PRES"/>
-      </mandatoryConform>
-      <constraint type="maxLength" value="16"/>
-    </attribute>
-    <attribute id="0x004F" name="ActiveScheduleHandle" type="octstr" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="true" persistence="nonVolatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="MSCH"/>
-      </mandatoryConform>
-      <constraint type="maxLength" value="16"/>
-    </attribute>
-    <attribute id="0x0050" name="Presets" type="list" default="empty">
-      <entry type="PresetStruct"/>
-      <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="PRES"/>
-      </mandatoryConform>
-      <constraint type="maxCount" value="NumberOfPresets"/>
-    </attribute>
-    <attribute id="0x0051" name="Schedules" type="list" default="empty">
-      <entry type="ScheduleStruct"/>
-      <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="MSCH"/>
-      </mandatoryConform>
-      <constraint type="desc"/>
-    </attribute>
-    <attribute id="0x0052" name="PresetsSchedulesEditable" type="bool" default="false">
-      <access read="true" readPrivilege="view"/>
-      <mandatoryConform>
-        <orTerm>
-          <feature name="MSCH"/>
-          <feature name="PRES"/>
-        </orTerm>
-      </mandatoryConform>
-    </attribute>
-    <attribute id="0x0053" name="SetpointHoldExpiryTimestamp" type="utc" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/>
-      <optionalConform/>
-    </attribute>
-    <attribute id="0x0054" name="QueuedPreset" type="QueuedPresetStruct" default="null">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/>
-      <mandatoryConform>
-        <feature name="QDPRES"/>
-      </mandatoryConform>
-    </attribute>
   </attributes>
   <commands>
     <command id="0x00" name="SetpointRaiseLower" direction="commandToServer" response="Y">
@@ -1223,67 +936,5 @@
         <condition name="Zigbee"/>
       </optionalConform>
     </command>
-    <command id="0x05" name="SetActiveScheduleRequest" direction="commandToServer" response="Y">
-      <access invokePrivilege="operate"/>
-      <mandatoryConform>
-        <feature name="MSCH"/>
-      </mandatoryConform>
-      <field id="0" name="ScheduleHandle" type="octstr">
-        <mandatoryConform/>
-        <constraint type="maxLength" value="16"/>
-      </field>
-    </command>
-    <command id="0x06" name="SetActivePresetRequest" direction="commandToServer" response="Y">
-      <access invokePrivilege="operate"/>
-      <mandatoryConform>
-        <feature name="PRES"/>
-      </mandatoryConform>
-      <field id="0" name="PresetHandle" type="octstr">
-        <mandatoryConform/>
-        <constraint type="maxLength" value="16"/>
-      </field>
-      <field id="1" name="DelayMinutes" type="uint16" default="0">
-        <optionalConform>
-          <feature name="QDPRES"/>
-        </optionalConform>
-      </field>
-    </command>
-    <command id="0x07" name="StartPresetsSchedulesEditRequest" direction="commandToServer" response="Y">
-      <access invokePrivilege="manage"/>
-      <mandatoryConform>
-        <orTerm>
-          <feature name="MSCH"/>
-          <feature name="PRES"/>
-        </orTerm>
-      </mandatoryConform>
-      <field id="0" name="TimeoutSeconds" type="uint16">
-        <mandatoryConform/>
-        <constraint type="max" value="120"/>
-      </field>
-    </command>
-    <command id="0x08" name="CancelPresetsSchedulesEditRequest" direction="commandToServer" response="Y">
-      <access invokePrivilege="manage"/>
-      <mandatoryConform>
-        <orTerm>
-          <feature name="MSCH"/>
-          <feature name="PRES"/>
-        </orTerm>
-      </mandatoryConform>
-    </command>
-    <command id="0x09" name="CommitPresetsSchedulesRequest" direction="commandToServer" response="Y">
-      <access invokePrivilege="manage"/>
-      <mandatoryConform>
-        <orTerm>
-          <feature name="MSCH"/>
-          <feature name="PRES"/>
-        </orTerm>
-      </mandatoryConform>
-    </command>
-    <command id="0x0A" name="CancelSetActivePresetRequest" direction="commandToServer" response="Y">
-      <access invokePrivilege="operate"/>
-      <mandatoryConform>
-        <feature name="QDPRES"/>
-      </mandatoryConform>
-    </command>
   </commands>
 </cluster>
\ No newline at end of file
diff --git a/data_model/clusters/TimeSync.xml b/data_model/clusters/TimeSync.xml
index 99ec173..c6c57ec 100644
--- a/data_model/clusters/TimeSync.xml
+++ b/data_model/clusters/TimeSync.xml
@@ -100,6 +100,59 @@
       </item>
     </enum>
     <enum name="Status Codes" type="status"/>
+    <enum name="TimeSourceEnum">
+      <item value="0" name="None" summary="Node is not currently synchronized with a UTC Time source.">
+        <mandatoryConform/>
+      </item>
+      <item value="1" name="Unknown" summary="Node uses an unlisted time source.">
+        <mandatoryConform/>
+      </item>
+      <item value="2" name="Admin" summary="Node received time from a client using the SetUTCTime Command.">
+        <mandatoryConform/>
+      </item>
+      <item value="3" name="NodeTimeCluster" summary="Synchronized time by querying the Time Synchronization cluster of another Node.">
+        <mandatoryConform/>
+      </item>
+      <item value="4" name="NonMatterSNTP" summary="SNTP from a server not in the Matter network. NTS is not used.">
+        <mandatoryConform/>
+      </item>
+      <item value="5" name="NonMatterNTP" summary="NTP from servers not in the Matter network. None of the servers used NTS.">
+        <mandatoryConform/>
+      </item>
+      <item value="6" name="MatterSNTP" summary="SNTP from a server within the Matter network. NTS is not used.">
+        <mandatoryConform/>
+      </item>
+      <item value="7" name="MatterNTP" summary="NTP from servers within the Matter network. None of the servers used NTS.">
+        <mandatoryConform/>
+      </item>
+      <item value="8" name="MixedNTP" summary="NTP from multiple servers in the Matter network and external. None of the servers used NTS.">
+        <mandatoryConform/>
+      </item>
+      <item value="9" name="NonMatterSNTPNTS" summary="SNTP from a server not in the Matter network. NTS is used.">
+        <mandatoryConform/>
+      </item>
+      <item value="10" name="NonMatterNTPNTS" summary="NTP from servers not in the Matter network. NTS is used on at least one server.">
+        <mandatoryConform/>
+      </item>
+      <item value="11" name="MatterSNTPNTS" summary="SNTP from a server within the Matter network. NTS is used.">
+        <mandatoryConform/>
+      </item>
+      <item value="12" name="MatterNTPNTS" summary="NTP from a server within the Matter network. NTS is used on at least one server.">
+        <mandatoryConform/>
+      </item>
+      <item value="13" name="MixedNTPNTS" summary="NTP from multiple servers in the Matter network and external. NTS is used on at least one server.">
+        <mandatoryConform/>
+      </item>
+      <item value="14" name="CloudSource" summary="Time synchronization comes from a vendor cloud-based source (e.g. &quot;Date&quot; header in authenticated HTTPS connection).">
+        <mandatoryConform/>
+      </item>
+      <item value="15" name="PTP" summary="Time synchronization comes from PTP.">
+        <mandatoryConform/>
+      </item>
+      <item value="16" name="GNSS" summary="Time synchronization comes from a GNSS source.">
+        <mandatoryConform/>
+      </item>
+    </enum>
     <enum name="TimeZoneDatabaseEnum">
       <item value="0" name="Full" summary="Node has a full list of the available time zones">
         <mandatoryConform/>
@@ -157,6 +210,163 @@
       </field>
     </struct>
   </dataTypes>
+  <attributes>
+    <attribute id="0x0000" name="UTCTime" type="epoch-us" default="null">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/>
+      <mandatoryConform/>
+    </attribute>
+    <attribute id="0x0001" name="Granularity" type="GranularityEnum" default="NoTimeGranularity">
+      <access read="true" readPrivilege="view"/>
+      <mandatoryConform/>
+      <constraint type="desc"/>
+    </attribute>
+    <attribute id="0x0002" name="TimeSource" type="TimeSourceEnum" default="None">
+      <access read="true" readPrivilege="view"/>
+      <optionalConform/>
+      <constraint type="desc"/>
+    </attribute>
+    <attribute id="0x0003" name="TrustedTimeSource" type="TrustedTimeSourceStruct" default="null">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/>
+      <mandatoryConform>
+        <feature name="TSC"/>
+      </mandatoryConform>
+    </attribute>
+    <attribute id="0x0004" name="DefaultNTP" type="string" default="null">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/>
+      <mandatoryConform>
+        <feature name="NTPC"/>
+      </mandatoryConform>
+      <constraint type="maxLength" value="128"/>
+    </attribute>
+    <attribute id="0x0005" name="TimeZone" type="list" default="[{0,0}]">
+      <entry type="TimeZoneStruct"/>
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+      <constraint type="countBetween" from="1" to="2"/>
+    </attribute>
+    <attribute id="0x0006" name="DSTOffset" type="list" default="[]">
+      <entry type="DSTOffsetStruct"/>
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+    </attribute>
+    <attribute id="0x0007" name="LocalTime" type="epoch-us" default="null">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+    </attribute>
+    <attribute id="0x0008" name="TimeZoneDatabase" type="TimeZoneDatabaseEnum" default="None">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+    </attribute>
+    <attribute id="0x0009" name="NTPServerAvailable" type="bool" default="False">
+      <access read="true" readPrivilege="view"/>
+      <mandatoryConform>
+        <feature name="NTPS"/>
+      </mandatoryConform>
+    </attribute>
+    <attribute id="0x000A" name="TimeZoneListMaxSize" type="uint8">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+      <constraint type="between" from="1" to="2"/>
+    </attribute>
+    <attribute id="0x000B" name="DSTOffsetListMaxSize" type="uint8">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+      <constraint type="min" value="1"/>
+    </attribute>
+    <attribute id="0x000C" name="SupportsDNSResolve" type="bool" default="False">
+      <access read="true" readPrivilege="view"/>
+      <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
+      <mandatoryConform>
+        <feature name="NTPC"/>
+      </mandatoryConform>
+    </attribute>
+  </attributes>
+  <commands>
+    <command id="0x00" name="SetUTCTime" direction="commandToServer" response="Y">
+      <access invokePrivilege="admin"/>
+      <mandatoryConform/>
+      <field id="0" name="UTCTime" type="epoch-us" default="0">
+        <mandatoryConform/>
+      </field>
+      <field id="1" name="Granularity" type="GranularityEnum" default="NoTimeGranularity">
+        <mandatoryConform/>
+      </field>
+      <field id="2" name="TimeSource" type="TimeSourceEnum" default="None">
+        <optionalConform/>
+      </field>
+    </command>
+    <command id="0x01" name="SetTrustedTimeSource" direction="commandToServer" response="Y">
+      <access invokePrivilege="admin" fabricScoped="true"/>
+      <mandatoryConform>
+        <feature name="TSC"/>
+      </mandatoryConform>
+      <field id="0" name="TrustedTimeSource" type="FabricScopedTrustedTimeSourceStruct">
+        <quality nullable="true"/>
+        <mandatoryConform/>
+      </field>
+    </command>
+    <command id="0x02" name="SetTimeZone" direction="commandToServer" response="SetTimeZoneResponse">
+      <access invokePrivilege="manage"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+      <field id="0" name="TimeZone" type="list">
+        <entry type="TimeZoneStruct"/>
+        <mandatoryConform/>
+        <constraint type="countBetween" from="1" to="2"/>
+      </field>
+    </command>
+    <command id="0x03" name="SetTimeZoneResponse" direction="responseFromServer">
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+      <field id="0" name="DSTOffsetsRequired" type="bool" default="true">
+        <mandatoryConform/>
+      </field>
+    </command>
+    <command id="0x04" name="SetDSTOffset" direction="commandToServer" response="Y">
+      <access invokePrivilege="manage"/>
+      <mandatoryConform>
+        <feature name="TZ"/>
+      </mandatoryConform>
+      <field id="0" name="DSTOffset" type="list">
+        <entry type="DSTOffsetStruct"/>
+        <mandatoryConform/>
+      </field>
+    </command>
+    <command id="0x05" name="SetDefaultNTP" direction="commandToServer" response="Y">
+      <access invokePrivilege="admin"/>
+      <mandatoryConform>
+        <feature name="NTPC"/>
+      </mandatoryConform>
+      <field id="0" name="DefaultNTP" type="string">
+        <quality nullable="true"/>
+        <mandatoryConform/>
+        <constraint type="maxLength" value="128"/>
+      </field>
+    </command>
+  </commands>
   <events>
     <event id="0x00" name="DSTTableEmpty" priority="info">
       <access readPrivilege="view"/>
diff --git a/data_model/clusters/WaterHeaterManagement.xml b/data_model/clusters/WaterHeaterManagement.xml
index 4b63685..cc641c8 100644
--- a/data_model/clusters/WaterHeaterManagement.xml
+++ b/data_model/clusters/WaterHeaterManagement.xml
@@ -134,7 +134,7 @@
     </attribute>
   </attributes>
   <commands>
-    <command id="0x01" name="Boost" direction="commandToServer" response="Y">
+    <command id="0x00" name="Boost" direction="commandToServer" response="Y">
       <access invokePrivilege="manage"/>
       <mandatoryConform/>
       <field id="0" name="Duration" type="elapsed-s">
diff --git a/data_model/clusters/WiFiNetworkManagement.xml b/data_model/clusters/WiFiNetworkManagement.xml
index fbb7a84..1a3fcee 100644
--- a/data_model/clusters/WiFiNetworkManagement.xml
+++ b/data_model/clusters/WiFiNetworkManagement.xml
@@ -62,9 +62,9 @@
     <revision revision="1" summary="Initial Release"/>
   </revisionHistory>
   <clusterIds>
-    <clusterId name="Wi"/>
+    <clusterId id="0x0451" name="Wi"/>
   </clusterIds>
-  <classification hierarchy="base" role="application" picsCode="TODO" scope="Endpoint"/>
+  <classification hierarchy="base" role="application" picsCode="WIFINM" scope="Endpoint"/>
   <attributes>
     <attribute id="0x0001" name="SSID" type="octstr" default="null">
       <access read="true" readPrivilege="view"/>
diff --git a/data_model/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml b/data_model/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml
index 1dd336e..db85cc2 100644
--- a/data_model/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml
+++ b/data_model/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml
@@ -150,6 +150,9 @@
     <event id="0x02" name="Leave">
       <access readPrivilege="view"/>
       <optionalConform/>
+      <field id="0" name="FabricIndex">
+        <disallowConform/>
+      </field>
     </event>
     <event id="0x03" name="ReachableChanged">
       <access readPrivilege="view"/>
diff --git a/data_model/device_types/BaseDeviceType.xml b/data_model/device_types/BaseDeviceType.xml
index 22cec95..0df3ba0 100644
--- a/data_model/device_types/BaseDeviceType.xml
+++ b/data_model/device_types/BaseDeviceType.xml
@@ -62,4 +62,30 @@
     <revision revision="2" summary="Duplicate condition replaces Multiple condition"/>
   </revisionHistory>
   <conditions/>
+  <clusters>
+    <cluster id="0x001D" name="Descriptor" side="server">
+      <mandatoryConform/>
+      <features>
+        <feature code="" name="TAGLIST">
+          <mandatoryConform>
+            <attribute name="Duplicate"/>
+          </mandatoryConform>
+        </feature>
+      </features>
+    </cluster>
+    <cluster id="0x001E" name="Binding" side="server">
+      <mandatoryConform>
+        <andTerm>
+          <condition name="Simple"/>
+          <condition name="Client"/>
+        </andTerm>
+      </mandatoryConform>
+    </cluster>
+    <cluster id="0x0040" name="Fixed Label" side="server">
+      <optionalConform/>
+    </cluster>
+    <cluster id="0x0041" name="User Label" side="server">
+      <optionalConform/>
+    </cluster>
+  </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/BasicVideoPlayer.xml b/data_model/device_types/BasicVideoPlayer.xml
index 75d54e1..2b9b52c 100644
--- a/data_model/device_types/BasicVideoPlayer.xml
+++ b/data_model/device_types/BasicVideoPlayer.xml
@@ -55,10 +55,11 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0028" name="Basic Video Player" revision="1">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0028" name="Basic Video Player" revision="2">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to device type revision numbers"/>
     <revision revision="1" summary="Initial release of this document"/>
+    <revision revision="2" summary="Added Messages and Content Control clusters"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions>
@@ -68,6 +69,9 @@
     <cluster id="0x0006" name="OnOff" side="server">
       <mandatoryConform/>
     </cluster>
+    <cluster id="0x0097" name="Messages" side="server">
+      <optionalConform/>
+    </cluster>
     <cluster id="0x0503" name="WakeOnLAN" side="server">
       <optionalConform/>
     </cluster>
@@ -94,5 +98,11 @@
     <cluster id="0x050B" name="Audio Output" side="server">
       <optionalConform/>
     </cluster>
+    <cluster id="0x050F" name="Content Control" side="server">
+      <otherwiseConform>
+        <provisionalConform/>
+        <optionalConform/>
+      </otherwiseConform>
+    </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/CastingVideoClient.xml b/data_model/device_types/CastingVideoClient.xml
index 8089f57..d79506b 100644
--- a/data_model/device_types/CastingVideoClient.xml
+++ b/data_model/device_types/CastingVideoClient.xml
@@ -55,10 +55,11 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0029" name="Casting Video Client" revision="1">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0029" name="Casting Video Client" revision="2">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to device type revision numbers"/>
     <revision revision="1" summary="Initial release of this document"/>
+    <revision revision="2" summary="Added Content App Observer, Messages and Content Control Clusters"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
@@ -69,6 +70,9 @@
     <cluster id="0x0008" name="Level Control" side="client">
       <optionalConform/>
     </cluster>
+    <cluster id="0x0097" name="Messages" side="client">
+      <optionalConform/>
+    </cluster>
     <cluster id="0x0503" name="WakeOnLAN" side="client">
       <optionalConform/>
     </cluster>
@@ -105,5 +109,14 @@
     <cluster id="0x050E" name="Account Login" side="client">
       <optionalConform/>
     </cluster>
+    <cluster id="0x050F" name="Content Control" side="client">
+      <otherwiseConform>
+        <provisionalConform/>
+        <optionalConform/>
+      </otherwiseConform>
+    </cluster>
+    <cluster id="0x0510" name="Content App Observer" side="server">
+      <optionalConform/>
+    </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/CastingVideoPlayer.xml b/data_model/device_types/CastingVideoPlayer.xml
index 9997b27..3364165 100644
--- a/data_model/device_types/CastingVideoPlayer.xml
+++ b/data_model/device_types/CastingVideoPlayer.xml
@@ -55,10 +55,11 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0023" name="Casting Video Player" revision="1">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0023" name="Casting Video Player" revision="2">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to device type revision numbers"/>
     <revision revision="1" summary="Initial release of this document"/>
+    <revision revision="2" summary="Added Messages and Content Control clusters"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions>
@@ -71,6 +72,9 @@
     <cluster id="0x0006" name="OnOff" side="server">
       <mandatoryConform/>
     </cluster>
+    <cluster id="0x0097" name="Messages" side="server">
+      <optionalConform/>
+    </cluster>
     <cluster id="0x0503" name="WakeOnLAN" side="server">
       <optionalConform/>
     </cluster>
@@ -113,5 +117,11 @@
     <cluster id="0x050E" name="Account Login" side="server">
       <optionalConform/>
     </cluster>
+    <cluster id="0x050F" name="Content Control" side="server">
+      <otherwiseConform>
+        <provisionalConform/>
+        <optionalConform/>
+      </otherwiseConform>
+    </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/ColorDimmerSwitch.xml b/data_model/device_types/ColorDimmerSwitch.xml
index 0adcfce..0da15b8 100644
--- a/data_model/device_types/ColorDimmerSwitch.xml
+++ b/data_model/device_types/ColorDimmerSwitch.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0105" name="Color Dimmer Switch" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0105" name="Color Dimmer Switch" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification superset="Dimmer Switch" class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/ColorTemperatureLight.xml b/data_model/device_types/ColorTemperatureLight.xml
index 5d6ac14..5a54a36 100644
--- a/data_model/device_types/ColorTemperatureLight.xml
+++ b/data_model/device_types/ColorTemperatureLight.xml
@@ -55,12 +55,13 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010C" name="Color Temperature Light" revision="3">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010C" name="Color Temperature Light" revision="4">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
     <revision revision="3" summary="Added optional occupancy sensing"/>
+    <revision revision="4" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification superset="Dimmable Light" class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/ContentApp.xml b/data_model/device_types/ContentApp.xml
index 0db0314..84bf586 100644
--- a/data_model/device_types/ContentApp.xml
+++ b/data_model/device_types/ContentApp.xml
@@ -55,13 +55,19 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0024" name="Content App" revision="1">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0024" name="Content App" revision="2">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to device type revision numbers"/>
     <revision revision="1" summary="Initial release of this document"/>
+    <revision revision="2" summary="Added Content App Observer cluster"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <clusters>
+    <cluster id="0x001E" name="Binding" side="server">
+      <mandatoryConform>
+        <attribute name="ObserverClient"/>
+      </mandatoryConform>
+    </cluster>
     <cluster id="0x0504" name="Channel" side="server">
       <optionalConform/>
     </cluster>
@@ -91,5 +97,10 @@
     <cluster id="0x050E" name="Account Login" side="server">
       <optionalConform/>
     </cluster>
+    <cluster id="0x0510" name="Content App Observer" side="client">
+      <mandatoryConform>
+        <attribute name="ObserverClient"/>
+      </mandatoryConform>
+    </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/ControlBridge.xml b/data_model/device_types/ControlBridge.xml
index f97439b..f427bec 100644
--- a/data_model/device_types/ControlBridge.xml
+++ b/data_model/device_types/ControlBridge.xml
@@ -55,12 +55,13 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0840" name="Control Bridge" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0840" name="Control Bridge" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Revision is zero before revision numbers are defined and is
 required."/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/CookSurface.xml b/data_model/device_types/CookSurface.xml
index a9548d3..b18897b 100644
--- a/data_model/device_types/CookSurface.xml
+++ b/data_model/device_types/CookSurface.xml
@@ -62,6 +62,14 @@
   <classification class="simple" scope="endpoint"/>
   <conditions/>
   <clusters>
+    <cluster id="0x0006" name="On/Off" side="server">
+      <optionalConform/>
+      <features>
+        <feature code="" name="OFFONLY">
+          <mandatoryConform/>
+        </feature>
+      </features>
+    </cluster>
     <cluster id="0x0056" name="Temperature Control" side="server">
       <optionalConform choice="a" more="true"/>
     </cluster>
diff --git a/data_model/device_types/DeviceEnergyManagement.xml b/data_model/device_types/DeviceEnergyManagement.xml
index 9d993a9..cf148da 100644
--- a/data_model/device_types/DeviceEnergyManagement.xml
+++ b/data_model/device_types/DeviceEnergyManagement.xml
@@ -62,10 +62,16 @@
   <classification class="utility" scope="endpoint"/>
   <clusters>
     <cluster id="0x0098" name="Device Energy Management" side="server">
-      <mandatoryConform/>
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform/>
+      </otherwiseConform>
     </cluster>
     <cluster id="0x009F" name="Device Energy Management Mode" side="server">
-      <mandatoryConform/>
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform/>
+      </otherwiseConform>
     </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/DimmableLight.xml b/data_model/device_types/DimmableLight.xml
index 42c7d20..ce0c280 100644
--- a/data_model/device_types/DimmableLight.xml
+++ b/data_model/device_types/DimmableLight.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0101" name="Dimmable Light" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0101" name="Dimmable Light" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification superset="On/Off Light" class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/DimmablePlug-InUnit.xml b/data_model/device_types/DimmablePlug-InUnit.xml
index a41db3a..9889564 100644
--- a/data_model/device_types/DimmablePlug-InUnit.xml
+++ b/data_model/device_types/DimmablePlug-InUnit.xml
@@ -55,12 +55,13 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010B" name="Dimmable Plug" revision="3">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010B" name="Dimmable Plug" revision="4">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
     <revision revision="3" summary="Added optional occupancy sensing"/>
+    <revision revision="4" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/DimmerSwitch.xml b/data_model/device_types/DimmerSwitch.xml
index 8be246f..137adfd 100644
--- a/data_model/device_types/DimmerSwitch.xml
+++ b/data_model/device_types/DimmerSwitch.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0104" name="Dimmer Switch" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0104" name="Dimmer Switch" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification superset="On/Off Light Switch" class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/DoorLock.xml b/data_model/device_types/DoorLock.xml
index b7a0bea..9b6c7fd 100644
--- a/data_model/device_types/DoorLock.xml
+++ b/data_model/device_types/DoorLock.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x000A" name="Door Lock" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x000A" name="Door Lock" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="Initial Matter release"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
@@ -70,41 +71,12 @@
     <cluster id="0x0004" name="Groups" side="server">
       <disallowConform/>
     </cluster>
-    <cluster id="0x0009" name="Alarms" side="server">
-      <optionalConform>
-        <condition name="Zigbee"/>
-      </optionalConform>
-    </cluster>
-    <cluster id="0x000A" name="Time" side="client">
-      <optionalConform>
-        <condition name="Zigbee"/>
-      </optionalConform>
-    </cluster>
-    <cluster id="0x0020" name="Poll Control" side="server">
-      <optionalConform>
-        <condition name="Zigbee"/>
-      </optionalConform>
-    </cluster>
-    <cluster id="0x0062" name="Scenes Management" side="server">
+    <cluster id="0x0005" name="Scenes Management" side="server">
       <disallowConform/>
     </cluster>
     <cluster id="0x0101" name="Door Lock" side="server">
       <mandatoryConform/>
       <features>
-        <feature code="" name="RID">
-          <otherwiseConform>
-            <optionalConform>
-              <condition name="Zigbee"/>
-            </optionalConform>
-            <provisionalConform/>
-            <optionalConform/>
-          </otherwiseConform>
-        </feature>
-        <feature code="" name="LOG">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </feature>
         <feature code="" name="USR">
           <mandatoryConform>
             <andTerm>
@@ -118,10 +90,11 @@
             </andTerm>
           </mandatoryConform>
         </feature>
-        <feature code="" name="NOT">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
+        <feature code="" name="RID">
+          <otherwiseConform>
+            <provisionalConform/>
+            <optionalConform/>
+          </otherwiseConform>
         </feature>
       </features>
       <attributes>
@@ -130,54 +103,7 @@
             <attribute name="Alarms"/>
           </optionalConform>
         </attribute>
-        <attribute code="" name="KeypadOperationEventMask">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </attribute>
-        <attribute code="" name="RemoteOperationEventMask">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </attribute>
-        <attribute code="" name="ManualOperationEventMask">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </attribute>
-        <attribute code="" name="RFIDOperationEventMask">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </attribute>
-        <attribute code="" name="KeypadProgrammingEventMask">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </attribute>
-        <attribute code="" name="RemoteProgrammingEventMask">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </attribute>
-        <attribute code="" name="RFIDProgrammingEventMask">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </attribute>
       </attributes>
-      <commands>
-        <command id="" name="Operating Event Notification">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </command>
-        <command id="" name="Programming Event Notification">
-          <optionalConform>
-            <condition name="Zigbee"/>
-          </optionalConform>
-        </command>
-      </commands>
     </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/DoorLockController.xml b/data_model/device_types/DoorLockController.xml
index 0e4529c..0279f01 100644
--- a/data_model/device_types/DoorLockController.xml
+++ b/data_model/device_types/DoorLockController.xml
@@ -55,26 +55,28 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x000B" name="Door Lock Controller" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x000B" name="Door Lock Controller" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="Initial Matter release"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
+  <conditions/>
   <clusters>
     <cluster id="0x0004" name="Groups" side="client">
       <optionalConform/>
     </cluster>
-    <cluster id="0x0038" name="TimeSync" side="server">
+    <cluster id="0x0005" name="Scenes Management" side="client">
+      <optionalConform/>
+    </cluster>
+    <cluster id="0x0038" name="Time Synchronization" side="server">
       <otherwiseConform>
         <provisionalConform/>
         <optionalConform/>
       </otherwiseConform>
     </cluster>
-    <cluster id="0x0062" name="Scenes Management" side="client">
-      <optionalConform/>
-    </cluster>
     <cluster id="0x0101" name="Door Lock" side="client">
       <mandatoryConform/>
     </cluster>
diff --git a/data_model/device_types/ExtendedColorLight.xml b/data_model/device_types/ExtendedColorLight.xml
index 7349048..97cb3ea 100644
--- a/data_model/device_types/ExtendedColorLight.xml
+++ b/data_model/device_types/ExtendedColorLight.xml
@@ -55,12 +55,13 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010D" name="Extended Color Light" revision="3">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010D" name="Extended Color Light" revision="4">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation; integrate DM CCB 3501"/>
     <revision revision="3" summary="Added optional occupancy sensing"/>
+    <revision revision="4" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification superset="Color Temperature Light" class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/GenericSwitch.xml b/data_model/device_types/GenericSwitch.xml
index 24645b5..e381914 100644
--- a/data_model/device_types/GenericSwitch.xml
+++ b/data_model/device_types/GenericSwitch.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x000F" name="Generic Switch" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x000F" name="Generic Switch" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to device type revision numbers"/>
     <revision revision="1" summary="Initial release of this document"/>
     <revision revision="2" summary="Removed requirement for Fixed Label cluster (can use TagList which was added in Descriptor cluster)"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/NetworkInfraManager.xml b/data_model/device_types/NetworkInfraManager.xml
index cc7e222..67c3ee4 100644
--- a/data_model/device_types/NetworkInfraManager.xml
+++ b/data_model/device_types/NetworkInfraManager.xml
@@ -55,17 +55,17 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="" name="Network Infrastructure Manager" revision="1">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0090" name="Network Infrastructure Manager" revision="1">
   <revisionHistory>
     <revision revision="1" summary="Initial release"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
   <clusters>
-    <cluster id="" name="Network Identity Management" side="server">
+    <cluster id="0x0450" name="Network Identity Management" side="server">
       <mandatoryConform/>
     </cluster>
-    <cluster id="" name="Wi" side="server">
+    <cluster id="0x0451" name="Wi" side="server">
       <mandatoryConform/>
     </cluster>
   </clusters>
diff --git a/data_model/device_types/OnOffLight.xml b/data_model/device_types/OnOffLight.xml
index 9762c71..59e8739 100644
--- a/data_model/device_types/OnOffLight.xml
+++ b/data_model/device_types/OnOffLight.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0100" name="On/Off Light" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0100" name="On/Off Light" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/OnOffLightSwitch.xml b/data_model/device_types/OnOffLightSwitch.xml
index eb2c3ff..9b9d72b 100644
--- a/data_model/device_types/OnOffLightSwitch.xml
+++ b/data_model/device_types/OnOffLightSwitch.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0103" name="On/Off Light Switch" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0103" name="On/Off Light Switch" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/OnOffPlug-inUnit.xml b/data_model/device_types/OnOffPlug-inUnit.xml
index 41d0a13..4b4f497 100644
--- a/data_model/device_types/OnOffPlug-inUnit.xml
+++ b/data_model/device_types/OnOffPlug-inUnit.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010A" name="On/Off Plug" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x010A" name="On/Off Plug" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/OnOffSensor.xml b/data_model/device_types/OnOffSensor.xml
index 904b5f6..e1bd3c3 100644
--- a/data_model/device_types/OnOffSensor.xml
+++ b/data_model/device_types/OnOffSensor.xml
@@ -55,12 +55,13 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0850" name="On/Off Sensor" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0850" name="On/Off Sensor" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Revision is zero before revision numbers are defined and is
 required."/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/Pump.xml b/data_model/device_types/Pump.xml
index 4662ce0..9ab8700 100644
--- a/data_model/device_types/Pump.xml
+++ b/data_model/device_types/Pump.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0303" name="Pump" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0303" name="Pump" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/PumpController.xml b/data_model/device_types/PumpController.xml
index 274eefb..ca1486e 100644
--- a/data_model/device_types/PumpController.xml
+++ b/data_model/device_types/PumpController.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0304" name="Pump Controller" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0304" name="Pump Controller" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <clusters>
diff --git a/data_model/device_types/RoomAirConditioner.xml b/data_model/device_types/RoomAirConditioner.xml
index 888ec8a..e8c557a 100644
--- a/data_model/device_types/RoomAirConditioner.xml
+++ b/data_model/device_types/RoomAirConditioner.xml
@@ -55,9 +55,10 @@
 508 Second Street, Suite 206 +

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0072" name="Room Air Conditioner" revision="1">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0072" name="Room Air Conditioner" revision="2">
   <revisionHistory>
     <revision revision="1" summary="Initial Release"/>
+    <revision revision="2" summary="Thermostat User Interface Configuration cluster added; Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
@@ -85,6 +86,14 @@
     <cluster id="0x0202" name="Fan Control" side="server">
       <optionalConform/>
     </cluster>
+    <cluster id="0x0204" name="Thermostat User Interface Configuration" side="server">
+      <optionalConform/>
+      <attributes>
+        <attribute code="" name="KeypadLockout">
+          <optionalConform/>
+        </attribute>
+      </attributes>
+    </cluster>
     <cluster id="0x0402" name="Temperature Measurement" side="server">
       <optionalConform/>
     </cluster>
diff --git a/data_model/device_types/RootNodeDeviceType.xml b/data_model/device_types/RootNodeDeviceType.xml
index 1696791..57b2040 100644
--- a/data_model/device_types/RootNodeDeviceType.xml
+++ b/data_model/device_types/RootNodeDeviceType.xml
@@ -153,5 +153,27 @@
       <quality singleton="true"/>
       <mandatoryConform/>
     </cluster>
+    <cluster id="0x0046" name="ICD Management" side="server">
+      <quality singleton="true"/>
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform>
+          <orTerm>
+            <feature name="SIT"/>
+            <feature name="LIT"/>
+          </orTerm>
+        </mandatoryConform>
+      </otherwiseConform>
+      <features>
+        <feature code="" name="LITS">
+          <otherwiseConform>
+            <provisionalConform/>
+            <mandatoryConform>
+              <feature name="LIT"/>
+            </mandatoryConform>
+          </otherwiseConform>
+        </feature>
+      </features>
+    </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/Thermostat.xml b/data_model/device_types/Thermostat.xml
index cbdedb7..9f5c8e7 100644
--- a/data_model/device_types/Thermostat.xml
+++ b/data_model/device_types/Thermostat.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0301" name="Thermostat" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0301" name="Thermostat" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to device type revision numbers"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation, added Clusters required for Matter support, restricted legacy elements to Zigbee only"/>
+    <revision revision="3" summary="Addition of Energy Preference cluster and updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
@@ -97,15 +98,18 @@
     <cluster id="0x0062" name="Scenes Management" side="server">
       <optionalConform/>
     </cluster>
-    <cluster id="0x0201" name="Thermostat" side="server">
-      <mandatoryConform/>
-    </cluster>
-    <cluster id="0x0202" name="Fan Control" side="client">
+    <cluster id="0x009B" name="Energy Preference" side="server">
       <otherwiseConform>
         <provisionalConform/>
         <optionalConform/>
       </otherwiseConform>
     </cluster>
+    <cluster id="0x0201" name="Thermostat" side="server">
+      <mandatoryConform/>
+    </cluster>
+    <cluster id="0x0202" name="Fan Control" side="client">
+      <optionalConform/>
+    </cluster>
     <cluster id="0x0204" name="Thermostat User Interface Configuration" side="server">
       <optionalConform/>
     </cluster>
diff --git a/data_model/device_types/VideoRemoteControl.xml b/data_model/device_types/VideoRemoteControl.xml
index eafa4cd..33bab95 100644
--- a/data_model/device_types/VideoRemoteControl.xml
+++ b/data_model/device_types/VideoRemoteControl.xml
@@ -55,10 +55,11 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x002A" name="Video Remote Control" revision="1">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x002A" name="Video Remote Control" revision="2">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to device type revision numbers"/>
     <revision revision="1" summary="Initial release of this document"/>
+    <revision revision="2" summary="Added Content Control cluster"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
@@ -102,5 +103,11 @@
     <cluster id="0x050E" name="Account Login" side="client">
       <optionalConform/>
     </cluster>
+    <cluster id="0x050F" name="Content Control" side="client">
+      <otherwiseConform>
+        <provisionalConform/>
+        <optionalConform/>
+      </otherwiseConform>
+    </cluster>
   </clusters>
 </deviceType>
\ No newline at end of file
diff --git a/data_model/device_types/WindowCovering.xml b/data_model/device_types/WindowCovering.xml
index 1a56bbd..b9a33b4 100644
--- a/data_model/device_types/WindowCovering.xml
+++ b/data_model/device_types/WindowCovering.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0202" name="Window Covering" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0202" name="Window Covering" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0."/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/device_types/WindowCoveringController.xml b/data_model/device_types/WindowCoveringController.xml
index 5bae9d8..76f0cf1 100644
--- a/data_model/device_types/WindowCoveringController.xml
+++ b/data_model/device_types/WindowCoveringController.xml
@@ -55,11 +55,12 @@
 508 Second Street, Suite 206

 Davis, CA 95616, USA

 -->
-<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0203" name="Window Covering Controller" revision="2">
+<deviceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd devicetype devicetype.xsd" id="0x0203" name="Window Covering Controller" revision="3">
   <revisionHistory>
     <revision revision="0" summary="Represents device definitions prior to Zigbee 3.0"/>
     <revision revision="1" summary="Initial Zigbee 3.0 release"/>
     <revision revision="2" summary="New data model format and notation"/>
+    <revision revision="3" summary="Updated the Scenes cluster to Scenes Management with Cluster ID: 0x0062"/>
   </revisionHistory>
   <classification class="simple" scope="endpoint"/>
   <conditions/>
diff --git a/data_model/spec_sha b/data_model/spec_sha
index 97f7f06..e9d780b 100644
--- a/data_model/spec_sha
+++ b/data_model/spec_sha
@@ -1 +1 @@
-b0310bae0264a29665f23a8f3d4dc4f742be6075
+c1a1e1e6bcf201334eb0b5216a464b39d9827ec4