-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
Copy pathenergy-calendar-cluster.xml
116 lines (106 loc) · 6.11 KB
/
energy-calendar-cluster.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0"?>
<!--
Copyright (c) 2024 Project CHIP Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<configurator>
<domain name="Energy Management"/>
<bitmap name="AuxiliaryLoadBitmap" type="bitmap8">
<cluster code="0x009A"/>
<field name="AuxiliarySwitch1" mask="0x01"/>
<field name="AuxiliarySwitch2" mask="0x02"/>
<field name="AuxiliarySwitch3" mask="0x04"/>
<field name="AuxiliarySwitch4" mask="0x08"/>
<field name="AuxiliarySwitch5" mask="0x10"/>
<field name="AuxiliarySwitch6" mask="0x20"/>
<field name="AuxiliarySwitch7" mask="0x40"/>
<field name="AuxiliarySwitch8" mask="0x80"/>
</bitmap>
<bitmap name="TransitionDayOfWeekBitmap" type="bitmap8">
<cluster code="0x009A"/>
<field name="Sunday" mask="0x01"/>
<field name="Monday" mask="0x02"/>
<field name="Tuesday" mask="0x04"/>
<field name="Wednesday" mask="0x08"/>
<field name="Thursday" mask="0x10"/>
<field name="Friday" mask="0x20"/>
<field name="Saturday" mask="0x40"/>
</bitmap>
<enum name="PeakPeriodSeverityEnum" type="enum8">
<cluster code="0x009A"/>
<item name="Unused" value="0x00"/>
<item name="Low" value="0x01"/>
<item name="Medium" value="0x02"/>
<item name="High" value="0x03"/>
</enum>
<struct name="CalendarPeriodStruct" apiMaturity="provisional">
<cluster code="0x009A"/>
<item fieldId="0" name="StartDate" type="epoch_s" isNullable="true"/>
<item fieldId="1" name="Days" array="true" type="DayStruct" length="7" minLength="1"/>
</struct>
<struct name="DayStruct" apiMaturity="provisional">
<cluster code="0x009A"/>
<item fieldId="0" name="Date" type="epoch_s" optional="true"/>
<item fieldId="1" name="DaysOfWeek" type="TransitionDayOfWeekBitmap" optional="true" min="0x00" max="0x7F"/>
<item fieldId="2" name="Transitions" array="true" type="TransitionStruct" length="48" minLength="1"/>
<item fieldId="3" name="CalendarID" type="int32u" optional="true"/>
</struct>
<struct name="PeakPeriodStruct" apiMaturity="provisional">
<cluster code="0x009A"/>
<item fieldId="0" name="Severity" type="PeakPeriodSeverityEnum" min="0x00" max="0x03"/>
<item fieldId="1" name="PeakPeriod" type="int16u" default="0"/>
<item fieldId="2" name="StartTime" type="epoch_s" isNullable="true"/>
<item fieldId="3" name="EndTime" type="epoch_s" isNullable="true"/>
</struct>
<struct name="TransitionStruct" apiMaturity="provisional">
<cluster code="0x009A"/>
<item fieldId="0" name="TransitionTime" type="int16u" max="1499"/>
<item fieldId="1" name="PriceTier" type="int32u" optional="true"/>
<item fieldId="2" name="FriendlyCredit" type="boolean" optional="true"/>
<item fieldId="3" name="AuxiliaryLoad" type="AuxiliaryLoadBitmap" optional="true" min="0x00" max="0xFF"/>
</struct>
<cluster>
<domain>Energy Management</domain>
<name>Energy Calendar</name>
<code>0x009A</code>
<define>ENERGY_CALENDAR_CLUSTER</define>
<description>The Energy Calendar Cluster provides a mechanism for communicating schedules associated with various forms of energy consumption</description>
<client init="false" tick="false">true</client>
<features>
<feature bit="0" code="PTIER" name="PricingTier" summary="Supports information about pricing tiers">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="1" code="FCRED" name="FriendlyCredit" summary="Supports information about when friendly credit periods begin and end">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="2" code="AUXLD" name="AuxiliaryLoad" summary="Supports information about when auxiliary loads should be enabled or disabled">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="3" code="PEAKP" name="PeakPeriod" summary="Supports information about peak periods">
<optionalConform/>
</feature>
</features>
<server init="false" tick="false">true</server>
<globalAttribute code="0xFFFD" side="either" value="3"/>
<attribute code="0x0000" side="server" define="CALENDAR_ID" type="int32u" isNullable="true">CalendarID</attribute>
<attribute code="0x0001" side="server" define="NAME" type="char_string" isNullable="true" length="12">Name</attribute>
<attribute code="0x0002" side="server" define="PROVIDER_ID" type="int32u" isNullable="true">ProviderID</attribute>
<attribute code="0x0003" side="server" define="EVENT_ID" type="int32u" isNullable="true">EventID</attribute>
<attribute code="0x0004" side="server" define="START_DATE" type="epoch_s" isNullable="true">StartDate</attribute>
<attribute code="0x0005" side="server" define="CALENDAR_PERIODS" type="array" entryType="CalendarPeriodStruct" isNullable="true" length="4" minLength="1">CalendarPeriods</attribute>
<attribute code="0x0006" side="server" define="SPECIAL_DAYS" type="array" entryType="DayStruct" isNullable="true" length="50">SpecialDays</attribute>
<attribute code="0x0007" side="server" define="CURRENT_DAY" type="DayStruct" isNullable="true">CurrentDay</attribute>
<attribute code="0x0008" side="server" define="NEXT_DAY" type="DayStruct" isNullable="true">NextDay</attribute>
<attribute code="0x0009" side="server" define="CURRENT_TRANSITION" type="TransitionStruct" isNullable="true">CurrentTransition</attribute>
<attribute code="0x000A" side="server" define="CURRENT_PEAK_PERIOD" type="PeakPeriodStruct" isNullable="true" optional="true">CurrentPeakPeriod</attribute>
<attribute code="0x000B" side="server" define="NEXT_PEAK_PERIOD" type="PeakPeriodStruct" isNullable="true" optional="true">NextPeakPeriod</attribute>
</cluster>
</configurator>