Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: project-chip/connectedhomeip
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 103820327935d717713cc9de874352f73bb11156
Choose a base ref
..
head repository: project-chip/connectedhomeip
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c7761e15482543cc33f20bbcfc412d2da6fc9627
Choose a head ref
Showing with 21,285 additions and 3,107 deletions.
  1. +9 −0 .github/labeler.yml
  2. +6 −1 .github/workflows/qemu.yaml
  3. +2 −0 .github/workflows/tests.yaml
  4. +202 −0 examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
  5. +202 −0 examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter
  6. +203 −1 examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
  7. +2 −2 examples/all-clusters-app/esp32/sdkconfig_m5stack.defaults
  8. +2 −2 examples/all-clusters-app/esp32/sdkconfig_m5stack_rpc.defaults
  9. +205 −3 examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
  10. +2 −2 examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap
  11. +202 −0 examples/bridge-app/bridge-common/bridge-app.matter
  12. +203 −1 examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
  13. +202 −0 examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter
  14. +202 −0 ...otnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
  15. +202 −0 examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
  16. +202 −0 examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
  17. +202 −0 examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
  18. +202 −0 examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter
  19. +202 −0 examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
  20. +203 −1 examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
  21. +203 −1 examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter
  22. +202 −0 examples/chef/devices/rootnode_dishwasher_cc105034fe.matter
  23. +202 −0 examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
  24. +202 −0 examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
  25. +202 −0 examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
  26. +202 −0 examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
  27. +202 −0 examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter
  28. +202 −0 examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter
  29. +202 −0 examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
  30. +202 −0 examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
  31. +202 −0 examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter
  32. +202 −0 examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
  33. +204 −2 examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
  34. +2 −2 examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.zap
  35. +202 −0 examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
  36. +202 −0 examples/chef/devices/rootnode_onofflight_samplemei.matter
  37. +202 −0 examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
  38. +202 −0 examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
  39. +202 −0 examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
  40. +202 −0 examples/chef/devices/rootnode_pump_5f904818cc.matter
  41. +202 −0 examples/chef/devices/rootnode_pump_a811bb33a0.matter
  42. +202 −0 ...rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter
  43. +202 −0 examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
  44. +202 −0 examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
  45. +202 −0 examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
  46. +202 −0 examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
  47. +202 −0 examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
  48. +203 −1 examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
  49. +202 −0 examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
  50. +2 −2 examples/chef/sample_app_util/test_files/sample_zap_file.zap
  51. +1 −2 examples/chip-tool/commands/common/RemoteDataModelLogger.cpp
  52. +204 −2 examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
  53. +2 −2 examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.zap
  54. +202 −0 examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter
  55. +202 −0 examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter
  56. +202 −0 examples/dishwasher-app/dishwasher-common/dishwasher-app.matter
  57. +202 −0 examples/energy-management-app/energy-management-common/energy-management-app.matter
  58. +1 −2 examples/fabric-admin/commands/common/RemoteDataModelLogger.cpp
  59. +202 −0 examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter
  60. +202 −0 examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter
  61. +202 −0 examples/light-switch-app/light-switch-common/light-switch-app.matter
  62. +202 −0 examples/light-switch-app/qpg/zap/switch.matter
  63. +202 −0 examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
  64. +202 −0 examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
  65. +202 −0 examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
  66. +204 −2 examples/lighting-app/lighting-common/lighting-app.matter
  67. +1 −1 examples/lighting-app/lighting-common/lighting-app.zap
  68. +202 −0 examples/lighting-app/nxp/zap/lighting-on-off.matter
  69. +202 −0 examples/lighting-app/qpg/zap/light.matter
  70. +202 −0 examples/lighting-app/silabs/data_model/lighting-thread-app.matter
  71. +202 −0 examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
  72. +202 −0 examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter
  73. +202 −0 examples/lock-app/lock-common/lock-app.matter
  74. +202 −0 examples/lock-app/nxp/zap/lock-app.matter
  75. +202 −0 examples/lock-app/qpg/zap/lock.matter
  76. +202 −0 examples/log-source-app/log-source-common/log-source-app.matter
  77. +202 −0 examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter
  78. +1 −0 examples/network-manager-app/linux/BUILD.gn
  79. +131 −0 examples/network-manager-app/linux/tbrm.cpp
  80. +264 −0 examples/network-manager-app/network-manager-common/network-manager-app.matter
  81. +223 −0 examples/network-manager-app/network-manager-common/network-manager-app.zap
  82. +202 −0 examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
  83. +202 −0 examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
  84. +204 −2 examples/placeholder/linux/apps/app1/config.matter
  85. +1 −1 examples/placeholder/linux/apps/app1/config.zap
  86. +204 −2 examples/placeholder/linux/apps/app2/config.matter
  87. +1 −1 examples/placeholder/linux/apps/app2/config.zap
  88. +203 −1 examples/pump-app/pump-common/pump-app.matter
  89. +203 −1 examples/pump-app/silabs/data_model/pump-thread-app.matter
  90. +203 −1 examples/pump-app/silabs/data_model/pump-wifi-app.matter
  91. +202 −0 examples/pump-controller-app/pump-controller-common/pump-controller-app.matter
  92. +202 −0 examples/refrigerator-app/refrigerator-common/refrigerator-app.matter
  93. +202 −202 examples/rvc-app/rvc-common/rvc-app.matter
  94. +12 −14 examples/rvc-app/rvc-common/src/rvc-service-area-delegate.cpp
  95. +202 −0 examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter
  96. +202 −0 examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
  97. +202 −0 examples/thermostat/nxp/zap/thermostat_matter_thread.matter
  98. +202 −0 examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
  99. +202 −0 examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
  100. +202 −0 examples/thermostat/thermostat-common/thermostat.matter
  101. +36 −31 examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/utils/ResourceUtils.java
  102. +39 −0 examples/tv-app/android/java/ContentAppCommandDelegate.cpp
  103. +202 −0 examples/tv-app/tv-common/tv-app.matter
  104. +202 −0 examples/tv-casting-app/tv-casting-common/tv-casting-app.matter
  105. +202 −0 examples/virtual-device-app/virtual-device-common/virtual-device-app.matter
  106. +202 −0 examples/window-app/common/window-app.matter
  107. +1 −1 scripts/tests/chiptest/__init__.py
  108. +2 −2 src/app/CommandSender.h
  109. +2 −2 src/app/CommandSenderLegacyCallback.h
  110. +2 −3 src/app/MessageDef/StatusIB.cpp
  111. +1 −8 src/app/MessageDef/StatusIB.h
  112. +2 −2 src/app/ReadClient.h
  113. +2 −2 src/app/TimedRequest.h
  114. +2 −2 src/app/WriteClient.h
  115. +5 −3 src/app/clusters/ecosystem-information-server/ecosystem-information-server.cpp
  116. +2 −2 src/app/clusters/ecosystem-information-server/ecosystem-information-server.h
  117. +12 −10 src/app/clusters/service-area-server/service-area-cluster-objects.h
  118. +8 −8 src/app/clusters/service-area-server/service-area-server.cpp
  119. +9 −8 src/app/clusters/service-area-server/service-area-server.h
  120. +1 −5 src/app/clusters/thread-border-router-management-server/thread-border-router-management-server.h
  121. +2 −1 src/app/clusters/thread-network-directory-server/DefaultThreadNetworkDirectoryStorage.cpp
  122. +2 −2 src/app/codegen-data-model-provider/CodegenDataModelProvider.cpp
  123. +7 −4 src/app/codegen-data-model-provider/CodegenDataModelProvider.h
  124. +9 −6 src/app/codegen-data-model-provider/CodegenDataModelProvider_Read.cpp
  125. +18 −16 src/app/codegen-data-model-provider/CodegenDataModelProvider_Write.cpp
  126. +8 −6 src/app/codegen-data-model-provider/EmberMetadata.cpp
  127. +8 −7 src/app/codegen-data-model-provider/EmberMetadata.h
  128. +4 −1 src/app/codegen-data-model-provider/tests/BUILD.gn
  129. +29 −26 src/app/codegen-data-model-provider/tests/TestCodegenModelViaMocks.cpp
  130. +199 −0 src/app/data-model-provider/ActionReturnStatus.cpp
  131. +97 −0 src/app/data-model-provider/ActionReturnStatus.h
  132. +16 −0 src/app/data-model-provider/BUILD.gn
  133. +18 −20 src/app/data-model-provider/Provider.h
  134. +29 −0 src/app/data-model-provider/StringBuilderAdapters.cpp
  135. +46 −0 src/app/data-model-provider/StringBuilderAdapters.h
  136. +5 −1 src/app/data-model-provider/tests/BUILD.gn
  137. +113 −0 src/app/data-model-provider/tests/TestActionReturnStatus.cpp
  138. +12 −6 src/app/reporting/Engine.cpp
  139. +17 −12 src/app/reporting/Read-Checked.cpp
  140. +5 −3 src/app/reporting/Read-Checked.h
  141. +14 −18 src/app/reporting/Read-DataModel.cpp
  142. +6 −3 src/app/reporting/Read-DataModel.h
  143. +5 −3 src/app/reporting/Read-Ember.cpp
  144. +5 −3 src/app/reporting/Read-Ember.h
  145. +5 −1 src/app/tests/BUILD.gn
  146. +3 −6 src/app/tests/TestStatusIB.cpp
  147. +0 −267 src/app/tests/suites/certification/Test_TC_ICDM_3_3.yaml
  148. +83 −0 src/app/tests/suites/certification/Test_TC_TBRM_2_1.yaml
  149. +0 −1 src/app/tests/suites/manualTests.json
  150. +5 −4 src/app/tests/test-interaction-model-api.cpp
  151. +6 −4 src/app/tests/test-interaction-model-api.h
  152. +0 −10 src/app/zap-templates/zcl/data-model/chip/global-structs.xml
  153. +2 −1 src/app/zap-templates/zcl/data-model/chip/matter-devices.xml
  154. +1 −1 src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml
  155. +0 −14 src/app/zap-templates/zcl/data-model/chip/semantic-tag-namespace-enums.xml
  156. +1 −1 src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml
  157. +2 −2 src/controller/TypedReadCallback.h
  158. +210 −314 src/controller/data_model/controller-clusters.matter
  159. +1 −1 src/controller/data_model/controller-clusters.zap
  160. +243 −243 src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java
  161. +252 −370 src/controller/python/chip/clusters/Objects.py
  162. +5 −3 src/controller/tests/data_model/DataModelFixtures.cpp
  163. +6 −4 src/controller/tests/data_model/DataModelFixtures.h
  164. +2 −2 src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
  165. +196 −294 src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
  166. +1 −1 src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm
  167. +16 −23 src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
  168. +68 −101 src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
  169. +10 −0 src/lib/core/CHIPError.h
  170. +24 −0 src/protocols/interaction_model/StatusCode.cpp
  171. +1 −0 src/protocols/interaction_model/StatusCode.h
  172. +14 −7 src/python_testing/TCP_Tests.py
  173. +139 −0 src/python_testing/TC_CADMIN_1_9.py
  174. +14 −2 src/python_testing/TC_ICDM_2_1.py
  175. +103 −126 src/python_testing/TC_ICDM_3_1.py
  176. +380 −0 src/python_testing/TC_ICDM_3_3.py
  177. +30 −22 src/python_testing/TC_OCC_3_1.py
  178. +60 −101 src/python_testing/TC_OCC_3_2.py
  179. +5 −43 src/python_testing/TC_SWTCH.py
  180. +73 −1 src/python_testing/matter_testing_support.py
  181. +58 −41 src/python_testing/test_testing/test_TC_ICDM_2_1.py
  182. +125 −121 zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
  183. +225 −230 zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
  184. +100 −100 zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
  185. +65 −66 zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
  186. +51 −51 zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
  187. +6 −6 zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
  188. +34 −34 zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
  189. +4 −4 zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
9 changes: 9 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -119,6 +119,15 @@ test driver:
- src/test_driver/*
- src/test_driver/**/*

# Cert tests touched: add current milestone delta-tracking label.
# TODO: Change after Aug 15, 2024
matter-1.4-te2-script-change:
- changed-files:
- any-glob-to-any-file:
- src/python_testing/*
- src/python_testing/**/*
- src/app/tests/suites/certification/*

############################################################
# Source Code
############################################################
7 changes: 6 additions & 1 deletion .github/workflows/qemu.yaml
Original file line number Diff line number Diff line change
@@ -75,7 +75,12 @@ jobs:
name: Tizen

runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
# NOTE: job temporarely disabled as it seems flaky. The flake does not result in usable
# logs so the current theory is that we run out of space. This is unusual as
# larger docker images succeed at bootstrap, however it needs more investigation
# to detect an exact/real root cause.
if: false
# if: github.actor != 'restyled-io[bot]'

container:
image: ghcr.io/project-chip/chip-build-tizen-qemu:54
2 changes: 2 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -511,6 +511,7 @@ jobs:
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_AccessChecker.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_CC_2_2.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_CC_10_1.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_CADMIN_1_9.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_CGEN_2_4.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_CNET_1_4.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_DA_1_2.py'
@@ -548,6 +549,7 @@ jobs:
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_FAN_3_5.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_ICDM_2_1.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_ICDM_3_1.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_ICDM_3_3.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_ICDManagementCluster.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_IDM_1_2.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_IDM_1_4.py'
202 changes: 202 additions & 0 deletions examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
Original file line number Diff line number Diff line change
@@ -1,6 +1,202 @@
// This IDL was generated automatically by ZAP.
// It is for view/code review purposes only.

enum AreaTypeTag : enum8 {
kAisle = 0;
kAttic = 1;
kBackDoor = 2;
kBackYard = 3;
kBalcony = 4;
kBallroom = 5;
kBathroom = 6;
kBedroom = 7;
kBorder = 8;
kBoxroom = 9;
kBreakfastRoom = 10;
kCarport = 11;
kCellar = 12;
kCloakroom = 13;
kCloset = 14;
kConservatory = 15;
kCorridor = 16;
kCraftRoom = 17;
kCupboard = 18;
kDeck = 19;
kDen = 20;
kDining = 21;
kDrawingRoom = 22;
kDressingRoom = 23;
kDriveway = 24;
kElevator = 25;
kEnsuite = 26;
kEntrance = 27;
kEntryway = 28;
kFamilyRoom = 29;
kFoyer = 30;
kFrontDoor = 31;
kFrontYard = 32;
kGameRoom = 33;
kGarage = 34;
kGarageDoor = 35;
kGarden = 36;
kGardenDoor = 37;
kGuestBathroom = 38;
kGuestBedroom = 39;
kGuestRestroom = 40;
kGuestRoom = 41;
kGym = 42;
kHallway = 43;
kHearthRoom = 44;
kKidsRoom = 45;
kKidsBedroom = 46;
kKitchen = 47;
kLarder = 48;
kLaundryRoom = 49;
kLawn = 50;
kLibrary = 51;
kLivingRoom = 52;
kLounge = 53;
kMediaTVRoom = 54;
kMudRoom = 55;
kMusicRoom = 56;
kNursery = 57;
kOffice = 58;
kOutdoorKitchen = 59;
kOutside = 60;
kPantry = 61;
kParkingLot = 62;
kParlor = 63;
kPatio = 64;
kPlayRoom = 65;
kPoolRoom = 66;
kPorch = 67;
kPrimaryBathroom = 68;
kPrimaryBedroom = 69;
kRamp = 70;
kReceptionRoom = 71;
kRecreationRoom = 72;
kRestroom = 73;
kRoof = 74;
kSauna = 75;
kScullery = 76;
kSewingRoom = 77;
kShed = 78;
kSideDoor = 79;
kSideYard = 80;
kSittingRoom = 81;
kSnug = 82;
kSpa = 83;
kStaircase = 84;
kSteamRoom = 85;
kStorageRoom = 86;
kStudio = 87;
kStudy = 88;
kSunRoom = 89;
kSwimmingPool = 90;
kTerrace = 91;
kUtilityRoom = 92;
kWard = 93;
kWorkshop = 94;
}

enum FloorSurfaceTag : enum8 {
kCarpet = 0;
kCeramic = 1;
kConcrete = 2;
kCork = 3;
kDeepCarpet = 4;
kDirt = 5;
kEngineeredWood = 6;
kGlass = 7;
kGrass = 8;
kHardwood = 9;
kLaminate = 10;
kLinoleum = 11;
kMat = 12;
kMetal = 13;
kPlastic = 14;
kPolishedConcrete = 15;
kRubber = 16;
kRug = 17;
kSand = 18;
kStone = 19;
kTatami = 20;
kTerrazzo = 21;
kTile = 22;
kVinyl = 23;
}

enum LandmarkTag : enum8 {
kAirConditioner = 0;
kAirPurifier = 1;
kBackDoor = 2;
kBarStool = 3;
kBathMat = 4;
kBathtub = 5;
kBed = 6;
kBookshelf = 7;
kChair = 8;
kChristmasTree = 9;
kCoatRack = 10;
kCoffeeTable = 11;
kCookingRange = 12;
kCouch = 13;
kCountertop = 14;
kCradle = 15;
kCrib = 16;
kDesk = 17;
kDiningTable = 18;
kDishwasher = 19;
kDoor = 20;
kDresser = 21;
kLaundryDryer = 22;
kFan = 23;
kFireplace = 24;
kFreezer = 25;
kFrontDoor = 26;
kHighChair = 27;
kKitchenIsland = 28;
kLamp = 29;
kLitterBox = 30;
kMirror = 31;
kNightstand = 32;
kOven = 33;
kPetBed = 34;
kPetBowl = 35;
kPetCrate = 36;
kRefrigerator = 37;
kScratchingPost = 38;
kShoeRack = 39;
kShower = 40;
kSideDoor = 41;
kSink = 42;
kSofa = 43;
kStove = 44;
kTable = 45;
kToilet = 46;
kTrashCan = 47;
kLaundryWasher = 48;
kWindow = 49;
kWineCooler = 50;
}

enum PositionTag : enum8 {
kLeft = 0;
kRight = 1;
kTop = 2;
kBottom = 3;
kMiddle = 4;
kRow = 5;
kColumn = 6;
kUnder = 7;
kNextTo = 8;
kAround = 9;
kOn = 10;
kAbove = 11;
kFrontOf = 12;
kBehind = 13;
}

enum TestGlobalEnum : enum8 {
kSomeValue = 0;
kSomeOtherValue = 1;
@@ -18,6 +214,12 @@ struct TestGlobalStruct {
optional nullable TestGlobalEnum myEnum = 2;
}

struct LocationDescriptorStruct {
char_string<128> locationName = 0;
nullable int16s floorNumber = 1;
nullable AreaTypeTag areaType = 2;
}

/** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */
cluster Identify = 3 {
revision 4;
Loading