diff --git a/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml b/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml
index 4bc626f1eae78f..7545009a6d251e 100644
--- a/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml
@@ -2698,4 +2698,47 @@ limitations under the License.
+
+ MA-waterheater
+ CHIP
+ Water Heater
+ 0x0103
+ 0x050F
+ Simple
+ Endpoint
+
+
+ CLIENT_LIST
+ DEVICE_TYPE_LIST
+ PARTS_LIST
+ SERVER_LIST
+
+
+ IDENTIFY_TIME
+ IDENTIFY_TYPE
+ Identify
+
+
+ CONTROL_SEQUENCE_OF_OPERATION
+ LOCAL_TEMPERATURE
+ SYSTEM_MODE
+ SetpointRaiseLower
+
+
+ BOOST_STATE
+ HEATER_TYPES
+ HEAT_DEMAND
+ BoostEnded
+ BoostStarted
+ Boost
+ CancelBoost
+
+
+ CURRENT_MODE
+ SUPPORTED_MODES
+ ChangeToMode
+ ChangeToModeResponse
+
+
+
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
index 97e0c30e92f812..f84b493abd9138 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
@@ -7566,3 +7566,75 @@ typedef NS_ENUM(uint32_t, MTREventIDType) {
MTREventIDTypeClusterSampleMEIEventPingCountEventID MTR_PROVISIONALLY_AVAILABLE = 0x00000000,
};
+
+#pragma mark - Device Type IDs
+
+typedef NS_ENUM(uint32_t, MTRDeviceTypeIDType) {
+ MTRDeviceTypeIDTypeDoorLockID MTR_NEWLY_AVAILABLE = 0x0000000A,
+ MTRDeviceTypeIDTypeDoorLockControllerID MTR_NEWLY_AVAILABLE = 0x0000000B,
+ MTRDeviceTypeIDTypeAggregatorID MTR_NEWLY_AVAILABLE = 0x0000000E,
+ MTRDeviceTypeIDTypeGenericSwitchID MTR_NEWLY_AVAILABLE = 0x0000000F,
+ MTRDeviceTypeIDTypePowerSourceID MTR_NEWLY_AVAILABLE = 0x00000011,
+ MTRDeviceTypeIDTypeOTARequestorID MTR_NEWLY_AVAILABLE = 0x00000012,
+ MTRDeviceTypeIDTypeBridgedNodeID MTR_NEWLY_AVAILABLE = 0x00000013,
+ MTRDeviceTypeIDTypeOTAProviderID MTR_NEWLY_AVAILABLE = 0x00000014,
+ MTRDeviceTypeIDTypeContactSensorID MTR_NEWLY_AVAILABLE = 0x00000015,
+ MTRDeviceTypeIDTypeRootNodeID MTR_NEWLY_AVAILABLE = 0x00000016,
+ MTRDeviceTypeIDTypeSecondaryNetworkInterfaceID MTR_NEWLY_AVAILABLE = 0x00000019,
+ MTRDeviceTypeIDTypeSpeakerID MTR_NEWLY_AVAILABLE = 0x00000022,
+ MTRDeviceTypeIDTypeCastingVideoPlayerID MTR_NEWLY_AVAILABLE = 0x00000023,
+ MTRDeviceTypeIDTypeContentAppID MTR_NEWLY_AVAILABLE = 0x00000024,
+ MTRDeviceTypeIDTypeModeSelectID MTR_NEWLY_AVAILABLE = 0x00000027,
+ MTRDeviceTypeIDTypeBasicVideoPlayerID MTR_NEWLY_AVAILABLE = 0x00000028,
+ MTRDeviceTypeIDTypeCastingVideoClientID MTR_NEWLY_AVAILABLE = 0x00000029,
+ MTRDeviceTypeIDTypeVideoRemoteControlID MTR_NEWLY_AVAILABLE = 0x0000002A,
+ MTRDeviceTypeIDTypeFanID MTR_NEWLY_AVAILABLE = 0x0000002B,
+ MTRDeviceTypeIDTypeAirQualitySensorID MTR_NEWLY_AVAILABLE = 0x0000002C,
+ MTRDeviceTypeIDTypeAirPurifierID MTR_NEWLY_AVAILABLE = 0x0000002D,
+ MTRDeviceTypeIDTypeWaterFreezeDetectorID MTR_NEWLY_AVAILABLE = 0x00000041,
+ MTRDeviceTypeIDTypeWaterValveID MTR_NEWLY_AVAILABLE = 0x00000042,
+ MTRDeviceTypeIDTypeWaterLeakDetectorID MTR_NEWLY_AVAILABLE = 0x00000043,
+ MTRDeviceTypeIDTypeRainSensorID MTR_NEWLY_AVAILABLE = 0x00000044,
+ MTRDeviceTypeIDTypeRefrigeratorID MTR_NEWLY_AVAILABLE = 0x00000070,
+ MTRDeviceTypeIDTypeTemperatureControlledCabinetID MTR_NEWLY_AVAILABLE = 0x00000071,
+ MTRDeviceTypeIDTypeRoomAirConditionerID MTR_NEWLY_AVAILABLE = 0x00000072,
+ MTRDeviceTypeIDTypeLaundryWasherID MTR_NEWLY_AVAILABLE = 0x00000073,
+ MTRDeviceTypeIDTypeRoboticVacuumCleanerID MTR_NEWLY_AVAILABLE = 0x00000074,
+ MTRDeviceTypeIDTypeDishwasherID MTR_NEWLY_AVAILABLE = 0x00000075,
+ MTRDeviceTypeIDTypeSmokeCOAlarmID MTR_NEWLY_AVAILABLE = 0x00000076,
+ MTRDeviceTypeIDTypeCookSurfaceID MTR_NEWLY_AVAILABLE = 0x00000077,
+ MTRDeviceTypeIDTypeCooktopID MTR_NEWLY_AVAILABLE = 0x00000078,
+ MTRDeviceTypeIDTypeMicrowaveOvenID MTR_NEWLY_AVAILABLE = 0x00000079,
+ MTRDeviceTypeIDTypeExtractorHoodID MTR_NEWLY_AVAILABLE = 0x0000007A,
+ MTRDeviceTypeIDTypeOvenID MTR_NEWLY_AVAILABLE = 0x0000007B,
+ MTRDeviceTypeIDTypeLaundryDryerID MTR_NEWLY_AVAILABLE = 0x0000007C,
+ MTRDeviceTypeIDTypeNetworkInfrastructureManagerID MTR_NEWLY_AVAILABLE = 0x00000090,
+ MTRDeviceTypeIDTypeThreadBorderRouterID MTR_NEWLY_AVAILABLE = 0x00000091,
+ MTRDeviceTypeIDTypeOnOffLightID MTR_NEWLY_AVAILABLE = 0x00000100,
+ MTRDeviceTypeIDTypeDimmableLightID MTR_NEWLY_AVAILABLE = 0x00000101,
+ MTRDeviceTypeIDTypeOnOffLightSwitchID MTR_NEWLY_AVAILABLE = 0x00000103,
+ MTRDeviceTypeIDTypeDimmerSwitchID MTR_NEWLY_AVAILABLE = 0x00000104,
+ MTRDeviceTypeIDTypeColorDimmerSwitchID MTR_NEWLY_AVAILABLE = 0x00000105,
+ MTRDeviceTypeIDTypeLightSensorID MTR_NEWLY_AVAILABLE = 0x00000106,
+ MTRDeviceTypeIDTypeOccupancySensorID MTR_NEWLY_AVAILABLE = 0x00000107,
+ MTRDeviceTypeIDTypeOnOffPlugInUnitID MTR_NEWLY_AVAILABLE = 0x0000010A,
+ MTRDeviceTypeIDTypeDimmablePlugInUnitID MTR_NEWLY_AVAILABLE = 0x0000010B,
+ MTRDeviceTypeIDTypeColorTemperatureLightID MTR_NEWLY_AVAILABLE = 0x0000010C,
+ MTRDeviceTypeIDTypeExtendedColorLightID MTR_NEWLY_AVAILABLE = 0x0000010D,
+ MTRDeviceTypeIDTypeWindowCoveringID MTR_NEWLY_AVAILABLE = 0x00000202,
+ MTRDeviceTypeIDTypeWindowCoveringControllerID MTR_NEWLY_AVAILABLE = 0x00000203,
+ MTRDeviceTypeIDTypeHeatingCoolingUnitID MTR_NEWLY_AVAILABLE = 0x00000300,
+ MTRDeviceTypeIDTypeThermostatID MTR_NEWLY_AVAILABLE = 0x00000301,
+ MTRDeviceTypeIDTypeTemperatureSensorID MTR_NEWLY_AVAILABLE = 0x00000302,
+ MTRDeviceTypeIDTypePumpID MTR_NEWLY_AVAILABLE = 0x00000303,
+ MTRDeviceTypeIDTypePumpControllerID MTR_NEWLY_AVAILABLE = 0x00000304,
+ MTRDeviceTypeIDTypePressureSensorID MTR_NEWLY_AVAILABLE = 0x00000305,
+ MTRDeviceTypeIDTypeFlowSensorID MTR_NEWLY_AVAILABLE = 0x00000306,
+ MTRDeviceTypeIDTypeHumiditySensorID MTR_NEWLY_AVAILABLE = 0x00000307,
+ MTRDeviceTypeIDTypeEVSEID MTR_NEWLY_AVAILABLE = 0x0000050C,
+ MTRDeviceTypeIDTypeDeviceEnergyManagementID MTR_NEWLY_AVAILABLE = 0x0000050D,
+ MTRDeviceTypeIDTypeWaterHeaterID MTR_PROVISIONALLY_AVAILABLE = 0x0000050F,
+ MTRDeviceTypeIDTypeElectricalSensorID MTR_NEWLY_AVAILABLE = 0x00000510,
+ MTRDeviceTypeIDTypeControlBridgeID MTR_NEWLY_AVAILABLE = 0x00000840,
+ MTRDeviceTypeIDTypeOnOffSensorID MTR_NEWLY_AVAILABLE = 0x00000850,
+} MTR_NEWLY_AVAILABLE;
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm b/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm
index d743598efeedf9..1cb47d28e956c1 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm
@@ -19,14 +19,6 @@
using namespace chip;
-namespace {
-enum class DeviceTypeClass {
- Utility,
- Simple,
- Node, // Might not be a real class, but we have it for Root Node for now.
- // If new classes get added, plase audit MTRIsKnownUtilityDeviceType below.
-};
-
struct DeviceTypeData {
DeviceTypeId id;
DeviceTypeClass deviceClass;
@@ -97,6 +89,7 @@
{ 0x00000307, DeviceTypeClass::Simple, "Matter Humidity Sensor" },
{ 0x0000050C, DeviceTypeClass::Simple, "Matter EVSE" },
{ 0x0000050D, DeviceTypeClass::Simple, "Matter Device Energy Management" },
+ { 0x0000050F, MTRDeviceTypeClass::Simple, "Water Heater" },
{ 0x00000510, DeviceTypeClass::Utility, "Matter Electrical Sensor" },
{ 0x00000840, DeviceTypeClass::Simple, "Matter Control Bridge" },
{ 0x00000850, DeviceTypeClass::Simple, "Matter On/Off Sensor" },
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp
index 527f06f2298b3b..b923f2ca9c5361 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp
@@ -6503,6 +6503,8 @@ char const * DeviceTypeIdToText(chip::DeviceTypeId id)
return "Matter EVSE";
case 0x0000050D:
return "Matter Device Energy Management";
+ case 0x0000050F:
+ return "Water Heater";
case 0x00000510:
return "Matter Electrical Sensor";
case 0x00000840: