Skip to content

Commit 482a6af

Browse files
committed
Added Water Heater Management cluster XML
1 parent 9bd8e16 commit 482a6af

File tree

7 files changed

+90
-0
lines changed

7 files changed

+90
-0
lines changed

.github/workflows/tests.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ jobs:
189189
src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml \
190190
src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml \
191191
src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml \
192+
src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml \
192193
src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml \
193194
src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml \
194195
src/app/zap-templates/zcl/data-model/chip/window-covering.xml \

scripts/rules.matterlint

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml
9797
load "../src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml";
9898
load "../src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml";
9999
load "../src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml";
100+
load "../src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml";
100101
load "../src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml";
101102
load "../src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml";
102103
load "../src/app/zap-templates/zcl/data-model/chip/window-covering.xml";

src/app/zap-templates/zcl/data-model/all.xml

+1
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
<xi:include href="chip/valve-configuration-and-control-cluster.xml" />
106106
<xi:include href="chip/wake-on-lan-cluster.xml" />
107107
<xi:include href="chip/washer-controls-cluster.xml" />
108+
<xi:include href="chip/water-heater-management-cluster.xml" />
108109
<xi:include href="chip/wifi-network-diagnostics-cluster.xml" />
109110
<xi:include href="chip/wifi-network-management-cluster.xml" />
110111
<xi:include href="chip/window-covering.xml" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Copyright (c) 2024 Project CHIP Authors
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
<configurator>
18+
<domain name="Energy Management"/>
19+
<bitmap name="Feature" type="bitmap32">
20+
<cluster code="0x0094"/>
21+
<field name="EnergyManagement" mask="0x01"/>
22+
<field name="TankPercent" mask="0x02"/>
23+
</bitmap>
24+
25+
<bitmap name="WaterHeaterDemandBitmap" type="bitmap8">
26+
<cluster code="0x0094"/>
27+
<field name="ImmersionElement1" mask="0x01"/>
28+
<field name="ImmersionElement2" mask="0x02"/>
29+
<field name="HeatPump" mask="0x04"/>
30+
<field name="Boiler" mask="0x08"/>
31+
<field name="Other" mask="0x10"/>
32+
</bitmap>
33+
34+
<bitmap name="WaterHeaterTypeBitmap" type="bitmap8">
35+
<cluster code="0x0094"/>
36+
<field name="ImmersionElement1" mask="0x01"/>
37+
<field name="ImmersionElement2" mask="0x02"/>
38+
<field name="HeatPump" mask="0x04"/>
39+
<field name="Boiler" mask="0x08"/>
40+
<field name="Other" mask="0x10"/>
41+
</bitmap>
42+
43+
<enum name="BoostStateEnum" type="enum8">
44+
<cluster code="0x0094"/>
45+
<item name="Inactive" value="0x00"/>
46+
<item name="Active" value="0x01"/>
47+
</enum>
48+
49+
<cluster code="0x0094">
50+
<domain>Energy Management</domain>
51+
<name>Water Heater Management</name>
52+
<code>0x0094</code>
53+
<define>WATER_HEATER_MANAGEMENT_CLUSTER</define>
54+
<description>This cluster is used to allow clients to control the operation of a hot water heating appliance so that it can be used with energy management.</description>
55+
<client init="false" tick="false">true</client>
56+
<server init="false" tick="false">true</server>
57+
<globalAttribute code="0xFFFD" side="either" value="1"/>
58+
<attribute code="0x0000" side="server" define="HEATER_TYPES" type="WaterHeaterTypeBitmap" min="0x00" max="0x1F" default="0x00">HeaterTypes</attribute>
59+
<attribute code="0x0001" side="server" define="HEAT_DEMAND" type="WaterHeaterDemandBitmap" min="0x00" max="0x1F" default="0x00">HeatDemand</attribute>
60+
<attribute code="0x0002" side="server" define="TANK_VOLUME" type="int16u" default="0" optional="true">TankVolume</attribute>
61+
<attribute code="0x0003" side="server" define="ESTIMATED_HEAT_REQUIRED" type="energy_mwh" default="0" optional="true">EstimatedHeatRequired</attribute>
62+
<attribute code="0x0004" side="server" define="TANK_PERCENTAGE" type="percent" default="0" optional="true">TankPercentage</attribute>
63+
<attribute code="0x0005" side="server" define="BOOST_STATE" type="BoostStateEnum" default="0" min="0x00" max="0x01">BoostState</attribute>
64+
<command code="0x00" source="client" name="Boost" optional="false">
65+
<description>Allows a client to request that the water heater is put into a Boost state.</description>
66+
<arg id="0" name="Duration" type="elapsed_s"/>
67+
<arg id="1" name="OneShot" type="boolean" optional="true" default="0"/>
68+
<arg id="2" name="EmergencyBoost" type="boolean" optional="true" default="0"/>
69+
<arg id="3" name="TemporarySetpoint" type="temperature" optional="true"/>
70+
<arg id="4" name="TargetPercentage" type="percent" optional="true"/>
71+
<arg id="5" name="TargetReheat" type="percent" optional="true"/>
72+
<access op="invoke" privilege="manage"/>
73+
</command>
74+
75+
<command code="0x01" source="client" name="CancelBoost" optional="false">
76+
<description>Allows a client to cancel an ongoing Boost operation.</description>
77+
<access op="invoke" privilege="manage"/>
78+
</command>
79+
80+
</cluster>
81+
</configurator>

src/app/zap-templates/zcl/zcl-with-test-extensions.json

+2
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126
"valve-configuration-and-control-cluster.xml",
127127
"wake-on-lan-cluster.xml",
128128
"washer-controls-cluster.xml",
129+
"water-heater-management-cluster.xml",
129130
"wifi-network-diagnostics-cluster.xml",
130131
"wifi-network-management-cluster.xml",
131132
"window-covering.xml",
@@ -637,6 +638,7 @@
637638
"Power Topology": ["FeatureMap"],
638639
"Valve Configuration and Control": ["RemainingDuration"],
639640
"Boolean State Configuration": ["CurrentSensitivityLevel"],
641+
"Water Heater Management": ["FeatureMap"],
640642
"Wi-Fi Network Management": ["SSID"]
641643
},
642644
"defaultReportingPolicy": "mandatory",

src/app/zap-templates/zcl/zcl.json

+2
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@
124124
"valve-configuration-and-control-cluster.xml",
125125
"wake-on-lan-cluster.xml",
126126
"washer-controls-cluster.xml",
127+
"water-heater-management-cluster.xml",
127128
"wifi-network-diagnostics-cluster.xml",
128129
"wifi-network-management-cluster.xml",
129130
"window-covering.xml",
@@ -635,6 +636,7 @@
635636
"Power Topology": ["FeatureMap"],
636637
"Valve Configuration and Control": ["RemainingDuration"],
637638
"Boolean State Configuration": ["CurrentSensitivityLevel"],
639+
"Water Heater Management": ["FeatureMap"],
638640
"Wi-Fi Network Management": ["SSID"]
639641
},
640642
"defaultReportingPolicy": "mandatory",

src/app/zap_cluster_list.json

+2
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
"WAKE_ON_LAN_CLUSTER": [],
130130
"LAUNDRY_WASHER_CONTROLS_CLUSTER": [],
131131
"LAUNDRY_DRYER_CONTROLS_CLUSTER": [],
132+
"WATER_HEATER_MANAGEMENT_CLUSTER": [],
132133
"WIFI_NETWORK_DIAGNOSTICS_CLUSTER": [],
133134
"WINDOW_COVERING_CLUSTER": [],
134135
"ZLL_COMMISSIONING_CLUSTER": []
@@ -311,6 +312,7 @@
311312
"WIFI_NETWORK_DIAGNOSTICS_CLUSTER": ["wifi-network-diagnostics-server"],
312313
"WIFI_NETWORK_MANAGEMENT_CLUSTER": ["wifi-network-management-server"],
313314
"WINDOW_COVERING_CLUSTER": ["window-covering-server"],
315+
"WATER_HEATER_MANAGEMENT_CLUSTER": [],
314316
"ZLL_COMMISSIONING_CLUSTER": []
315317
}
316318
}

0 commit comments

Comments
 (0)