Skip to content

Commit 2186357

Browse files
hicklinjohnfierke
andauthored
Add definitions for common HomeLocationStruct and types - see connect… (#33569)
* Add definitions for common HomeLocationStruct and types - see connectedhomeip-spec PR 8933 * Fix Carport typo, remove IsGroundFloor field (spec change) * Update home location definitions per spec PR 8933 commit f04958166412d5b7eff4d3443273f47f12f22baf 2024-05-23 * update generated files * Regenerated zap files after merge. * Moved the AreaTypeTag namespace definition to namespaces.xml. * Moved the HomeLoc global struct into global-sturcts.xml. * Updated the AreaTypeTag namespace to match the latest spec definition. * Updated the AreaTypeTag namespace to match the latest spec definition. * Updated the matterlint rules with the changes in the xml files. * Reverted changes to the rvc zap file. * Addded global xml files to relevant lists of xmls. * Added the Position, Landmark and Floor Surface Namespaces. * Explicitly set the conformance. * Added github issue to a comment. * Renamed namespaces.xml to semantic-tag-namespace-enums.xml. * Missed some rename locations. --------- Co-authored-by: jfierke@irobot.com <jfierke@irobot.com>
1 parent edf1118 commit 2186357

File tree

7 files changed

+283
-0
lines changed

7 files changed

+283
-0
lines changed

.github/workflows/tests.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ jobs:
9191
--no-print \
9292
--log-level info \
9393
src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \
94+
src/app/zap-templates/zcl/data-model/chip/global-structs.xml \
95+
src/app/zap-templates/zcl/data-model/chip/semantic-tag-namespace-enums.xml \
9496
src/app/zap-templates/zcl/data-model/chip/access-control-definitions.xml \
9597
src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml \
9698
src/app/zap-templates/zcl/data-model/chip/account-login-cluster.xml \

scripts/rules.matterlint

+2
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/flow-measurement-cluster.xml"
4242
load "../src/app/zap-templates/zcl/data-model/chip/general-commissioning-cluster.xml";
4343
load "../src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml";
4444
load "../src/app/zap-templates/zcl/data-model/chip/global-attributes.xml";
45+
load "../src/app/zap-templates/zcl/data-model/chip/global-structs.xml";
4546
load "../src/app/zap-templates/zcl/data-model/chip/groups-cluster.xml";
4647
load "../src/app/zap-templates/zcl/data-model/chip/group-key-mgmt-cluster.xml";
4748
load "../src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml";
@@ -58,6 +59,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml";
5859
load "../src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml";
5960
load "../src/app/zap-templates/zcl/data-model/chip/mode-base-cluster.xml";
6061
load "../src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml";
62+
load "../src/app/zap-templates/zcl/data-model/chip/semantic-tag-namespace-enums.xml";
6163
load "../src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml";
6264
load "../src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml";
6365
load "../src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml";

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

+2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
<xi:include href="chip/general-commissioning-cluster.xml" />
4646
<xi:include href="chip/general-diagnostics-cluster.xml" />
4747
<xi:include href="chip/global-attributes.xml" />
48+
<xi:include href="chip/global-structs.xml" />
4849
<xi:include href="chip/groups-cluster.xml" />
4950
<xi:include href="chip/group-key-mgmt-cluster.xml" />
5051
<xi:include href="chip/icd-management-cluster.xml" />
@@ -61,6 +62,7 @@
6162
<xi:include href="chip/messages-cluster.xml" />
6263
<xi:include href="chip/mode-base-cluster.xml" />
6364
<xi:include href="chip/mode-select-cluster.xml" />
65+
<xi:include href="chip/semantic-tag-namespace-enums.xml" />
6466
<xi:include href="chip/network-commissioning-cluster.xml" />
6567
<xi:include href="chip/occupancy-sensing-cluster.xml" />
6668
<xi:include href="chip/onoff-cluster.xml" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
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+
18+
<!--
19+
TODO: Make these structures global rather than defining them for each cluster.
20+
This depends on the ability to define global structs via XML tags.
21+
see: https://github.com/project-chip/connectedhomeip/issues/29818
22+
-->
23+
24+
<configurator>
25+
<domain name="CHIP"/>
26+
<struct name="HomeLocationStruct">
27+
<cluster code="0x0150"/> <!-- Service Area Cluster -->
28+
<!-- TODO: add Basic Information Cluster code="0x0028" -->
29+
30+
<item fieldId="0" name="LocationName" type="char_string" length="128" isNullable="false" optional="false"/>
31+
<item fieldId="1" name="FloorNumber" type="int16s" isNullable="true" optional="false"/>
32+
<item fieldId="2" name="AreaType" type="AreaTypeTag" isNullable="true" optional="false"/>
33+
</struct>
34+
</configurator>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
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+
18+
19+
<!--
20+
TODO: Make these namespace enums global rather than defining them for each cluster.
21+
This depends on the ability to define global enums via XML tags.
22+
See issue [#29818](https://github.com/project-chip/connectedhomeip/issues/29818).
23+
-->
24+
25+
26+
<configurator>
27+
<enum name="PositionTag" type="enum8">
28+
<cluster code="0x0150"/>
29+
<item value="0x00" name="Left"/>
30+
<item value="0x01" name="Right"/>
31+
<item value="0x02" name="Top"/>
32+
<item value="0x03" name="Bottom"/>
33+
<item value="0x04" name="Middle"/>
34+
<item value="0x05" name="Row"/>
35+
<item value="0x06" name="Column"/>
36+
<item value="0x07" name="Under"/>
37+
<item value="0x08" name="Next To"/>
38+
<item value="0x09" name="Around"/>
39+
<item value="0x0A" name="On"/>
40+
<item value="0x0B" name="Above"/>
41+
<item value="0x0C" name="Front Of"/>
42+
<item value="0x0D" name="Behind"/>
43+
</enum>
44+
45+
<enum name="AreaTypeTag" type="enum8">
46+
<cluster code="0x0150"/> <!-- Service Area Cluster -->
47+
<!-- TODO: add Basic Information Cluster code="0x0028" -->
48+
49+
<item value="0x00" name="Aisle"/>
50+
<item value="0x01" name="Attic"/>
51+
<item value="0x02" name="Back Door"/>
52+
<item value="0x03" name="Back Yard"/>
53+
<item value="0x04" name="Balcony"/>
54+
<item value="0x05" name="Ballroom"/>
55+
<item value="0x06" name="Bathroom"/>
56+
<item value="0x07" name="Bedroom"/>
57+
<item value="0x08" name="Border"/>
58+
<item value="0x09" name="Boxroom"/>
59+
<item value="0x0A" name="Breakfast Room"/>
60+
<item value="0x0B" name="Carport"/>
61+
<item value="0x0C" name="Cellar"/>
62+
<item value="0x0D" name="Cloakroom"/>
63+
<item value="0x0E" name="Closet"/>
64+
<item value="0x0F" name="Conservatory"/>
65+
66+
<item value="0x10" name="Corridor"/>
67+
<item value="0x11" name="Craft Room"/>
68+
<item value="0x12" name="Cupboard"/>
69+
<item value="0x13" name="Deck"/>
70+
<item value="0x14" name="Den"/>
71+
<item value="0x15" name="Dining"/>
72+
<item value="0x16" name="Drawing Room"/>
73+
<item value="0x17" name="Dressing Room"/>
74+
<item value="0x18" name="Driveway"/>
75+
<item value="0x19" name="Elevator"/>
76+
<item value="0x1A" name="Ensuite"/>
77+
<item value="0x1B" name="Entrance"/>
78+
<item value="0x1C" name="Entryway"/>
79+
<item value="0x1D" name="Family Room"/>
80+
<item value="0x1E" name="Foyer"/>
81+
<item value="0x1F" name="Front Door"/>
82+
83+
<item value="0x20" name="Front Yard"/>
84+
<item value="0x21" name="Game Room"/>
85+
<item value="0x22" name="Garage"/>
86+
<item value="0x23" name="Garage Door"/>
87+
<item value="0x24" name="Garden"/>
88+
<item value="0x25" name="Garden Door"/>
89+
<item value="0x26" name="Guest Bathroom"/>
90+
<item value="0x27" name="Guest Bedroom"/>
91+
<item value="0x28" name="Guest Restroom"/>
92+
<item value="0x29" name="Guest Room"/>
93+
<item value="0x2A" name="Gym"/>
94+
<item value="0x2B" name="Hallway"/>
95+
<item value="0x2C" name="Hearth Room"/>
96+
<item value="0x2D" name="Kids Room"/>
97+
<item value="0x2E" name="Kids Bedroom"/>
98+
<item value="0x2F" name="Kitchen"/>
99+
100+
<item value="0x30" name="Larder"/>
101+
<item value="0x31" name="Laundry Room"/>
102+
<item value="0x32" name="Lawn"/>
103+
<item value="0x33" name="Library"/>
104+
<item value="0x34" name="Living Room"/>
105+
<item value="0x35" name="Lounge"/>
106+
<item value="0x36" name="Media/TV Room"/>
107+
<item value="0x37" name="Mud Room"/>
108+
<item value="0x38" name="Music Room"/>
109+
<item value="0x39" name="Nursery"/>
110+
<item value="0x3A" name="Office"/>
111+
<item value="0x3B" name="Outdoor Kitchen"/>
112+
<item value="0x3C" name="Outside"/>
113+
<item value="0x3D" name="Pantry"/>
114+
<item value="0x3E" name="Parking Lot"/>
115+
<item value="0x3F" name="Parlor"/>
116+
117+
<item value="0x40" name="Patio"/>
118+
<item value="0x41" name="Play Room"/>
119+
<item value="0x42" name="Pool Room"/>
120+
<item value="0x43" name="Porch"/>
121+
<item value="0x44" name="Primary Bathroom"/>
122+
<item value="0x45" name="Primary Bedroom"/>
123+
<item value="0x46" name="Ramp"/>
124+
<item value="0x47" name="Reception Room"/>
125+
<item value="0x48" name="Recreation Room"/>
126+
<item value="0x49" name="Restroom"/>
127+
<item value="0x4A" name="Roof"/>
128+
<item value="0x4B" name="Sauna"/>
129+
<item value="0x4C" name="Scullery"/>
130+
<item value="0x4D" name="Sewing Room"/>
131+
<item value="0x4E" name="Shed"/>
132+
<item value="0x4F" name="Side Door"/>
133+
134+
<item value="0x50" name="Side Yard"/>
135+
<item value="0x51" name="Sitting Room"/>
136+
<item value="0x52" name="Snug"/>
137+
<item value="0x53" name="Spa"/>
138+
<item value="0x54" name="Staircase"/>
139+
<item value="0x55" name="Steam Room"/>
140+
<item value="0x56" name="Storage Room"/>
141+
<item value="0x57" name="Studio"/>
142+
<item value="0x58" name="Study"/>
143+
<item value="0x59" name="Sun Room"/>
144+
<item value="0x5A" name="Swimming Pool"/>
145+
<item value="0x5B" name="Terrace"/>
146+
<item value="0x5C" name="Utility Room"/>
147+
<item value="0x5D" name="Ward"/>
148+
<item value="0x5E" name="Workshop"/>
149+
</enum>
150+
151+
<enum name="LandmarkTag" type="enum8">
152+
<cluster code="0x0150"/>
153+
<item value="0x00" name="Air Conditioner"/>
154+
<item value="0x01" name="Air Purifier"/>
155+
<item value="0x02" name="Back Door"/>
156+
<item value="0x03" name="Bar Stool"/>
157+
<item value="0x04" name="Bath Mat"/>
158+
<item value="0x05" name="Bathtub"/>
159+
<item value="0x06" name="Bed"/>
160+
<item value="0x07" name="Bookshelf"/>
161+
<item value="0x08" name="Chair"/>
162+
<item value="0x09" name="Christmas Tree"/>
163+
<item value="0x0A" name="Coat Rack"/>
164+
<item value="0x0B" name="Coffee Table"/>
165+
<item value="0x0C" name="Cooking Range"/>
166+
<item value="0x0D" name="Couch"/>
167+
<item value="0x0E" name="Countertop"/>
168+
<item value="0x0F" name="Cradle"/>
169+
170+
<item value="0x10" name="Crib"/>
171+
<item value="0x11" name="Desk"/>
172+
<item value="0x12" name="Dining Table"/>
173+
<item value="0x13" name="Dishwasher"/>
174+
<item value="0x14" name="Door"/>
175+
<item value="0x15" name="Dresser"/>
176+
<item value="0x16" name="Laundry Dryer"/>
177+
<item value="0x17" name="Fan"/>
178+
<item value="0x18" name="Fireplace"/>
179+
<item value="0x19" name="Freezer"/>
180+
<item value="0x1A" name="Front Door"/>
181+
<item value="0x1B" name="High Chair"/>
182+
<item value="0x1C" name="Kitchen Island"/>
183+
<item value="0x1D" name="Lamp"/>
184+
<item value="0x1E" name="Litter Box"/>
185+
<item value="0x1F" name="Mirror"/>
186+
187+
<item value="0x20" name="Nightstand"/>
188+
<item value="0x21" name="Oven"/>
189+
<item value="0x22" name="Pet Bed"/>
190+
<item value="0x23" name="Pet Bowl"/>
191+
<item value="0x24" name="Pet Crate"/>
192+
<item value="0x25" name="Refrigerator"/>
193+
<item value="0x26" name="Scratching Post"/>
194+
<item value="0x27" name="Shoe Rack"/>
195+
<item value="0x28" name="Shower"/>
196+
<item value="0x29" name="Side Door"/>
197+
<item value="0x2A" name="Sink"/>
198+
<item value="0x2B" name="Sofa"/>
199+
<item value="0x2C" name="Stove"/>
200+
<item value="0x2D" name="Table"/>
201+
<item value="0x2E" name="Toilet"/>
202+
<item value="0x2F" name="Trash Can"/>
203+
204+
<item value="0x30" name="Laundry Washer"/>
205+
<item value="0x31" name="Window"/>
206+
<item value="0x32" name="Wine Cooler"/>
207+
</enum>
208+
209+
<enum name="FloorSurfaceTag" type="enum8">
210+
<cluster code="0x0150"/>
211+
<item value="0x00" name="Carpet"/>
212+
<item value="0x01" name="Ceramic"/>
213+
<item value="0x02" name="Concrete"/>
214+
<item value="0x03" name="Cork"/>
215+
<item value="0x04" name="Deep Carpet"/>
216+
<item value="0x05" name="Dirt"/>
217+
<item value="0x06" name="Engineered Wood"/>
218+
<item value="0x07" name="Glass"/>
219+
<item value="0x08" name="Grass"/>
220+
<item value="0x09" name="Hardwood"/>
221+
<item value="0x0A" name="Laminate"/>
222+
<item value="0x0B" name="Linoleum"/>
223+
<item value="0x0C" name="Mat"/>
224+
<item value="0x0D" name="Metal"/>
225+
<item value="0x0E" name="Plastic"/>
226+
<item value="0x0F" name="Polished Concrete"/>
227+
228+
<item value="0x10" name="Rubber"/>
229+
<item value="0x11" name="Rug"/>
230+
<item value="0x12" name="Sand"/>
231+
<item value="0x13" name="Stone"/>
232+
<item value="0x14" name="Tatami"/>
233+
<item value="0x15" name="Terrazzo"/>
234+
<item value="0x16" name="Tile"/>
235+
<item value="0x17" name="Vinyl"/>
236+
</enum>
237+
238+
239+
</configurator>

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

+2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"general-commissioning-cluster.xml",
6262
"general-diagnostics-cluster.xml",
6363
"global-attributes.xml",
64+
"global-structs.xml",
6465
"groups-cluster.xml",
6566
"group-key-mgmt-cluster.xml",
6667
"icd-management-cluster.xml",
@@ -80,6 +81,7 @@
8081
"mode-base-cluster.xml",
8182
"mode-select-cluster.xml",
8283
"mode-select-extensions.xml",
84+
"semantic-tag-namespace-enums.xml",
8385
"network-commissioning-cluster.xml",
8486
"occupancy-sensing-cluster.xml",
8587
"onoff-cluster.xml",

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

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
"general-commissioning-cluster.xml",
6060
"general-diagnostics-cluster.xml",
6161
"global-attributes.xml",
62+
"global-structs.xml",
6263
"groups-cluster.xml",
6364
"group-key-mgmt-cluster.xml",
6465
"icd-management-cluster.xml",
@@ -77,6 +78,7 @@
7778
"messages-cluster.xml",
7879
"mode-base-cluster.xml",
7980
"mode-select-cluster.xml",
81+
"semantic-tag-namespace-enums.xml",
8082
"network-commissioning-cluster.xml",
8183
"occupancy-sensing-cluster.xml",
8284
"onoff-cluster.xml",

0 commit comments

Comments
 (0)