Skip to content

Commit 0a0d909

Browse files
Update the specification XML docs to the latest spec (#29967)
* Added a readme about usage of the scraper * Make sure the scraper does not change file paths after chroot changes * Fix the cwd in a better way * Full re-scrape * Restyle * spelling fix * Another typo update --------- Co-authored-by: Andrei Litvin <andreilitvin@google.com>
1 parent 25b2ecd commit 0a0d909

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+5701
-291
lines changed

data_model/README.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## Contents
2+
3+
This folder contains a machine-readable representation of matter clusters.
4+
5+
The XML files inside `clusters` are generated by a `scraper` script out of the
6+
original specification `AsciiDoc` files.
7+
8+
## How to update
9+
10+
The matter specification is not currently public. As such, as script exists to
11+
update the spec XML files, however this is not done automatically.
12+
13+
You will require access to the following tools locally:
14+
15+
- `scraper`. A binary copy generally available
16+
[here](https://github.com/csa-data-model/projects/tree/main/DM-Editor/bin/1.2.0/scrape)
17+
- Specification repository checkout from
18+
https://github.com/CHIP-Specifications/connectedhomeip-spec
19+
20+
Example usage:
21+
22+
```sh
23+
./scripts/spec_xml/generate_spec_xml.py \
24+
--scraper ~/Downloads/scrape-adoc-linux \
25+
--spec-root ~/work/connectedhomeip-spec \
26+
--output-dir data_model
27+
```

data_model/clusters/AccountLogin.xml

+4-4
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@ Davis, CA 95616, USA
6262
<classification hierarchy="base" role="application" picsCode="ALOGIN" scope="Endpoint"/>
6363
<commands>
6464
<command id="0x00" name="GetSetupPIN" response="GetSetupPINResponse">
65-
<access invokePrivilege="admin" timed="true"/>
65+
<access invokePrivilege="admin" fabricScoped="true" timed="true"/>
6666
<mandatoryConform/>
6767
<field id="0" name="TempAccountIdentifier" type="string">
6868
<mandatoryConform/>
6969
<constraint type="lengthBetween" from="16" to="100"/>
7070
</field>
7171
</command>
7272
<command id="0x01" name="GetSetupPINResponse" direction="responseFromServer">
73-
<access invokePrivilege="operate"/>
73+
<access invokePrivilege="operate" fabricScoped="true"/>
7474
<mandatoryConform/>
7575
<field id="0" name="SetupPIN" type="string">
7676
<quality nullable="true"/>
@@ -79,7 +79,7 @@ Davis, CA 95616, USA
7979
</field>
8080
</command>
8181
<command id="0x02" name="Login" response="Y">
82-
<access invokePrivilege="admin" timed="true"/>
82+
<access invokePrivilege="admin" fabricScoped="true" timed="true"/>
8383
<mandatoryConform/>
8484
<field id="0" name="TempAccountIdentifier" type="string">
8585
<mandatoryConform/>
@@ -91,7 +91,7 @@ Davis, CA 95616, USA
9191
</field>
9292
</command>
9393
<command id="0x03" name="Logout" response="Y">
94-
<access invokePrivilege="operate" timed="true"/>
94+
<access invokePrivilege="operate" fabricScoped="true" timed="true"/>
9595
<mandatoryConform/>
9696
</command>
9797
</commands>

data_model/clusters/BasicInformationCluster.xml

+14-1
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,11 @@ Connectivity Standards Alliance
5555
508 Second Street, Suite 206
5656
Davis, CA 95616, USA
5757
-->
58-
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0028" name="Basic Information" revision="2">
58+
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0028" name="Basic Information" revision="3">
5959
<revisionHistory>
6060
<revision revision="1" summary="Initial Release"/>
6161
<revision revision="2" summary="Added ProductAppearance attribute"/>
62+
<revision revision="3" summary="Added SpecificationVersion and MaxPathsPerInvoke attributes"/>
6263
</revisionHistory>
6364
<classification hierarchy="base" role="utility" picsCode="BINFO" scope="Node"/>
6465
<dataTypes>
@@ -287,6 +288,18 @@ Davis, CA 95616, USA
287288
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
288289
<optionalConform/>
289290
</attribute>
291+
<attribute id="0x0015" name="SpecificationVersion" type="uint32" default="0">
292+
<access read="true" readPrivilege="view"/>
293+
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
294+
<mandatoryConform/>
295+
<constraint type="desc"/>
296+
</attribute>
297+
<attribute id="0x0016" name="MaxPathsPerInvoke" type="uint16" default="1">
298+
<access read="true" readPrivilege="view"/>
299+
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/>
300+
<mandatoryConform/>
301+
<constraint type="min" value="1"/>
302+
</attribute>
290303
</attributes>
291304
<events>
292305
<event id="0x00" name="StartUp" priority="critical">
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
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+
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0080" name="Boolean Sensor Configuration" revision="1">
59+
<revisionHistory>
60+
<revision revision="1" summary="Initial Release"/>
61+
</revisionHistory>
62+
<classification hierarchy="base" role="application" picsCode="BSENCFG" scope="Endpoint"/>
63+
<features>
64+
<feature bit="0" code="VIS" name="Visual" summary="Supports visual alarms">
65+
<optionalConform/>
66+
</feature>
67+
<feature bit="1" code="AUD" name="Audible" summary="Supports audible alarms">
68+
<optionalConform/>
69+
</feature>
70+
<feature bit="2" code="SPRS" name="AlarmSuppress" summary="Supports ability to suppress or acknowledge alarms">
71+
<optionalConform/>
72+
</feature>
73+
<feature bit="3" code="SENSLVL" name="SensitivityLevel" summary="Supports ability to set level of threshold detection sensitivity">
74+
<optionalConform/>
75+
</feature>
76+
</features>
77+
<dataTypes>
78+
<enum name="SensitivityEnum">
79+
<item value="0" name="High" summary="High sensitivity">
80+
<mandatoryConform>
81+
<feature name="SENSLVL"/>
82+
</mandatoryConform>
83+
</item>
84+
<item value="1" name="Standard" summary="Standard Sensitivity">
85+
<mandatoryConform>
86+
<feature name="SENSLVL"/>
87+
</mandatoryConform>
88+
</item>
89+
<item value="2" name="Low" summary="Low sensitivity">
90+
<mandatoryConform>
91+
<feature name="SENSLVL"/>
92+
</mandatoryConform>
93+
</item>
94+
</enum>
95+
<bitmap name="AlarmModeBitmap">
96+
<bitfield name="Visual" bit="0" summary="Visual alarming">
97+
<mandatoryConform>
98+
<feature name="VIS"/>
99+
</mandatoryConform>
100+
</bitfield>
101+
<bitfield name="Audible" bit="1" summary="Audible alarming">
102+
<mandatoryConform>
103+
<feature name="AUD"/>
104+
</mandatoryConform>
105+
</bitfield>
106+
</bitmap>
107+
</dataTypes>
108+
<attributes>
109+
<attribute id="0x0000" name="SensitivityLevel" type="SensitivityEnum" default="Standard">
110+
<access read="true" write="true" readPrivilege="view" writePrivilege="operate"/>
111+
<quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
112+
<mandatoryConform>
113+
<feature name="SENSLVL"/>
114+
</mandatoryConform>
115+
</attribute>
116+
<attribute id="0x0001" name="AlarmsActive" type="AlarmModeBitmap">
117+
<access read="true" readPrivilege="view"/>
118+
<quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
119+
<mandatoryConform>
120+
<orTerm>
121+
<feature name="VIS"/>
122+
<feature name="AUD"/>
123+
</orTerm>
124+
</mandatoryConform>
125+
</attribute>
126+
<attribute id="0x0002" name="AlarmsSuppressed" type="AlarmModeBitmap">
127+
<access read="true" readPrivilege="view"/>
128+
<quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
129+
<mandatoryConform>
130+
<andTerm>
131+
<orTerm>
132+
<feature name="VIS"/>
133+
<feature name="AUD"/>
134+
</orTerm>
135+
<feature name="SPRS"/>
136+
</andTerm>
137+
</mandatoryConform>
138+
</attribute>
139+
<attribute id="0x0003" name="AlarmsEnabled" type="AlarmModeBitmap">
140+
<access read="true" write="true" readPrivilege="view" writePrivilege="operate"/>
141+
<quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/>
142+
<mandatoryConform>
143+
<orTerm>
144+
<feature name="VIS"/>
145+
<feature name="AUD"/>
146+
</orTerm>
147+
</mandatoryConform>
148+
</attribute>
149+
</attributes>
150+
<commands>
151+
<command id="0x00" name="SuppressRequest" response="Y">
152+
<access invokePrivilege="operate"/>
153+
<mandatoryConform>
154+
<feature name="SPRS"/>
155+
</mandatoryConform>
156+
<field id="0" name="AlarmsToSuppress" type="AlarmModeBitmap">
157+
<mandatoryConform/>
158+
</field>
159+
</command>
160+
</commands>
161+
<events>
162+
<event id="0x00" name="AlarmsStateChanged" priority="info">
163+
<access readPrivilege="view"/>
164+
<mandatoryConform>
165+
<orTerm>
166+
<feature name="VIS"/>
167+
<feature name="AUD"/>
168+
</orTerm>
169+
</mandatoryConform>
170+
<field id="0" name="AlarmsActive" type="AlarmModeBitmap">
171+
<mandatoryConform/>
172+
</field>
173+
<field id="1" name="AlarmsSuppressed" type="AlarmModeBitmap">
174+
<mandatoryConform>
175+
<feature name="SPRS"/>
176+
</mandatoryConform>
177+
</field>
178+
</event>
179+
<event id="0x01" name="SensorFault" priority="info">
180+
<access readPrivilege="view"/>
181+
<optionalConform/>
182+
</event>
183+
</events>
184+
</cluster>
+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
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+
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0510" name="Content App Observer" revision="1">
59+
<revisionHistory>
60+
<revision revision="1" summary="Initial Release"/>
61+
</revisionHistory>
62+
<classification hierarchy="base" role="application" picsCode="CONTENTAPPOBSERVER" scope="Endpoint"/>
63+
<dataTypes>
64+
<enum name="StatusEnum">
65+
<item value="0" name="Success" summary="Command succeeded">
66+
<mandatoryConform/>
67+
</item>
68+
<item value="1" name="UnexpectedData" summary="Data field in command was not understood by the Observer">
69+
<mandatoryConform/>
70+
</item>
71+
</enum>
72+
</dataTypes>
73+
<commands>
74+
<command id="0x00" name="ContentAppMessage" response="ContentAppMessageResponse">
75+
<access invokePrivilege="operate"/>
76+
<mandatoryConform/>
77+
<field id="0" name="Data" type="string">
78+
<mandatoryConform/>
79+
</field>
80+
<field id="1" name="EncodingHint" type="string">
81+
<optionalConform/>
82+
</field>
83+
</command>
84+
<command id="0x01" name="ContentAppMessageResponse" direction="responseFromServer">
85+
<access invokePrivilege="operate"/>
86+
<mandatoryConform/>
87+
<field id="0" name="Status" type="StatusEnum">
88+
<mandatoryConform/>
89+
</field>
90+
<field id="1" name="Data" type="string">
91+
<optionalConform/>
92+
</field>
93+
<field id="2" name="EncodingHint" type="string">
94+
<optionalConform/>
95+
</field>
96+
</command>
97+
</commands>
98+
</cluster>

0 commit comments

Comments
 (0)