1
+ <?xml version =" 1.0" ?>
2
+ <!--
3
+ Copyright (C) Connectivity Standards Alliance (2021). All rights reserved.
4
+ The information within this document is the property of the Connectivity
5
+ Standards Alliance and its use and disclosure are restricted, except as
6
+ expressly set forth herein.
7
+
8
+ Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive,
9
+ nontransferable, worldwide, limited and revocable license (without the right to
10
+ sublicense), under Connectivity Standards Alliance's applicable copyright
11
+ rights, to view, download, save, reproduce and use the document solely for your
12
+ own internal purposes and in accordance with the terms of the license set forth
13
+ herein. This license does not authorize you to, and you expressly warrant that
14
+ you shall not: (a) permit others (outside your organization) to use this
15
+ document; (b) post or publish this document; (c) modify, adapt, translate, or
16
+ otherwise change this document in any manner or create any derivative work
17
+ based on this document; (d) remove or modify any notice or label on this
18
+ document, including this Copyright Notice, License and Disclaimer. The
19
+ Connectivity Standards Alliance does not grant you any license hereunder other
20
+ than as expressly stated herein.
21
+
22
+ Elements of this document may be subject to third party intellectual property
23
+ rights, including without limitation, patent, copyright or trademark rights,
24
+ and any such third party may or may not be a member of the Connectivity
25
+ Standards Alliance. Connectivity Standards Alliance members grant other
26
+ Connectivity Standards Alliance members certain intellectual property rights as
27
+ set forth in the Connectivity Standards Alliance IPR Policy. Connectivity
28
+ Standards Alliance members do not grant you any rights under this license. The
29
+ Connectivity Standards Alliance is not responsible for, and shall not be held
30
+ responsible in any manner for, identifying or failing to identify any or all
31
+ such third party intellectual property rights. Please visit www.csa-iot.org for
32
+ more information on how to become a member of the Connectivity Standards
33
+ Alliance.
34
+
35
+ This document and the information contained herein are provided on an “AS IS”
36
+ basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS
37
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE
38
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING
39
+ WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT
40
+ OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
41
+ FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE
42
+ CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF
43
+ BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER
44
+ DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
45
+ DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT
46
+ OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
47
+ LOSS OR DAMAGE.
48
+
49
+ All company, brand and product names in this document may be trademarks that
50
+ are the sole property of their respective owners.
51
+
52
+ This notice and disclaimer must be included on all copies of this document.
53
+
54
+ Connectivity Standards Alliance
55
+ 508 Second Street, Suite 206
56
+ Davis, CA 95616, USA
57
+
58
+ :xrefstyle: short
59
+ -->
60
+ <cluster xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation =" types types.xsd cluster cluster.xsd" id =" 0x009A" name =" Energy Calendar Cluster" revision =" 3" >
61
+ <revisionHistory >
62
+ <revision revision =" 1" summary =" mandatory global ClusterRevision attribute added; Added from SE1.4; CCB 2068" />
63
+ <revision revision =" 2" summary =" CCB 3042" />
64
+ <revision revision =" 3" summary =" Initial Matter Release" />
65
+ </revisionHistory >
66
+ <clusterIds >
67
+ <clusterId id =" 0x009A" name =" Energy Calendar" />
68
+ </clusterIds >
69
+ <classification hierarchy =" base" role =" application" picsCode =" ECAL" scope =" Endpoint" />
70
+ <features >
71
+ <feature bit =" 0" code =" PTIER" name =" PricingTier" summary =" Supports information about pricing tiers" >
72
+ <optionalConform choice =" a" more =" true" />
73
+ </feature >
74
+ <feature bit =" 1" code =" FCRED" name =" FriendlyCredit" summary =" Supports information about when friendly credit periods begin and end" >
75
+ <optionalConform choice =" a" more =" true" />
76
+ </feature >
77
+ <feature bit =" 2" code =" AUXLD" name =" AuxiliaryLoad" summary =" Supports information about when auxiliary loads should be enabled or disabled" >
78
+ <optionalConform choice =" a" more =" true" />
79
+ </feature >
80
+ <feature bit =" 3" code =" PEAKP" name =" PeakPeriod" summary =" Supports information about peak periods" >
81
+ <optionalConform />
82
+ </feature >
83
+ </features >
84
+ <dataTypes >
85
+ <enum name =" PeakPeriodSeverityEnum" >
86
+ <item value =" 0" name =" Unused" >
87
+ <mandatoryConform />
88
+ </item >
89
+ <item value =" 1" name =" Low" >
90
+ <mandatoryConform />
91
+ </item >
92
+ <item value =" 2" name =" Medium" >
93
+ <mandatoryConform />
94
+ </item >
95
+ <item value =" 3" name =" High" >
96
+ <mandatoryConform />
97
+ </item >
98
+ </enum >
99
+ <bitmap name =" AuxiliaryLoadBitmap" >
100
+ <bitfield name =" AuxiliarySwitch1" bit =" 0" summary =" Auxiliary Switch 1" >
101
+ <mandatoryConform />
102
+ </bitfield >
103
+ <bitfield name =" AuxiliarySwitch2" bit =" 1" summary =" Auxiliary Switch 2" >
104
+ <mandatoryConform />
105
+ </bitfield >
106
+ <bitfield name =" AuxiliarySwitch3" bit =" 2" summary =" Auxiliary Switch 3" >
107
+ <mandatoryConform />
108
+ </bitfield >
109
+ <bitfield name =" AuxiliarySwitch4" bit =" 3" summary =" Auxiliary Switch 4" >
110
+ <mandatoryConform />
111
+ </bitfield >
112
+ <bitfield name =" AuxiliarySwitch5" bit =" 4" summary =" Auxiliary Switch 5" >
113
+ <mandatoryConform />
114
+ </bitfield >
115
+ <bitfield name =" AuxiliarySwitch6" bit =" 5" summary =" Auxiliary Switch 6" >
116
+ <mandatoryConform />
117
+ </bitfield >
118
+ <bitfield name =" AuxiliarySwitch7" bit =" 6" summary =" Auxiliary Switch 7" >
119
+ <mandatoryConform />
120
+ </bitfield >
121
+ <bitfield name =" AuxiliarySwitch8" bit =" 7" summary =" Auxiliary Switch 8" >
122
+ <mandatoryConform />
123
+ </bitfield >
124
+ </bitmap >
125
+ <bitmap name =" TransitionDayOfWeekBitmap" >
126
+ <bitfield name =" Sunday" bit =" 0" summary =" Sunday" >
127
+ <mandatoryConform />
128
+ </bitfield >
129
+ <bitfield name =" Monday" bit =" 1" summary =" Monday" >
130
+ <mandatoryConform />
131
+ </bitfield >
132
+ <bitfield name =" Tuesday" bit =" 2" summary =" Tuesday" >
133
+ <mandatoryConform />
134
+ </bitfield >
135
+ <bitfield name =" Wednesday" bit =" 3" summary =" Wednesday" >
136
+ <mandatoryConform />
137
+ </bitfield >
138
+ <bitfield name =" Thursday" bit =" 4" summary =" Thursday" >
139
+ <mandatoryConform />
140
+ </bitfield >
141
+ <bitfield name =" Friday" bit =" 5" summary =" Friday" >
142
+ <mandatoryConform />
143
+ </bitfield >
144
+ <bitfield name =" Saturday" bit =" 6" summary =" Saturday" >
145
+ <mandatoryConform />
146
+ </bitfield >
147
+ </bitmap >
148
+ <struct name =" Date" >
149
+ <field id =" 0" name =" Year" type =" uint16" >
150
+ <mandatoryConform />
151
+ </field >
152
+ <field id =" 1" name =" Month" type =" uint8" >
153
+ <mandatoryConform />
154
+ <constraint type =" between" from =" 1" to =" 12" />
155
+ </field >
156
+ <field id =" 2" name =" Day" type =" uint8" >
157
+ <mandatoryConform />
158
+ <constraint type =" between" from =" 1" to =" 31" />
159
+ </field >
160
+ <field id =" 3" name =" DayOfWeek" type =" uint8" >
161
+ <mandatoryConform />
162
+ <constraint type =" between" from =" 1" to =" 7" />
163
+ </field >
164
+ </struct >
165
+ <struct name =" CalendarPeriod" >
166
+ <field id =" 0" name =" StartDate" type =" epoch-s" >
167
+ <mandatoryConform />
168
+ </field >
169
+ <field id =" 1" name =" Days" type =" list" >
170
+ <entry type =" DayStruct" />
171
+ <mandatoryConform />
172
+ <constraint type =" minCount" value =" 1" />
173
+ </field >
174
+ </struct >
175
+ <struct name =" DayStruct" >
176
+ <field id =" 0" name =" Date" type =" Date" >
177
+ <optionalConform choice =" a" />
178
+ </field >
179
+ <field id =" 1" name =" DaysOfWeek" type =" TransitionDayOfWeekBitmap" >
180
+ <optionalConform choice =" a" />
181
+ <constraint type =" desc" />
182
+ </field >
183
+ <field id =" 2" name =" Transitions" type =" list" >
184
+ <entry type =" TransitionStruct" />
185
+ <mandatoryConform />
186
+ <constraint type =" minCount" value =" 1" />
187
+ </field >
188
+ <field id =" 3" name =" CalendarID" type =" uint32" >
189
+ <optionalConform choice =" a" />
190
+ </field >
191
+ </struct >
192
+ <struct name =" PeakPeriodStruct" >
193
+ <field id =" 0" name =" Severity" type =" PeakPeriodSeverityEnum" >
194
+ <mandatoryConform />
195
+ </field >
196
+ <field id =" 1" name =" PeakPeriod" type =" uint16" >
197
+ <mandatoryConform />
198
+ </field >
199
+ <field id =" 2" name =" StartTime" type =" epoch-s" >
200
+ <mandatoryConform />
201
+ </field >
202
+ <field id =" 3" name =" EndTime" type =" epoch-s" >
203
+ <mandatoryConform />
204
+ </field >
205
+ </struct >
206
+ <struct name =" TransitionStruct" >
207
+ <field id =" 0" name =" TransitionTime" type =" uint16" >
208
+ <mandatoryConform />
209
+ <constraint type =" between" from =" 0" to =" 1439" />
210
+ </field >
211
+ <field id =" 1" name =" PriceTier" type =" uint32" >
212
+ <optionalConform choice =" a" more =" true" >
213
+ <feature name =" PTIER" />
214
+ </optionalConform >
215
+ </field >
216
+ <field id =" 2" name =" FriendlyCredit" type =" bool" >
217
+ <optionalConform choice =" a" more =" true" >
218
+ <feature name =" FCRED" />
219
+ </optionalConform >
220
+ </field >
221
+ <field id =" 3" name =" AuxiliaryLoad" type =" AuxiliaryLoadBitmap" >
222
+ <optionalConform choice =" a" more =" true" >
223
+ <feature name =" AUXLD" />
224
+ </optionalConform >
225
+ </field >
226
+ </struct >
227
+ </dataTypes >
228
+ <attributes >
229
+ <attribute id =" 0x0000" name =" CalendarID" type =" uint32" default =" null" >
230
+ <access read =" true" readPrivilege =" view" />
231
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
232
+ <mandatoryConform />
233
+ </attribute >
234
+ <attribute id =" 0x0001" name =" Name" type =" string" default =" null" >
235
+ <access read =" true" readPrivilege =" view" />
236
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
237
+ <mandatoryConform />
238
+ <constraint type =" maxLength" value =" 12" />
239
+ </attribute >
240
+ <attribute id =" 0x0002" name =" ProviderID" type =" uint32" default =" null" >
241
+ <access read =" true" readPrivilege =" view" />
242
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
243
+ <mandatoryConform />
244
+ </attribute >
245
+ <attribute id =" 0x0003" name =" EventID" type =" uint32" default =" null" >
246
+ <access read =" true" readPrivilege =" view" />
247
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
248
+ <mandatoryConform />
249
+ </attribute >
250
+ <attribute id =" 0x0004" name =" StartDate" type =" epoch-s" default =" null" >
251
+ <access read =" true" readPrivilege =" view" />
252
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
253
+ <mandatoryConform />
254
+ </attribute >
255
+ <attribute id =" 0x0005" name =" CalendarPeriods" type =" list" default =" empty" >
256
+ <entry type =" CalendarPeriod" />
257
+ <access read =" true" readPrivilege =" view" />
258
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
259
+ <mandatoryConform />
260
+ </attribute >
261
+ <attribute id =" 0x0006" name =" SpecialDays" type =" list" default =" empty" >
262
+ <entry type =" DayStruct" />
263
+ <access read =" true" readPrivilege =" view" />
264
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
265
+ <mandatoryConform />
266
+ </attribute >
267
+ <attribute id =" 0x0007" name =" CurrentDay" type =" DayStruct" default =" null" >
268
+ <access read =" true" readPrivilege =" view" />
269
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
270
+ <mandatoryConform />
271
+ </attribute >
272
+ <attribute id =" 0x0008" name =" NextDay" type =" DayStruct" default =" null" >
273
+ <access read =" true" readPrivilege =" view" />
274
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
275
+ <mandatoryConform />
276
+ </attribute >
277
+ <attribute id =" 0x0009" name =" CurrentTransition" type =" TransitionStruct" default =" null" >
278
+ <access read =" true" readPrivilege =" view" />
279
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
280
+ <mandatoryConform />
281
+ </attribute >
282
+ <attribute id =" 0x000A" name =" CurrentPeakPeriod" type =" PeakPeriodStruct" default =" null" >
283
+ <access read =" true" readPrivilege =" view" />
284
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
285
+ <mandatoryConform >
286
+ <feature name =" PEAKP" />
287
+ </mandatoryConform >
288
+ </attribute >
289
+ <attribute id =" 0x000B" name =" NextPeakPeriod" type =" PeakPeriodStruct" default =" null" >
290
+ <access read =" true" readPrivilege =" view" />
291
+ <quality changeOmitted =" false" nullable =" true" scene =" false" persistence =" volatile" reportable =" false" />
292
+ <mandatoryConform >
293
+ <feature name =" PEAKP" />
294
+ </mandatoryConform >
295
+ </attribute >
296
+ </attributes >
297
+ </cluster >
0 commit comments