DM XMLs 1.4 tag (#36153)

* DM XMLs 1.4 tag

* Update to master
diff --git a/data_model/1.4/clusters/DeviceEnergyManagement.xml b/data_model/1.4/clusters/DeviceEnergyManagement.xml
index 776a06f..3b95a7b 100644
--- a/data_model/1.4/clusters/DeviceEnergyManagement.xml
+++ b/data_model/1.4/clusters/DeviceEnergyManagement.xml
@@ -65,9 +65,7 @@
     <revision revision="4" summary="Updates to feature conformance. Corrected ForecastID type"/>
   </revisionHistory>
   <clusterIds>
-    <clusterId id="0x0098" name="Device Energy Management">
-      <provisionalConform/>
-    </clusterId>
+    <clusterId id="0x0098" name="Device Energy Management"/>
   </clusterIds>
   <classification hierarchy="base" role="application" picsCode="DEM" scope="Endpoint"/>
   <features>
@@ -566,7 +564,6 @@
       </field>
       <field id="1" name="Cause" type="AdjustmentCauseEnum">
         <mandatoryConform/>
-        <constraint type="desc"/>
       </field>
     </command>
     <command id="0x03" name="PauseRequest" direction="commandToServer" response="Y">
@@ -580,7 +577,6 @@
       </field>
       <field id="1" name="Cause" type="AdjustmentCauseEnum">
         <mandatoryConform/>
-        <constraint type="desc"/>
       </field>
     </command>
     <command id="0x04" name="ResumeRequest" direction="commandToServer" response="Y">
@@ -604,7 +600,6 @@
       </field>
       <field id="2" name="Cause" type="AdjustmentCauseEnum">
         <mandatoryConform/>
-        <constraint type="desc"/>
       </field>
     </command>
     <command id="0x06" name="RequestConstraintBasedForecast" direction="commandToServer" response="Y">
@@ -619,7 +614,6 @@
       </field>
       <field id="1" name="Cause" type="AdjustmentCauseEnum">
         <mandatoryConform/>
-        <constraint type="desc"/>
       </field>
     </command>
     <command id="0x07" name="CancelRequest" direction="commandToServer" response="Y">
diff --git a/data_model/1.4/clusters/DiagnosticsGeneral.xml b/data_model/1.4/clusters/DiagnosticsGeneral.xml
index 44b891f..1266705 100644
--- a/data_model/1.4/clusters/DiagnosticsGeneral.xml
+++ b/data_model/1.4/clusters/DiagnosticsGeneral.xml
@@ -263,7 +263,6 @@
       <mandatoryConform/>
     </attribute>
     <attribute id="0x0009" name="DoNotUse">
-      <access read="true" readPrivilege="view"/>
       <disallowConform/>
     </attribute>
   </attributes>
diff --git a/data_model/1.4/clusters/DiagnosticsThread.xml b/data_model/1.4/clusters/DiagnosticsThread.xml
index a55412d..a712ceb 100644
--- a/data_model/1.4/clusters/DiagnosticsThread.xml
+++ b/data_model/1.4/clusters/DiagnosticsThread.xml
@@ -669,12 +669,18 @@
     <attribute id="0x003F" name="ExtAddress" type="uint64">
       <access read="true" readPrivilege="view"/>
       <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false" sourceAttribution="false" quieterReporting="false"/>
-      <mandatoryConform/>
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform/>
+      </otherwiseConform>
     </attribute>
     <attribute id="0x0040" name="Rloc16" type="uint16">
       <access read="true" readPrivilege="view"/>
       <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false" sourceAttribution="false" quieterReporting="false"/>
-      <mandatoryConform/>
+      <otherwiseConform>
+        <provisionalConform/>
+        <mandatoryConform/>
+      </otherwiseConform>
     </attribute>
   </attributes>
   <commands>
diff --git a/data_model/1.4/clusters/DoorLock.xml b/data_model/1.4/clusters/DoorLock.xml
index 46d659d..932532c 100644
--- a/data_model/1.4/clusters/DoorLock.xml
+++ b/data_model/1.4/clusters/DoorLock.xml
@@ -66,7 +66,7 @@
     <revision revision="5" summary="CCB 3472 3474 3338"/>
     <revision revision="6" summary="New data model format and notation. Added User features. General cleanup of functionality"/>
     <revision revision="7" summary="Added support for European door locks (unbolt feature)"/>
-    <revision revision="8" summary="Removed LOG feature, fixed constraints on NumberOf*Schedules attributes.
+    <revision revision="8" summary="Removed LOG and NOT feature, fixed constraints on NumberOf*Schedules attributes.
              and added support for Aliro credential provisioning"/>
   </revisionHistory>
   <clusterIds>
@@ -600,9 +600,6 @@
       <bitfield name="LockFactoryReset" bit="1" summary="Lock Reset to Factory Defaults">
         <optionalConform/>
       </bitfield>
-      <bitfield name="N/A" bit="2" summary="Reserved">
-        <optionalConform/>
-      </bitfield>
       <bitfield name="LockRadioPowerCycled" bit="3" summary="RF Module Power Cycled">
         <optionalConform/>
       </bitfield>
diff --git a/data_model/1.4/clusters/bridge-clusters-EcosystemInformationCluster.xml b/data_model/1.4/clusters/EcosystemInformationCluster.xml
similarity index 100%
rename from data_model/1.4/clusters/bridge-clusters-EcosystemInformationCluster.xml
rename to data_model/1.4/clusters/EcosystemInformationCluster.xml
diff --git a/data_model/1.4/clusters/EnergyEVSE.xml b/data_model/1.4/clusters/EnergyEVSE.xml
index a4c865c..352ac7e 100644
--- a/data_model/1.4/clusters/EnergyEVSE.xml
+++ b/data_model/1.4/clusters/EnergyEVSE.xml
@@ -69,10 +69,7 @@
   <classification hierarchy="base" role="application" picsCode="EEVSE" scope="Endpoint"/>
   <features>
     <feature bit="0" code="PREF" name="ChargingPreferences" summary="EVSE supports storing user charging preferences">
-      <otherwiseConform>
-        <provisionalConform/>
-        <mandatoryConform/>
-      </otherwiseConform>
+      <mandatoryConform/>
     </feature>
     <feature bit="1" code="SOC" name="SoCReporting" summary="EVSE supports reporting of vehicle State of Charge (SoC)">
       <otherwiseConform>
@@ -240,7 +237,6 @@
     <struct name="ChargingTargetScheduleStruct">
       <field id="0" name="DayOfWeekForSequence" type="TargetDayOfWeekBitmap">
         <mandatoryConform/>
-        <constraint type="desc"/>
       </field>
       <field id="1" name="ChargingTargets" type="list">
         <entry type="ChargingTargetStruct"/>
diff --git a/data_model/1.4/clusters/ICDManagement.xml b/data_model/1.4/clusters/ICDManagement.xml
index b6f76f4..d9cb739 100644
--- a/data_model/1.4/clusters/ICDManagement.xml
+++ b/data_model/1.4/clusters/ICDManagement.xml
@@ -70,7 +70,6 @@
   <features>
     <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>
@@ -79,7 +78,6 @@
     </feature>
     <feature bit="1" code="UAT" name="UserActiveModeTrigger" summary="Device supports the user active mode trigger feature.">
       <otherwiseConform>
-        <provisionalConform/>
         <mandatoryConform>
           <feature name="LITS"/>
         </mandatoryConform>
@@ -87,18 +85,12 @@
       </otherwiseConform>
     </feature>
     <feature bit="2" code="LITS" name="LongIdleTimeSupport" summary="Device supports operating as a Long Idle Time ICD.">
-      <otherwiseConform>
-        <provisionalConform/>
-        <optionalConform/>
-      </otherwiseConform>
+      <optionalConform/>
     </feature>
     <feature bit="3" code="DSLS" name="DynamicSitLitSupport" summary="Device supports dynamic switching from SIT to LIT operating modes.">
-      <otherwiseConform>
-        <provisionalConform/>
-        <optionalConform>
-          <feature name="LITS"/>
-        </optionalConform>
-      </otherwiseConform>
+      <optionalConform>
+        <feature name="LITS"/>
+      </optionalConform>
     </feature>
   </features>
   <dataTypes>
@@ -227,12 +219,9 @@
     <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" sourceAttribution="false" quieterReporting="false"/>
-      <otherwiseConform>
-        <provisionalConform/>
-        <mandatoryConform>
-          <feature name="UAT"/>
-        </mandatoryConform>
-      </otherwiseConform>
+      <mandatoryConform>
+        <feature name="UAT"/>
+      </mandatoryConform>
       <constraint type="desc"/>
     </attribute>
     <attribute id="0x0007" name="UserActiveModeTriggerInstruction" type="string" default="&quot;">
@@ -242,12 +231,9 @@
     </attribute>
     <attribute id="0x0008" name="OperatingMode" type="OperatingModeEnum">
       <access read="true" readPrivilege="view"/>
-      <otherwiseConform>
-        <provisionalConform/>
-        <mandatoryConform>
-          <feature name="LITS"/>
-        </mandatoryConform>
-      </otherwiseConform>
+      <mandatoryConform>
+        <feature name="LITS"/>
+      </mandatoryConform>
     </attribute>
     <attribute id="0x0009" name="MaximumCheckInBackoff" type="uint32" default="1">
       <access read="true" readPrivilege="view"/>
diff --git a/data_model/1.4/clusters/LevelControl.xml b/data_model/1.4/clusters/LevelControl.xml
index 404b125..1a034d5 100644
--- a/data_model/1.4/clusters/LevelControl.xml
+++ b/data_model/1.4/clusters/LevelControl.xml
@@ -165,7 +165,6 @@
       <mandatoryConform>
         <feature name="FQ"/>
       </mandatoryConform>
-      <constraint type="max" value="MaxFrequency"/>
     </attribute>
     <attribute id="0x0006" name="MaxFrequency" type="uint16" default="0">
       <access read="true" readPrivilege="view"/>
diff --git a/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml b/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml
index 48cf6df..9fca7f3 100644
--- a/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml
+++ b/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml
@@ -63,9 +63,7 @@
     <revision revision="2" summary="Disallowed DEPONOFF feature and OnMode and StartUpMode attributes"/>
   </revisionHistory>
   <clusterIds>
-    <clusterId id="0x009F" name="Device Energy Management Mode">
-      <provisionalConform/>
-    </clusterId>
+    <clusterId id="0x009F" name="Device Energy Management Mode"/>
   </clusterIds>
   <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="DEMM" scope="Endpoint"/>
   <features>
diff --git a/data_model/1.4/clusters/Mode_Dishwasher.xml b/data_model/1.4/clusters/Mode_Dishwasher.xml
index 1c3a99b..ca14d02 100644
--- a/data_model/1.4/clusters/Mode_Dishwasher.xml
+++ b/data_model/1.4/clusters/Mode_Dishwasher.xml
@@ -57,10 +57,11 @@
 

 :xrefstyle: basic

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0059" name="Dishwasher Mode Cluster" revision="2">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0059" name="Dishwasher Mode Cluster" revision="3">
   <revisionHistory>
     <revision revision="1" summary="Initial revision"/>
     <revision revision="2" summary="ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/>
+    <revision revision="3" summary="Set OnOff feature as disallowed (previously a Device Type override), Set StartUpMode and OnMode as disallowed (previously provisional)"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x0059" name="Dishwasher Mode"/>
diff --git a/data_model/1.4/clusters/Mode_EVSE.xml b/data_model/1.4/clusters/Mode_EVSE.xml
index 025e9de..863a2b7 100644
--- a/data_model/1.4/clusters/Mode_EVSE.xml
+++ b/data_model/1.4/clusters/Mode_EVSE.xml
@@ -60,7 +60,7 @@
 <cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x009D" name="Energy EVSE Mode Cluster" revision="2">
   <revisionHistory>
     <revision revision="1" summary="Initial revision"/>
-    <revision revision="2" summary="Disallowed OnMode and StartUpMode attributes"/>
+    <revision revision="2" summary="Disallowed DEPONOFF feature and OnMode and StartUpMode attributes"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x009D" name="Energy EVSE Mode"/>
diff --git a/data_model/1.4/clusters/Mode_LaundryWasher.xml b/data_model/1.4/clusters/Mode_LaundryWasher.xml
index b5f557a..a132533 100644
--- a/data_model/1.4/clusters/Mode_LaundryWasher.xml
+++ b/data_model/1.4/clusters/Mode_LaundryWasher.xml
@@ -57,10 +57,11 @@
 

 :xrefstyle: basic

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0051" name="Laundry Washer Mode Cluster" revision="2">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0051" name="Laundry Washer Mode Cluster" revision="3">
   <revisionHistory>
     <revision revision="1" summary="Initial revision"/>
     <revision revision="2" summary="ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/>
+    <revision revision="3" summary="Set OnOff feature, StartUpMode, and OnMode as disallowed (previously a Device Type override)"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x0051" name="Laundry Washer Mode"/>
diff --git a/data_model/1.4/clusters/Mode_MicrowaveOven.xml b/data_model/1.4/clusters/Mode_MicrowaveOven.xml
index 24d682f..371b294 100644
--- a/data_model/1.4/clusters/Mode_MicrowaveOven.xml
+++ b/data_model/1.4/clusters/Mode_MicrowaveOven.xml
@@ -57,9 +57,10 @@
 

 :xrefstyle: basic

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x005E" name="Microwave Oven Mode Cluster" revision="1">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x005E" name="Microwave Oven Mode Cluster" revision="2">
   <revisionHistory>
     <revision revision="1" summary="Initial revision"/>
+    <revision revision="2" summary="Set OnOff feature as disallowed"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x005E" name="Microwave Oven Mode"/>
diff --git a/data_model/1.4/clusters/Mode_Oven.xml b/data_model/1.4/clusters/Mode_Oven.xml
index a3e3323..071f70d 100644
--- a/data_model/1.4/clusters/Mode_Oven.xml
+++ b/data_model/1.4/clusters/Mode_Oven.xml
@@ -57,9 +57,10 @@
 

 :xrefstyle: basic

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0049" name="Oven Mode Cluster" revision="1">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0049" name="Oven Mode Cluster" revision="2">
   <revisionHistory>
     <revision revision="1" summary="Initial revision"/>
+    <revision revision="2" summary="Set OnOff feature, StartUpMode, and OnMode as disallowed (previously a Device Type override)"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x0049" name="Oven Mode"/>
diff --git a/data_model/1.4/clusters/Mode_Refrigerator.xml b/data_model/1.4/clusters/Mode_Refrigerator.xml
index 2728ac0..692740e 100644
--- a/data_model/1.4/clusters/Mode_Refrigerator.xml
+++ b/data_model/1.4/clusters/Mode_Refrigerator.xml
@@ -57,10 +57,11 @@
 

 :xrefstyle: basic

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0052" name="Refrigerator And Temperature Controlled Cabinet Mode Cluster" revision="2">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0052" name="Refrigerator And Temperature Controlled Cabinet Mode Cluster" revision="3">
   <revisionHistory>
     <revision revision="1" summary="Initial revision"/>
     <revision revision="2" summary="ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/>
+    <revision revision="3" summary="Set OnOff feature, StartUpMode, and OnMode as disallowed (previously a Device Type override)"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x0052" name="Refrigerator And Temperature Controlled Cabinet Mode"/>
diff --git a/data_model/1.4/clusters/OccupancySensing.xml b/data_model/1.4/clusters/OccupancySensing.xml
index 7ca0d36..7400dde 100644
--- a/data_model/1.4/clusters/OccupancySensing.xml
+++ b/data_model/1.4/clusters/OccupancySensing.xml
@@ -173,7 +173,7 @@
       </otherwiseConform>
       <constraint type="between" from="0" to="7"/>
     </attribute>
-    <attribute id="0x0003" name="HoldTime" type="min 1">
+    <attribute id="0x0003" name="HoldTime" type="uint16">
       <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
       <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false" sourceAttribution="false" quieterReporting="false"/>
       <optionalConform/>
diff --git a/data_model/1.4/clusters/OperationalState.xml b/data_model/1.4/clusters/OperationalState.xml
index 354efa2..d02635c 100644
--- a/data_model/1.4/clusters/OperationalState.xml
+++ b/data_model/1.4/clusters/OperationalState.xml
@@ -203,10 +203,7 @@
     </event>
     <event id="0x01" name="OperationCompletion" priority="info">
       <access readPrivilege="view"/>
-      <otherwiseConform>
-        <provisionalConform/>
-        <optionalConform/>
-      </otherwiseConform>
+      <optionalConform/>
       <field id="0" name="CompletionErrorCode" type="enum8">
         <mandatoryConform/>
       </field>
diff --git a/data_model/1.4/clusters/OperationalState_Oven.xml b/data_model/1.4/clusters/OperationalState_Oven.xml
index 710dea9..e743fbf 100644
--- a/data_model/1.4/clusters/OperationalState_Oven.xml
+++ b/data_model/1.4/clusters/OperationalState_Oven.xml
@@ -57,9 +57,10 @@
 

 :xrefstyle: basic

 -->
-<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0048" name="Oven Cavity Operational State Cluster" revision="1">
+<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0048" name="Oven Cavity Operational State Cluster" revision="2">
   <revisionHistory>
     <revision revision="1" summary="Initial revision"/>
+    <revision revision="2" summary="Set Pause and Resume commands as disallowed (previously a Device Type override)"/>
   </revisionHistory>
   <clusterIds>
     <clusterId id="0x0048" name="Oven Cavity Operational State"/>
diff --git a/data_model/1.4/clusters/OperationalState_RVC.xml b/data_model/1.4/clusters/OperationalState_RVC.xml
index 9b83bc4..fb9fea9 100644
--- a/data_model/1.4/clusters/OperationalState_RVC.xml
+++ b/data_model/1.4/clusters/OperationalState_RVC.xml
@@ -117,10 +117,7 @@
     <command id="0x04" name="OperationalCommandResponse"/>
     <command id="0x80" name="GoHome" direction="commandToServer" response="OperationalCommandResponse">
       <access invokePrivilege="operate"/>
-      <otherwiseConform>
-        <provisionalConform/>
-        <optionalConform/>
-      </otherwiseConform>
+      <optionalConform/>
     </command>
   </commands>
 </cluster>
\ No newline at end of file
diff --git a/data_model/1.4/clusters/PumpConfigurationControl.xml b/data_model/1.4/clusters/PumpConfigurationControl.xml
index 9b7e4ab..2be5a44 100644
--- a/data_model/1.4/clusters/PumpConfigurationControl.xml
+++ b/data_model/1.4/clusters/PumpConfigurationControl.xml
@@ -373,11 +373,8 @@
       <optionalConform/>
       <constraint type="desc"/>
     </attribute>
-    <attribute id="0x0022" name="AlarmMask" type="map16" default="0">
-      <access read="true" readPrivilege="view"/>
-      <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false" sourceAttribution="false" quieterReporting="false"/>
+    <attribute id="0x0022" name="AlarmMask">
       <deprecateConform/>
-      <constraint type="desc"/>
     </attribute>
   </attributes>
   <events>
diff --git a/data_model/1.4/clusters/Scenes.xml b/data_model/1.4/clusters/Scenes.xml
index 1479d3f..3de80ab 100644
--- a/data_model/1.4/clusters/Scenes.xml
+++ b/data_model/1.4/clusters/Scenes.xml
@@ -373,14 +373,16 @@
       <field id="1" name="GroupIdentifierFrom" type="group-id">
         <mandatoryConform/>
       </field>
-      <field id="2" name="SceneIdentifierFrom" type="max 254">
+      <field id="2" name="SceneIdentifierFrom" type="uint8">
         <mandatoryConform/>
+        <constraint type="max" value="254"/>
       </field>
       <field id="3" name="GroupIdentifierTo" type="group-id">
         <mandatoryConform/>
       </field>
-      <field id="4" name="SceneIdentifierTo" type="max 254">
+      <field id="4" name="SceneIdentifierTo" type="uint8">
         <mandatoryConform/>
+        <constraint type="max" value="254"/>
       </field>
     </command>
     <command id="0x40" name="CopySceneResponse" direction="responseFromServer">
diff --git a/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml b/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml
index d6a5224..8b33cce 100644
--- a/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml
+++ b/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml
@@ -106,17 +106,14 @@
     <attribute id="0x0000" name="TemperatureDisplayMode" type="TemperatureDisplayModeEnum" default="Celsius">
       <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/>
       <mandatoryConform/>
-      <constraint type="desc"/>
     </attribute>
     <attribute id="0x0001" name="KeypadLockout" type="KeypadLockoutEnum" default="NoLockout">
       <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
       <mandatoryConform/>
-      <constraint type="desc"/>
     </attribute>
     <attribute id="0x0002" name="ScheduleProgrammingVisibility" type="ScheduleProgrammingVisibilityEnum" default="ScheduleProgrammingPermitted">
       <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/>
       <optionalConform/>
-      <constraint type="desc"/>
     </attribute>
   </attributes>
 </cluster>
\ No newline at end of file
diff --git a/data_model/1.4/clusters/WaterHeaterManagement.xml b/data_model/1.4/clusters/WaterHeaterManagement.xml
index 96dcc2b..49cdf1e 100644
--- a/data_model/1.4/clusters/WaterHeaterManagement.xml
+++ b/data_model/1.4/clusters/WaterHeaterManagement.xml
@@ -168,7 +168,6 @@
       <mandatoryConform/>
       <field id="0" name="BoostInfo" type="WaterHeaterBoostInfoStruct">
         <mandatoryConform/>
-        <constraint type="desc"/>
       </field>
     </command>
     <command id="0x01" name="CancelBoost" direction="commandToServer" response="Y">
@@ -182,7 +181,6 @@
       <mandatoryConform/>
       <field id="0" name="BoostInfo" type="WaterHeaterBoostInfoStruct">
         <mandatoryConform/>
-        <constraint type="desc"/>
       </field>
     </event>
     <event id="0x01" name="BoostEnded" priority="info">
diff --git a/data_model/1.4/device_types/DeviceEnergyManagement.xml b/data_model/1.4/device_types/DeviceEnergyManagement.xml
index 86efccc..0a90a21 100644
--- a/data_model/1.4/device_types/DeviceEnergyManagement.xml
+++ b/data_model/1.4/device_types/DeviceEnergyManagement.xml
@@ -63,10 +63,7 @@
   <classification class="utility" scope="endpoint"/>
   <clusters>
     <cluster id="0x0098" name="Device Energy Management" side="server">
-      <otherwiseConform>
-        <provisionalConform/>
-        <mandatoryConform/>
-      </otherwiseConform>
+      <mandatoryConform/>
       <features>
         <feature code="" name="PowerAdjustment"/>
         <feature code="" name="StartTimeAdjustment"/>
@@ -77,7 +74,6 @@
     </cluster>
     <cluster id="0x009F" name="Device Energy Management Mode" side="server">
       <otherwiseConform>
-        <provisionalConform/>
         <mandatoryConform>
           <attribute name="ControllableESA"/>
         </mandatoryConform>
diff --git a/data_model/1.4/device_types/HeatPump.xml b/data_model/1.4/device_types/HeatPump.xml
index 61f556c..012060e 100644
--- a/data_model/1.4/device_types/HeatPump.xml
+++ b/data_model/1.4/device_types/HeatPump.xml
@@ -65,7 +65,7 @@
     <cluster id="0x0003" name="Identify" side="server">
       <optionalConform/>
     </cluster>
-    <cluster id="0x0301" name="Thermostat" side="client">
+    <cluster id="0x0201" name="Thermostat" side="client">
       <optionalConform/>
     </cluster>
   </clusters>
diff --git a/data_model/1.4/device_types/RootNodeDeviceType.xml b/data_model/1.4/device_types/RootNodeDeviceType.xml
index 13473e4..99ce8fc 100644
--- a/data_model/1.4/device_types/RootNodeDeviceType.xml
+++ b/data_model/1.4/device_types/RootNodeDeviceType.xml
@@ -160,16 +160,16 @@
     <cluster id="0x0046" name="ICD Management" side="server">
       <quality singleton="true"/>
       <mandatoryConform>
-        <feature name="SIT"/>
+        <orTerm>
+          <feature name="SIT"/>
+          <feature name="LIT"/>
+        </orTerm>
       </mandatoryConform>
       <features>
         <feature code="" name="LongIdleTimeSupport">
-          <otherwiseConform>
-            <provisionalConform/>
-            <mandatoryConform>
-              <feature name="LIT"/>
-            </mandatoryConform>
-          </otherwiseConform>
+          <mandatoryConform>
+            <feature name="LIT"/>
+          </mandatoryConform>
         </feature>
       </features>
     </cluster>
diff --git a/data_model/1.4/spec_sha b/data_model/1.4/spec_sha
index 094141d..b48b447 100644
--- a/data_model/1.4/spec_sha
+++ b/data_model/1.4/spec_sha
@@ -1 +1 @@
-2760ea4338a4b612ac025bfa5677e6918041c1d4
+3d8fc9ae05045a53fdaffd7e3593f92a48b10e30