Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3718983
Introduce device type requirement test step in IDM-10.5
AryaHassanli Mar 23, 2026
617535f
Restyled by ruff
restyled-commits Mar 23, 2026
de78234
Restyled by autopep8
restyled-commits Mar 23, 2026
c585edf
Support allowed constraint
AryaHassanli Mar 23, 2026
c120a26
fix mypy error
AryaHassanli Mar 23, 2026
65dfb83
Keep device_type_check untouched
AryaHassanli Mar 23, 2026
3e2fd39
Limit the test for 1.6 and above
AryaHassanli Mar 24, 2026
796a766
Restyled by autopep8
restyled-commits Mar 24, 2026
6060661
Restyled by isort
restyled-commits Mar 24, 2026
a610183
Merge branch 'master' into device-type-req-step-idm-10-5
AryaHassanli May 12, 2026
e45ee93
Test composed device types
AryaHassanli May 13, 2026
fea6963
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 13, 2026
add5515
Merge branch 'master' into device-type-req-step-idm-10-5
AryaHassanli May 26, 2026
a72524c
Update composed device type xmls
AryaHassanli May 27, 2026
0f2d955
Update test step to support complex composed device type and element …
AryaHassanli May 27, 2026
39049b3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 27, 2026
65c9a5f
Restyled by whitespace
restyled-commits May 27, 2026
6cd2a43
Fix py findings
AryaHassanli May 27, 2026
c9dd96b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 27, 2026
cfffde2
Support deviceTypeLocation
AryaHassanli May 27, 2026
18e534d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 27, 2026
b2175d8
Unittest overrides
AryaHassanli May 27, 2026
eaf7c93
Merge branch 'device-type-req-step-idm-10-5' of github.com:AryaHassan…
AryaHassanli May 27, 2026
8cf923f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions data_model/1.6/device_types/AirPurifier.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,18 @@ Davis, CA 95616, USA
<mandatoryConform/>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x002C" deviceTypeName="Air Quality Sensor" deviceTypeLocation="anywhere">
<optionalConform/>
</deviceType>
<deviceType deviceTypeId="0x0307" deviceTypeName="Humidity Sensor" deviceTypeLocation="anywhere">
<optionalConform/>
</deviceType>
<deviceType deviceTypeId="0x0302" deviceTypeName="Temperature Sensor" deviceTypeLocation="anywhere">
<optionalConform/>
</deviceType>
<deviceType deviceTypeId="0x0301" deviceTypeName="Thermostat" deviceTypeLocation="anywhere">
<optionalConform/>
</deviceType>
</composedDeviceTypes>
</deviceType>
168 changes: 161 additions & 7 deletions data_model/1.6/device_types/BatteryStorage.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,26 +69,180 @@ Davis, CA 95616, USA
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0510" deviceTypeName="Electrical Sensor">
<deviceType deviceTypeId="0x050D" deviceTypeName="Device Energy Management" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<clusterRequirements>
<cluster id="0x0090" name="Electrical Power Measurement">
<mandatoryConform/>
<cluster id="0x0098" name="Device Energy Management">
<features>
<feature code="PA">
<mandatoryConform/>
</feature>
</features>
</cluster>
</clusterRequirements>
</deviceType>
<deviceType deviceTypeId="0x0510" deviceTypeName="Electrical Sensor" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<constraint>
<min value="2"/>
</constraint>
</deviceType>
<deviceType deviceTypeId="0x0510" deviceTypeName="Electrical Sensor" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<clusterRequirements>
<cluster id="0x001D" name="Descriptor">
<features>
<feature code="TAGLIST">
<mandatoryConform/>
</feature>
</features>
</cluster>
<cluster id="0x0090" name="Electrical Power Measurement">
<mandatoryConform/>
<features>
<feature code="ALTC">
<mandatoryConform/>
</feature>
</features>
<attributes>
<attribute code="0x0004" name="Voltage">
<mandatoryConform/>
</attribute>
<attribute code="0x0005" name="ActiveCurrent">
<mandatoryConform/>
</attribute>
</attributes>
</cluster>
<cluster id="0x0091" name="Electrical Energy Measurement">
<mandatoryConform/>
<features>
<feature code="EXPE">
<mandatoryConform/>
</feature>
</features>
</cluster>
</clusterRequirements>
</deviceType>
<deviceType deviceTypeId="0x0510" deviceTypeName="Electrical Sensor" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<clusterRequirements>
<cluster id="0x001D" name="Descriptor">
<features>
<feature code="TAGLIST">
<mandatoryConform/>
</feature>
</features>
</cluster>
<cluster id="0x0090" name="Electrical Power Measurement">
<mandatoryConform/>
<features>
<feature code="DIRC">
<mandatoryConform/>
</feature>
</features>
<attributes>
<attribute code="0x0004" name="Voltage">
<mandatoryConform/>
</attribute>
<attribute code="0x0005" name="ActiveCurrent">
<mandatoryConform/>
</attribute>
</attributes>
</cluster>
<cluster id="0x0091" name="Electrical Energy Measurement">
<mandatoryConform/>
<features>
<feature code="EXPE">
<mandatoryConform/>
</feature>
</features>
</cluster>
</clusterRequirements>
</deviceType>
</composedDeviceTypes>
<composedDeviceTypes>
<cluster id="0x0003" name="Identify" side="server">
<deviceType deviceTypeId="0x0011" deviceTypeName="Power Source" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<constraint>
<min value="2"/>
</constraint>
</deviceType>
<deviceType deviceTypeId="0x0011" deviceTypeName="Power Source" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<clusterRequirements>
<cluster id="0x001D" name="Descriptor">
<features>
<feature code="TAGLIST">
<mandatoryConform/>
</feature>
</features>
</cluster>
<cluster id="0x002F" name="Power Source">
<features>
<feature code="WIRED">
<mandatoryConform/>
</feature>
</features>
</cluster>
</clusterRequirements>
</deviceType>
<deviceType deviceTypeId="0x0011" deviceTypeName="Power Source" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<clusterRequirements>
<cluster id="0x001D" name="Descriptor">
<features>
<feature code="TAGLIST">
<mandatoryConform/>
</feature>
</features>
</cluster>
<cluster id="0x002F" name="Power Source">
<features>
<feature code="BAT">
<mandatoryConform/>
</feature>
</features>
<attributes>
<attribute code="0x000B" name="BatVoltage">
<mandatoryConform/>
</attribute>
<attribute code="0x000C" name="BatPercentRemaining">
<mandatoryConform/>
</attribute>
<attribute code="0x000D" name="BatTimeRemaining">
<mandatoryConform/>
</attribute>
<attribute code="0x0012" name="ActiveBatFaults">
<mandatoryConform/>
</attribute>
<attribute code="0x0018" name="BatCapacity">
<mandatoryConform/>
</attribute>
<attribute code="0x001B" name="BatTimeToFullCharge">
<mandatoryConform/>
</attribute>
<attribute code="0x001D" name="BatChargingCurrent">
<mandatoryConform/>
</attribute>
<attribute code="0x001E" name="ActiveBatChargeFaults">
<mandatoryConform/>
</attribute>
</attributes>
</cluster>
</clusterRequirements>
</deviceType>
<deviceType deviceTypeId="0x0017" deviceTypeName="Solar Power" deviceTypeLocation="childEndpoint">
<optionalConform/>
</cluster>
</deviceType>
<deviceType deviceTypeId="0x0302" deviceTypeName="Temperature Sensor" deviceTypeLocation="childEndpoint">
<optionalConform/>
<clusterRequirements>
<cluster id="0x001D" name="Descriptor">
<features>
<feature code="TAGLIST">
<mandatoryConform/>
</feature>
</features>
</cluster>
</clusterRequirements>
</deviceType>
</composedDeviceTypes>
</deviceType>
5 changes: 5 additions & 0 deletions data_model/1.6/device_types/BridgedNode.xml
Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,9 @@ Davis, CA 95616, USA
</otherwiseConform>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0011" deviceTypeName="Power Source" deviceTypeLocation="deviceEndpoint">
<optionalConform/>
</deviceType>
</composedDeviceTypes>
</deviceType>
5 changes: 5 additions & 0 deletions data_model/1.6/device_types/Camera.xml
Original file line number Diff line number Diff line change
Expand Up @@ -132,4 +132,9 @@ Davis, CA 95616, USA
<optionalConform/>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0107" deviceTypeName="Occupancy Sensor" deviceTypeLocation="childEndpoint">
<optionalConform/>
</deviceType>
</composedDeviceTypes>
</deviceType>
11 changes: 11 additions & 0 deletions data_model/1.6/device_types/Closure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,15 @@ Davis, CA 95616, USA
<disallowConform/>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0231" deviceTypeName="Closure Panel" deviceTypeLocation="childEndpoint">
<optionalConform/>
</deviceType>
<deviceType deviceTypeId="0x000A" deviceTypeName="Door Lock" deviceTypeLocation="childEndpoint">
<optionalConform/>
</deviceType>
<deviceType deviceTypeId="0x0100" deviceTypeName="On/Off Light" deviceTypeLocation="childEndpoint">
<optionalConform/>
</deviceType>
</composedDeviceTypes>
</deviceType>
8 changes: 8 additions & 0 deletions data_model/1.6/device_types/Cooktop.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,12 @@ Davis, CA 95616, USA
</features>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0077" deviceTypeName="Cook Surface" deviceTypeLocation="childEndpoint">
<optionalConform/>
<constraint>
<min value="1"/>
</constraint>
</deviceType>
</composedDeviceTypes>
</deviceType>
42 changes: 28 additions & 14 deletions data_model/1.6/device_types/EVSE.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,29 @@ Davis, CA 95616, USA
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0510" deviceTypeName="Electrical Sensor">
<deviceType deviceTypeId="0x050D" deviceTypeName="Device Energy Management" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<constraint>
<min value="1"/>
</constraint>
<clusterRequirements>
<cluster id="0x0098" name="Device Energy Management">
<features>
<feature code="PFR">
<mandatoryConform/>
</feature>
<feature code="PA">
<describedConform/>
</feature>
</features>
</cluster>
</clusterRequirements>
</deviceType>
<deviceType deviceTypeId="0x0510" deviceTypeName="Electrical Sensor" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<constraint>
<min value="1"/>
</constraint>
<clusterRequirements>
<cluster id="0x0090" name="Electrical Power Measurement">
<mandatoryConform/>
Expand All @@ -88,19 +110,11 @@ Davis, CA 95616, USA
</cluster>
</clusterRequirements>
</deviceType>
</composedDeviceTypes>
<composedDeviceTypes>
<cluster id="0x0003" name="Identify" side="server">
<optionalConform/>
</cluster>
<cluster id="0x0099" name="Energy EVSE" side="server">
<mandatoryConform/>
</cluster>
<cluster id="0x009D" name="Energy EVSE Mode" side="server">
<deviceType deviceTypeId="0x0011" deviceTypeName="Power Source" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
</cluster>
<cluster id="0x0402" name="Temperature Measurement" side="server">
<optionalConform/>
</cluster>
<constraint>
<min value="1"/>
</constraint>
</deviceType>
</composedDeviceTypes>
</deviceType>
8 changes: 8 additions & 0 deletions data_model/1.6/device_types/ElectricalMeter.xml
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,12 @@ Davis, CA 95616, USA
</otherwiseConform>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0510" deviceTypeName="Electrical Sensor" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<constraint>
<min value="1"/>
</constraint>
</deviceType>
</composedDeviceTypes>
</deviceType>
5 changes: 5 additions & 0 deletions data_model/1.6/device_types/ExtractorHood.xml
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,9 @@ Davis, CA 95616, USA
</features>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0100" deviceTypeName="On/Off Light" deviceTypeLocation="childEndpoint">
<optionalConform/>
</deviceType>
</composedDeviceTypes>
</deviceType>
5 changes: 5 additions & 0 deletions data_model/1.6/device_types/Fan.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,9 @@ Davis, CA 95616, USA
<mandatoryConform/>
</cluster>
</clusters>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0301" deviceTypeName="Thermostat" deviceTypeLocation="anywhere">
<optionalConform/>
</deviceType>
</composedDeviceTypes>
</deviceType>
14 changes: 14 additions & 0 deletions data_model/1.6/device_types/FloodlightCamera.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,18 @@ Davis, CA 95616, USA
<revision revision="1" summary="Initial release"/>
</revisionHistory>
<classification class="simple" scope="endpoint"/>
<composedDeviceTypes>
<deviceType deviceTypeId="0x0142" deviceTypeName="Camera" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<constraint>
<allowed value="1"/>
</constraint>
</deviceType>
<deviceType deviceTypeId="0x0100" deviceTypeName="On/Off Light" deviceTypeLocation="childEndpoint">
<mandatoryConform/>
<constraint>
<min value="1"/>
</constraint>
</deviceType>
</composedDeviceTypes>
</deviceType>
Loading
Loading