Skip to content

Commit cf2e8ab

Browse files
committed
Updated device-energy-management-cluster.xml and energy-evse-cluster.xml using Alchemy and spec commit: dbf7c6dd7206fa4a4647f8a6218325fbe6c8ec6c Note more DEM PRs are yet to merge.
1 parent 2aeb939 commit cf2e8ab

File tree

2 files changed

+128
-110
lines changed

2 files changed

+128
-110
lines changed

src/app/zap-templates/zcl/data-model/chip/device-energy-management-cluster.xml

+71-55
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ limitations under the License.
1616
-->
1717
<configurator>
1818
<domain name="Energy Management"/>
19-
20-
2119
<cluster apiMaturity="provisional">
2220
<name>Device Energy Management</name>
2321
<domain>Energy Management</domain>
@@ -26,15 +24,14 @@ limitations under the License.
2624
<client init="false" tick="false">true</client>
2725
<server init="false" tick="false">true</server>
2826
<description>This cluster allows a client to manage the power draw of a device. An example of such a client could be an Energy Management System (EMS) which controls an Energy Smart Appliance (ESA).</description>
29-
<globalAttribute side="either" code="0xFFFD" value="3"/>
30-
27+
<globalAttribute side="either" code="0xFFFD" value="4"/>
3128
<features>
3229
<feature bit="0" code="PA" name="PowerAdjustment" summary="Allows an EMS to make a temporary power
33-
adjustment (within the limits offered by the ESA).">
34-
<optionalConform choice="a" more="true"/>
30+
adjustment (within the limits offered by the ESA).">
31+
<optionalConform/>
3532
</feature>
3633
<feature bit="1" code="PFR" name="PowerForecastReporting" summary="Allows an ESA to advertise its indicative
37-
future power consumption vs time.">
34+
future power consumption vs time.">
3835
<otherwiseConform>
3936
<mandatoryConform>
4037
<andTerm>
@@ -43,17 +40,20 @@ limitations under the License.
4340
<feature name="PAU"/>
4441
<feature name="FA"/>
4542
<feature name="CON"/>
43+
<notTerm>
44+
<feature name="PA"/>
45+
</notTerm>
4646
</orTerm>
4747
<notTerm>
4848
<feature name="SFR"/>
4949
</notTerm>
5050
</andTerm>
5151
</mandatoryConform>
52-
<optionalConform choice="a" more="true"/>
52+
<optionalConform/>
5353
</otherwiseConform>
5454
</feature>
5555
<feature bit="2" code="SFR" name="StateForecastReporting" summary="Allows an ESA to advertise its indicative
56-
future state vs time.">
56+
future state vs time.">
5757
<otherwiseConform>
5858
<mandatoryConform>
5959
<andTerm>
@@ -62,103 +62,112 @@ limitations under the License.
6262
<feature name="PAU"/>
6363
<feature name="FA"/>
6464
<feature name="CON"/>
65+
<notTerm>
66+
<feature name="PA"/>
67+
</notTerm>
6568
</orTerm>
6669
<notTerm>
6770
<feature name="PFR"/>
6871
</notTerm>
6972
</andTerm>
7073
</mandatoryConform>
71-
<optionalConform choice="a" more="true"/>
74+
<disallowConform/>
7275
</otherwiseConform>
7376
</feature>
74-
<feature bit="3" code="STA" name="StartTimeAdjustment" summary="Allows an EMS to delay an ESA's
75-
planned operation.">
76-
<optionalConform choice="a" more="true"/>
77+
<feature bit="3" code="STA" name="StartTimeAdjustment" summary="Allows an EMS to delay an ESA&apos;s
78+
planned operation.">
79+
<optionalConform/>
7780
</feature>
78-
<feature bit="4" code="PAU" name="Pausable" summary="Allows an EMS to pause an ESA's
79-
planned operation.">
80-
<optionalConform choice="a" more="true"/>
81+
<feature bit="4" code="PAU" name="Pausable" summary="Allows an EMS to pause an ESA&apos;s
82+
planned operation.">
83+
<optionalConform/>
8184
</feature>
82-
<feature bit="5" code="FA" name="ForecastAdjustment" summary="Allows an EMS to adjust an ESA's
83-
planned operation.">
84-
<otherwiseConform>
85-
<provisionalConform/>
86-
<optionalConform choice="a" more="true"/>
87-
</otherwiseConform>
85+
<feature bit="5" code="FA" name="ForecastAdjustment" summary="Allows an EMS to adjust an ESA&apos;s
86+
planned operation.">
87+
<optionalConform/>
8888
</feature>
89-
<feature bit="6" code="CON" name="ConstraintBasedAdjustment" summary="Allows an EMS to request constraints to an ESA's
90-
planned operation.">
91-
<otherwiseConform>
92-
<provisionalConform/>
93-
<optionalConform choice="a" more="true"/>
94-
</otherwiseConform>
89+
<feature bit="6" code="CON" name="ConstraintBasedAdjustment" summary="Allows an EMS to request constraints to an ESA&apos;s
90+
planned operation.">
91+
<optionalConform/>
9592
</feature>
9693
</features>
97-
9894
<!--Attributes-->
99-
<attribute code="0x0000" side="server" type="ESATypeEnum" define="ESA_TYPE" writable="false" optional="false" min="0x00" max="0xFF" default="0xFF">ESAType</attribute>
100-
<attribute code="0x0001" side="server" type="boolean" define="ESA_CAN_GENERATE" writable="false" optional="false" default="0">ESACanGenerate</attribute>
101-
<attribute code="0x0002" side="server" type="ESAStateEnum" define="ESA_STATE" default="0x00" writable="false" optional="false" min="0x00" max="0x04">ESAState</attribute>
102-
<attribute code="0x0003" side="server" type="power_mw" define="ABS_MIN_POWER" default="0" writable="false" optional="false">AbsMinPower</attribute>
103-
<attribute code="0x0004" side="server" type="power_mw" define="ABS_MAX_POWER" default="0" writable="false" optional="false">AbsMaxPower</attribute>
95+
<attribute code="0x0000" side="server" type="ESATypeEnum" define="ESA_TYPE" min="0x00" max="0xFF" default="0xFF">ESAType</attribute>
96+
<attribute code="0x0001" side="server" type="boolean" define="ESA_CAN_GENERATE" default="0">ESACanGenerate</attribute>
97+
<attribute code="0x0002" side="server" type="ESAStateEnum" define="ESA_STATE" default="0x00" min="0x00" max="0x04">ESAState</attribute>
98+
<attribute code="0x0003" side="server" type="power_mw" define="ABS_MIN_POWER" default="0">AbsMinPower</attribute>
99+
<attribute code="0x0004" side="server" type="power_mw" define="ABS_MAX_POWER" default="0">AbsMaxPower</attribute>
104100
<!--Conformance feature PA - for now optional-->
105-
<attribute code="0x0005" side="server" type="array" entryType="PowerAdjustStruct" define="POWER_ADJUSTMENT_CAPABILITY" isNullable="true" writable="false" optional="true" length="8">PowerAdjustmentCapability</attribute>
101+
<attribute code="0x0005" side="server" type="array" entryType="PowerAdjustStruct" define="POWER_ADJUSTMENT_CAPABILITY" isNullable="true" optional="true" length="8">PowerAdjustmentCapability</attribute>
106102
<!--Conformance feature PFR \| SFR - for now optional-->
107-
<attribute code="0x0006" side="server" type="ForecastStruct" define="FORECAST" isNullable="true" writable="false" optional="true">Forecast</attribute>
108-
<attribute code="0x0007" side="server" type="OptOutStateEnum" define="OPT_OUT_STATE" min="0x00" max="0x03" default="0x00" writable="false" optional="true">OptOutState</attribute>
103+
<attribute code="0x0006" side="server" type="ForecastStruct" define="FORECAST" isNullable="true" optional="true">Forecast</attribute>
104+
<attribute code="0x0007" side="server" type="OptOutStateEnum" define="OPT_OUT_STATE" min="0x00" max="0x03" default="0x00" optional="true">OptOutState</attribute>
109105
<command source="client" code="0x00" name="PowerAdjustRequest" optional="true" apiMaturity="provisional">
110106
<description>Allows a client to request an adjustment in the power consumption of an ESA for a specified duration.</description>
111-
<arg name="Power" type="power_mw"/>
112-
<arg name="Duration" type="elapsed_s"/>
113-
<arg name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
107+
<arg id="0" name="Power" type="power_mw"/>
108+
<arg id="1" name="Duration" type="elapsed_s"/>
109+
<arg id="2" name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
114110
</command>
111+
115112
<command source="client" code="0x01" name="CancelPowerAdjustRequest" optional="true" apiMaturity="provisional">
116113
<description>Allows a client to cancel an ongoing PowerAdjustmentRequest operation.</description>
117114
</command>
115+
118116
<command source="client" code="0x02" name="StartTimeAdjustRequest" optional="true" apiMaturity="provisional">
119117
<description>Allows a client to adjust the start time of a Forecast sequence that has not yet started operation (i.e. where the current Forecast StartTime is in the future).</description>
120-
<arg name="RequestedStartTime" type="epoch_s"/>
121-
<arg name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
118+
<arg id="0" name="RequestedStartTime" type="epoch_s"/>
119+
<arg id="1" name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
122120
</command>
121+
123122
<command source="client" code="0x03" name="PauseRequest" optional="true" apiMaturity="provisional">
124123
<description>Allows a client to temporarily pause an operation and reduce the ESAs energy demand.</description>
125-
<arg name="Duration" type="elapsed_s"/>
126-
<arg name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
124+
<arg id="0" name="Duration" type="elapsed_s"/>
125+
<arg id="1" name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
127126
</command>
127+
128128
<command source="client" code="0x04" name="ResumeRequest" optional="true" apiMaturity="provisional">
129129
<description>Allows a client to cancel the PauseRequest command and enable earlier resumption of operation.</description>
130130
</command>
131+
131132
<command source="client" code="0x05" name="ModifyForecastRequest" optional="true" apiMaturity="provisional">
132133
<description>Allows a client to modify a Forecast within the limits allowed by the ESA.</description>
133-
<arg name="ForecastId" type="int32u"/>
134-
<arg name="SlotAdjustments" array="true" type="SlotAdjustmentStruct" length="10"/>
135-
<arg name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
134+
<arg id="0" name="ForecastId" type="int32u"/>
135+
<arg id="1" name="SlotAdjustments" array="true" type="SlotAdjustmentStruct" length="10"/>
136+
<arg id="2" name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
136137
</command>
138+
137139
<command source="client" code="0x06" name="RequestConstraintBasedForecast" optional="true" apiMaturity="provisional">
138140
<description>Allows a client to ask the ESA to recompute its Forecast based on power and time constraints.</description>
139-
<arg name="Constraints" array="true" type="ConstraintsStruct" length="10"/>
140-
<arg name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
141+
<arg id="0" name="Constraints" array="true" type="ConstraintsStruct" length="10"/>
142+
<arg id="1" name="Cause" type="AdjustmentCauseEnum" min="0x00" max="0x01"/>
141143
</command>
144+
142145
<command source="client" code="0x07" name="CancelRequest" optional="true">
143146
<description>Allows a client to request cancellation of a previous adjustment request in a StartTimeAdjustRequest, ModifyForecastRequest or RequestConstraintBasedForecast command</description>
144147
</command>
148+
145149
<event code="0x00" name="PowerAdjustStart" priority="info" side="server" apiMaturity="provisional" optional="true">
146150
<description>PowerAdjustStart</description>
147151
</event>
152+
148153
<event code="0x01" name="PowerAdjustEnd" priority="info" side="server" apiMaturity="provisional" optional="true">
149154
<description>PowerAdjustEnd</description>
150155
<field id="0" name="Cause" type="CauseEnum" apiMaturity="provisional" default="0x00" min="0x00" max="0x04"/>
151156
<field id="1" name="Duration" type="elapsed_s" apiMaturity="provisional"/>
152157
<field id="2" name="EnergyUse" type="energy_mwh" apiMaturity="provisional"/>
153158
</event>
159+
154160
<event code="0x02" name="Paused" priority="info" side="server" apiMaturity="provisional" optional="true">
155161
<description>Paused</description>
156162
</event>
163+
157164
<event code="0x03" name="Resumed" priority="info" side="server" apiMaturity="provisional" optional="true">
158165
<description>Resumed</description>
159166
<field id="0" name="Cause" type="CauseEnum" apiMaturity="provisional" default="0x00" min="0x00" max="0x04"/>
160167
</event>
168+
161169
</cluster>
170+
162171
<enum name="CostTypeEnum" type="enum8" apiMaturity="provisional">
163172
<cluster code="0x0098"/>
164173
<item name="Financial" value="0x00"/>
@@ -225,6 +234,13 @@ limitations under the License.
225234
<item name="OptOut" value="0x03"/>
226235
</enum>
227236

237+
<enum name="PowerAdjustReasonEnum" type="enum8">
238+
<cluster code="0x0098"/>
239+
<item name="NoAdjustment" value="0x00"/>
240+
<item name="LocalOptimizationAdjustment" value="0x01"/>
241+
<item name="GridOptimizationAdjustment" value="0x02"/>
242+
</enum>
243+
228244
<struct name="CostStruct" apiMaturity="provisional">
229245
<cluster code="0x0098"/>
230246
<item fieldId="0" name="CostType" type="CostTypeEnum" default="0x00" min="0x00" max="0x03"/>
@@ -239,17 +255,18 @@ limitations under the License.
239255
<item fieldId="1" name="MaxPower" type="power_mw" default="0"/>
240256
<item fieldId="2" name="MinDuration" type="elapsed_s" default="0"/>
241257
<item fieldId="3" name="MaxDuration" type="elapsed_s"/>
258+
<item fieldId="4" name="Cause" type="PowerAdjustReasonEnum" min="0x00" max="0x02"/>
242259
</struct>
243260

244261
<struct name="ForecastStruct" apiMaturity="provisional">
245262
<cluster code="0x0098"/>
246-
<item fieldId="0" name="ForecastId" type="int16u" default="0"/>
263+
<item fieldId="0" name="ForecastId" type="int32u" default="0"/>
247264
<item fieldId="1" name="ActiveSlotNumber" type="int16u" isNullable="true" default="0"/>
248265
<item fieldId="2" name="StartTime" type="epoch_s"/>
249266
<item fieldId="3" name="EndTime" type="epoch_s"/>
250267
<item fieldId="4" name="EarliestStartTime" type="epoch_s" isNullable="true" optional="true"/>
251268
<item fieldId="5" name="LatestEndTime" type="epoch_s" optional="true"/>
252-
<item fieldId="6" name="IsPauseable" type="boolean"/>
269+
<item fieldId="6" name="IsPausable" type="boolean"/>
253270
<item fieldId="7" name="Slots" array="true" type="SlotStruct" length="10"/>
254271
<item fieldId="8" name="ForecastUpdateReason" type="ForecastUpdateReasonEnum" min="0x00" max="0x02"/>
255272
</struct>
@@ -261,7 +278,7 @@ limitations under the License.
261278
<item fieldId="2" name="DefaultDuration" type="elapsed_s"/>
262279
<item fieldId="3" name="ElapsedSlotTime" type="elapsed_s"/>
263280
<item fieldId="4" name="RemainingSlotTime" type="elapsed_s"/>
264-
<item fieldId="5" name="SlotIsPauseable" type="boolean" optional="true"/>
281+
<item fieldId="5" name="SlotIsPausable" type="boolean" optional="true"/>
265282
<item fieldId="6" name="MinPauseDuration" type="elapsed_s" optional="true"/>
266283
<item fieldId="7" name="MaxPauseDuration" type="elapsed_s" optional="true"/>
267284
<item fieldId="8" name="ManufacturerESAState" type="int16u" optional="true"/>
@@ -279,17 +296,16 @@ limitations under the License.
279296
<struct name="SlotAdjustmentStruct" apiMaturity="provisional">
280297
<cluster code="0x0098"/>
281298
<item fieldId="0" name="SlotIndex" type="int8u"/>
282-
<item fieldId="1" name="NominalPower" type="power_mw"/>
299+
<item fieldId="1" name="NominalPower" type="power_mw" optional="true"/>
283300
<item fieldId="2" name="Duration" type="elapsed_s"/>
284301
</struct>
285302

286303
<struct name="ConstraintsStruct" apiMaturity="provisional">
287304
<cluster code="0x0098"/>
288305
<item fieldId="0" name="StartTime" type="epoch_s"/>
289-
<item fieldId="1" name="Duration" type="elapsed_s" min="0" max="86400"/>
306+
<item fieldId="1" name="Duration" type="elapsed_s" max="86400"/>
290307
<item fieldId="2" name="NominalPower" type="power_mw" optional="true"/>
291308
<item fieldId="3" name="MaximumEnergy" type="energy_mwh" optional="true"/>
292309
<item fieldId="4" name="LoadControl" type="int8s" optional="true"/>
293310
</struct>
294-
295311
</configurator>

0 commit comments

Comments
 (0)